diff --git a/mongodb/MongoShellLexer.g4 b/mongodb/MongoShellLexer.g4 index e8d6250..3a1e0f8 100644 --- a/mongodb/MongoShellLexer.g4 +++ b/mongodb/MongoShellLexer.g4 @@ -77,6 +77,25 @@ IS_CAPPED: 'isCapped'; VALIDATE: 'validate'; LATENCY_STATS: 'latencyStats'; +// Collection methods (additional) +BULK_WRITE: 'bulkWrite'; +UPDATE: 'update'; +MAP_REDUCE: 'mapReduce'; +FIND_AND_MODIFY: 'findAndModify'; +ANALYZE_SHARD_KEY: 'analyzeShardKey'; +CONFIGURE_QUERY_ANALYZER: 'configureQueryAnalyzer'; +COMPACT_STRUCTURED_ENCRYPTION_DATA: 'compactStructuredEncryptionData'; +HIDE_INDEX: 'hideIndex'; +UNHIDE_INDEX: 'unhideIndex'; +RE_INDEX: 'reIndex'; +GET_SHARD_DISTRIBUTION: 'getShardDistribution'; +GET_SHARD_VERSION: 'getShardVersion'; +// Atlas Search Index methods +CREATE_SEARCH_INDEX: 'createSearchIndex'; +CREATE_SEARCH_INDEXES: 'createSearchIndexes'; +DROP_SEARCH_INDEX: 'dropSearchIndex'; +UPDATE_SEARCH_INDEX: 'updateSearchIndex'; + // Database methods (M4) CREATE_COLLECTION: 'createCollection'; DROP_DATABASE: 'dropDatabase'; @@ -91,6 +110,53 @@ GET_NAME: 'getName'; GET_MONGO: 'getMongo'; GET_SIBLING_DB: 'getSiblingDB'; +// Database methods (additional) +AUTH: 'auth'; +CHANGE_USER_PASSWORD: 'changeUserPassword'; +CLONE_DATABASE: 'cloneDatabase'; +COMMAND_HELP: 'commandHelp'; +COPY_DATABASE: 'copyDatabase'; +CREATE_ROLE: 'createRole'; +CREATE_USER: 'createUser'; +CREATE_VIEW: 'createView'; +CURRENT_OP: 'currentOp'; +DROP_ALL_ROLES: 'dropAllRoles'; +DROP_ALL_USERS: 'dropAllUsers'; +DROP_ROLE: 'dropRole'; +DROP_USER: 'dropUser'; +FSYNC_LOCK: 'fsyncLock'; +FSYNC_UNLOCK: 'fsyncUnlock'; +GET_LOG_COMPONENTS: 'getLogComponents'; +GET_PROFILING_LEVEL: 'getProfilingLevel'; +GET_PROFILING_STATUS: 'getProfilingStatus'; +GET_REPLICATION_INFO: 'getReplicationInfo'; +GET_ROLE: 'getRole'; +GET_ROLES: 'getRoles'; +GET_USER: 'getUser'; +GET_USERS: 'getUsers'; +GRANT_PRIVILEGES_TO_ROLE: 'grantPrivilegesToRole'; +GRANT_ROLES_TO_ROLE: 'grantRolesToRole'; +GRANT_ROLES_TO_USER: 'grantRolesToUser'; +HELLO: 'hello'; +IS_MASTER: 'isMaster'; +KILL_OP: 'killOp'; +LOGOUT: 'logout'; +PRINT_COLLECTION_STATS: 'printCollectionStats'; +PRINT_REPLICATION_INFO: 'printReplicationInfo'; +PRINT_SECONDARY_REPLICATION_INFO: 'printSecondaryReplicationInfo'; +PRINT_SHARDING_STATUS: 'printShardingStatus'; +PRINT_SLAVE_REPLICATION_INFO: 'printSlaveReplicationInfo'; +REVOKE_PRIVILEGES_FROM_ROLE: 'revokePrivilegesFromRole'; +REVOKE_ROLES_FROM_ROLE: 'revokeRolesFromRole'; +REVOKE_ROLES_FROM_USER: 'revokeRolesFromUser'; +ROTATE_CERTIFICATES: 'rotateCertificates'; +SET_LOG_LEVEL: 'setLogLevel'; +SET_PROFILING_LEVEL: 'setProfilingLevel'; +SET_SECONDARY_OK: 'setSecondaryOk'; +SHUTDOWN_SERVER: 'shutdownServer'; +UPDATE_ROLE: 'updateRole'; +UPDATE_USER: 'updateUser'; + // Connection methods MONGO: 'Mongo'; CONNECT: 'connect'; diff --git a/mongodb/MongoShellParser.g4 b/mongodb/MongoShellParser.g4 index b5dc884..af3cc1f 100644 --- a/mongodb/MongoShellParser.g4 +++ b/mongodb/MongoShellParser.g4 @@ -67,15 +67,57 @@ dbStatement | DB DOT GET_NAME LPAREN RPAREN # getName | DB DOT GET_MONGO LPAREN RPAREN # getMongo | DB DOT GET_SIBLING_DB LPAREN argument RPAREN # getSiblingDB - | DB DOT genericDbMethod # dbGenericMethod + | DB DOT AGGREGATE LPAREN arguments? RPAREN # dbAggregate + | DB DOT AUTH LPAREN arguments? RPAREN # dbAuth + | DB DOT CHANGE_USER_PASSWORD LPAREN arguments? RPAREN # dbChangeUserPassword + | DB DOT CLONE_DATABASE LPAREN arguments? RPAREN # dbCloneDatabase + | DB DOT COMMAND_HELP LPAREN arguments? RPAREN # dbCommandHelp + | DB DOT COPY_DATABASE LPAREN arguments? RPAREN # dbCopyDatabase + | DB DOT CREATE_ROLE LPAREN arguments? RPAREN # dbCreateRole + | DB DOT CREATE_USER LPAREN arguments? RPAREN # dbCreateUser + | DB DOT CREATE_VIEW LPAREN arguments? RPAREN # dbCreateView + | DB DOT CURRENT_OP LPAREN arguments? RPAREN # dbCurrentOp + | DB DOT DROP_ALL_ROLES LPAREN arguments? RPAREN # dbDropAllRoles + | DB DOT DROP_ALL_USERS LPAREN arguments? RPAREN # dbDropAllUsers + | DB DOT DROP_ROLE LPAREN arguments? RPAREN # dbDropRole + | DB DOT DROP_USER LPAREN arguments? RPAREN # dbDropUser + | DB DOT FSYNC_LOCK LPAREN arguments? RPAREN # dbFsyncLock + | DB DOT FSYNC_UNLOCK LPAREN arguments? RPAREN # dbFsyncUnlock + | DB DOT GET_LOG_COMPONENTS LPAREN arguments? RPAREN # dbGetLogComponents + | DB DOT GET_PROFILING_LEVEL LPAREN arguments? RPAREN # dbGetProfilingLevel + | DB DOT GET_PROFILING_STATUS LPAREN arguments? RPAREN # dbGetProfilingStatus + | DB DOT GET_REPLICATION_INFO LPAREN arguments? RPAREN # dbGetReplicationInfo + | DB DOT GET_ROLE LPAREN arguments? RPAREN # dbGetRole + | DB DOT GET_ROLES LPAREN arguments? RPAREN # dbGetRoles + | DB DOT GET_USER LPAREN arguments? RPAREN # dbGetUser + | DB DOT GET_USERS LPAREN arguments? RPAREN # dbGetUsers + | DB DOT GRANT_PRIVILEGES_TO_ROLE LPAREN arguments? RPAREN # dbGrantPrivilegesToRole + | DB DOT GRANT_ROLES_TO_ROLE LPAREN arguments? RPAREN # dbGrantRolesToRole + | DB DOT GRANT_ROLES_TO_USER LPAREN arguments? RPAREN # dbGrantRolesToUser + | DB DOT HELLO LPAREN arguments? RPAREN # dbHello + | DB DOT IS_MASTER LPAREN arguments? RPAREN # dbIsMaster + | DB DOT KILL_OP LPAREN arguments? RPAREN # dbKillOp + | DB DOT LOGOUT LPAREN arguments? RPAREN # dbLogout + | DB DOT PRINT_COLLECTION_STATS LPAREN arguments? RPAREN # dbPrintCollectionStats + | DB DOT PRINT_REPLICATION_INFO LPAREN arguments? RPAREN # dbPrintReplicationInfo + | DB DOT PRINT_SECONDARY_REPLICATION_INFO LPAREN arguments? RPAREN # dbPrintSecondaryReplicationInfo + | DB DOT PRINT_SHARDING_STATUS LPAREN arguments? RPAREN # dbPrintShardingStatus + | DB DOT PRINT_SLAVE_REPLICATION_INFO LPAREN arguments? RPAREN # dbPrintSlaveReplicationInfo + | DB DOT REVOKE_PRIVILEGES_FROM_ROLE LPAREN arguments? RPAREN # dbRevokePrivilegesFromRole + | DB DOT REVOKE_ROLES_FROM_ROLE LPAREN arguments? RPAREN # dbRevokeRolesFromRole + | DB DOT REVOKE_ROLES_FROM_USER LPAREN arguments? RPAREN # dbRevokeRolesFromUser + | DB DOT ROTATE_CERTIFICATES LPAREN arguments? RPAREN # dbRotateCertificates + | DB DOT SET_LOG_LEVEL LPAREN arguments? RPAREN # dbSetLogLevel + | DB DOT SET_PROFILING_LEVEL LPAREN arguments? RPAREN # dbSetProfilingLevel + | DB DOT SET_SECONDARY_OK LPAREN arguments? RPAREN # dbSetSecondaryOk + | DB DOT SET_WRITE_CONCERN LPAREN arguments? RPAREN # dbSetWriteConcern + | DB DOT SHUTDOWN_SERVER LPAREN arguments? RPAREN # dbShutdownServer + | DB DOT UPDATE_ROLE LPAREN arguments? RPAREN # dbUpdateRole + | DB DOT UPDATE_USER LPAREN arguments? RPAREN # dbUpdateUser + | DB DOT WATCH LPAREN arguments? RPAREN # dbWatch | DB collectionAccess methodChain # collectionOperation ; -// Generic database method for extensibility (unsupported methods) -genericDbMethod - : identifier LPAREN arguments? RPAREN - ; - // Bulk operation statements // Pattern: db.collection.initializeOrderedBulkOp().find(...).update(...).execute() bulkStatement @@ -171,13 +213,15 @@ collectionAccess | DOT GET_COLLECTION LPAREN stringLiteral RPAREN # getCollectionAccess ; -// Method chain: one or more method calls chained with dots +// Method chain: first call must be a collection method, subsequent calls are cursor methods. +// Special case: explain() returns an explainable object that supports collection methods. methodChain - : DOT methodCall (DOT methodCall)* + : DOT collectionExplainMethod DOT collectionMethodCall (DOT cursorMethodCall)* + | DOT collectionMethodCall (DOT cursorMethodCall)* ; -// Method call: methodName(arguments?) -methodCall +// Collection method call: methods that operate on a collection directly +collectionMethodCall : findMethod | findOneMethod | countDocumentsMethod @@ -209,7 +253,32 @@ methodCall | isCappedMethod | validateMethod | latencyStatsMethod - | sortMethod + | watchMethod + | bulkWriteMethod + | collectionCountMethod + | collectionInsertMethod + | collectionRemoveMethod + | updateMethod + | mapReduceMethod + | findAndModifyMethod + | collectionExplainMethod + | analyzeShardKeyMethod + | configureQueryAnalyzerMethod + | compactStructuredEncryptionDataMethod + | hideIndexMethod + | unhideIndexMethod + | reIndexMethod + | getShardDistributionMethod + | getShardVersionMethod + | createSearchIndexMethod + | createSearchIndexesMethod + | dropSearchIndexMethod + | updateSearchIndexMethod + ; + +// Cursor method call: methods that operate on a cursor (chainable after collection methods) +cursorMethodCall + : sortMethod | limitMethod | skipMethod | countMethod @@ -244,7 +313,6 @@ methodCall | tryNextMethod | allowDiskUseMethod | addOptionMethod - | genericMethod ; // Specific method rules for better AST structure @@ -403,6 +471,111 @@ latencyStatsMethod : LATENCY_STATS LPAREN argument? RPAREN ; +// watch(pipeline?, options?) +watchMethod + : WATCH LPAREN arguments? RPAREN + ; + +// bulkWrite(operations, options?) +bulkWriteMethod + : BULK_WRITE LPAREN arguments RPAREN + ; + +// count(filter?, options?) - deprecated collection-level count +collectionCountMethod + : COUNT LPAREN arguments? RPAREN + ; + +// insert(document/array, options?) - deprecated +collectionInsertMethod + : INSERT LPAREN arguments RPAREN + ; + +// remove(filter, options?) - deprecated +collectionRemoveMethod + : REMOVE LPAREN arguments RPAREN + ; + +// update(filter, update, options?) - deprecated +updateMethod + : UPDATE LPAREN arguments RPAREN + ; + +// mapReduce(map, reduce, options?) - deprecated +mapReduceMethod + : MAP_REDUCE LPAREN arguments RPAREN + ; + +// findAndModify(document) +findAndModifyMethod + : FIND_AND_MODIFY LPAREN arguments RPAREN + ; + +// explain(verbosity?) - collection-level explain +collectionExplainMethod + : EXPLAIN LPAREN arguments? RPAREN + ; + +// analyzeShardKey(key, options?) +analyzeShardKeyMethod + : ANALYZE_SHARD_KEY LPAREN arguments RPAREN + ; + +// configureQueryAnalyzer(options) +configureQueryAnalyzerMethod + : CONFIGURE_QUERY_ANALYZER LPAREN arguments RPAREN + ; + +// compactStructuredEncryptionData(options?) +compactStructuredEncryptionDataMethod + : COMPACT_STRUCTURED_ENCRYPTION_DATA LPAREN arguments? RPAREN + ; + +// hideIndex(indexName/spec) +hideIndexMethod + : HIDE_INDEX LPAREN argument RPAREN + ; + +// unhideIndex(indexName/spec) +unhideIndexMethod + : UNHIDE_INDEX LPAREN argument RPAREN + ; + +// reIndex() +reIndexMethod + : RE_INDEX LPAREN RPAREN + ; + +// getShardDistribution() +getShardDistributionMethod + : GET_SHARD_DISTRIBUTION LPAREN RPAREN + ; + +// getShardVersion() +getShardVersionMethod + : GET_SHARD_VERSION LPAREN RPAREN + ; + +// createSearchIndex(definition) +createSearchIndexMethod + : CREATE_SEARCH_INDEX LPAREN arguments RPAREN + ; + +// createSearchIndexes(definitions) +createSearchIndexesMethod + : CREATE_SEARCH_INDEXES LPAREN arguments RPAREN + ; + +// dropSearchIndex(name) +dropSearchIndexMethod + : DROP_SEARCH_INDEX LPAREN argument RPAREN + ; + +// updateSearchIndex(name, definition) +updateSearchIndexMethod + : UPDATE_SEARCH_INDEX LPAREN arguments RPAREN + ; + // sort(specification?) - can be called without args sortMethod : SORT LPAREN document? RPAREN @@ -555,11 +728,6 @@ addOptionMethod : ADD_OPTION LPAREN NUMBER RPAREN ; -// Generic method for extensibility (other methods will be caught here) -genericMethod - : identifier LPAREN arguments? RPAREN - ; - // Arguments: comma-separated list of values arguments : argument (COMMA argument)* COMMA? @@ -862,4 +1030,67 @@ identifier | GET_CLIENT_ENCRYPTION // Plan cache method tokens | GET_PLAN_CACHE + // Collection method tokens (additional) + | BULK_WRITE + | UPDATE + | MAP_REDUCE + | FIND_AND_MODIFY + | ANALYZE_SHARD_KEY + | CONFIGURE_QUERY_ANALYZER + | COMPACT_STRUCTURED_ENCRYPTION_DATA + | HIDE_INDEX + | UNHIDE_INDEX + | RE_INDEX + | GET_SHARD_DISTRIBUTION + | GET_SHARD_VERSION + | CREATE_SEARCH_INDEX + | CREATE_SEARCH_INDEXES + | DROP_SEARCH_INDEX + | UPDATE_SEARCH_INDEX + // Database method tokens (additional) + | AUTH + | CHANGE_USER_PASSWORD + | CLONE_DATABASE + | COMMAND_HELP + | COPY_DATABASE + | CREATE_ROLE + | CREATE_USER + | CREATE_VIEW + | CURRENT_OP + | DROP_ALL_ROLES + | DROP_ALL_USERS + | DROP_ROLE + | DROP_USER + | FSYNC_LOCK + | FSYNC_UNLOCK + | GET_LOG_COMPONENTS + | GET_PROFILING_LEVEL + | GET_PROFILING_STATUS + | GET_REPLICATION_INFO + | GET_ROLE + | GET_ROLES + | GET_USER + | GET_USERS + | GRANT_PRIVILEGES_TO_ROLE + | GRANT_ROLES_TO_ROLE + | GRANT_ROLES_TO_USER + | HELLO + | IS_MASTER + | KILL_OP + | LOGOUT + | PRINT_COLLECTION_STATS + | PRINT_REPLICATION_INFO + | PRINT_SECONDARY_REPLICATION_INFO + | PRINT_SHARDING_STATUS + | PRINT_SLAVE_REPLICATION_INFO + | REVOKE_PRIVILEGES_FROM_ROLE + | REVOKE_ROLES_FROM_ROLE + | REVOKE_ROLES_FROM_USER + | ROTATE_CERTIFICATES + | SET_LOG_LEVEL + | SET_PROFILING_LEVEL + | SET_SECONDARY_OK + | SHUTDOWN_SERVER + | UPDATE_ROLE + | UPDATE_USER ; diff --git a/mongodb/mongoshell_lexer.go b/mongodb/mongoshell_lexer.go index 0fed6ba..0d46a46 100644 --- a/mongodb/mongoshell_lexer.go +++ b/mongodb/mongoshell_lexer.go @@ -55,23 +55,38 @@ func mongoshelllexerLexerInit() { "'findOneAndDelete'", "'createIndex'", "'createIndexes'", "'dropIndex'", "'dropIndexes'", "'drop'", "'renameCollection'", "'stats'", "'storageSize'", "'totalIndexSize'", "'totalSize'", "'dataSize'", "'isCapped'", "'validate'", - "'latencyStats'", "'createCollection'", "'dropDatabase'", "'hostInfo'", - "'listCommands'", "'serverBuildInfo'", "'serverStatus'", "'version'", - "'runCommand'", "'adminCommand'", "'getName'", "'getMongo'", "'getSiblingDB'", - "'Mongo'", "'connect'", "'rs'", "'sh'", "'sp'", "'getDB'", "'getReadConcern'", - "'getReadPref'", "'getReadPrefMode'", "'getReadPrefTagSet'", "'getWriteConcern'", - "'setReadPref'", "'setReadConcern'", "'setWriteConcern'", "'startSession'", - "'watch'", "'getDBNames'", "'getKeyVault'", "'getClientEncryption'", - "'getPlanCache'", "'sort'", "'limit'", "'skip'", "'projection'", "'project'", - "'count'", "'initializeOrderedBulkOp'", "'initializeUnorderedBulkOp'", - "'execute'", "'getOperations'", "'toString'", "'insert'", "'remove'", - "'batchSize'", "'close'", "'collation'", "'comment'", "'explain'", "'forEach'", - "'hasNext'", "'hint'", "'isClosed'", "'isExhausted'", "'itcount'", "'map'", - "'max'", "'maxAwaitTimeMS'", "'maxTimeMS'", "'min'", "'next'", "'noCursorTimeout'", - "'objsLeftInBatch'", "'pretty'", "'readConcern'", "'readPref'", "'returnKey'", - "'showRecordId'", "'size'", "'tailable'", "'toArray'", "'tryNext'", - "'allowDiskUse'", "'addOption'", "'('", "')'", "'{'", "'}'", "'['", - "']'", "':'", "','", "'.'", "';'", "'$'", + "'latencyStats'", "'bulkWrite'", "'update'", "'mapReduce'", "'findAndModify'", + "'analyzeShardKey'", "'configureQueryAnalyzer'", "'compactStructuredEncryptionData'", + "'hideIndex'", "'unhideIndex'", "'reIndex'", "'getShardDistribution'", + "'getShardVersion'", "'createSearchIndex'", "'createSearchIndexes'", + "'dropSearchIndex'", "'updateSearchIndex'", "'createCollection'", "'dropDatabase'", + "'hostInfo'", "'listCommands'", "'serverBuildInfo'", "'serverStatus'", + "'version'", "'runCommand'", "'adminCommand'", "'getName'", "'getMongo'", + "'getSiblingDB'", "'auth'", "'changeUserPassword'", "'cloneDatabase'", + "'commandHelp'", "'copyDatabase'", "'createRole'", "'createUser'", "'createView'", + "'currentOp'", "'dropAllRoles'", "'dropAllUsers'", "'dropRole'", "'dropUser'", + "'fsyncLock'", "'fsyncUnlock'", "'getLogComponents'", "'getProfilingLevel'", + "'getProfilingStatus'", "'getReplicationInfo'", "'getRole'", "'getRoles'", + "'getUser'", "'getUsers'", "'grantPrivilegesToRole'", "'grantRolesToRole'", + "'grantRolesToUser'", "'hello'", "'isMaster'", "'killOp'", "'logout'", + "'printCollectionStats'", "'printReplicationInfo'", "'printSecondaryReplicationInfo'", + "'printShardingStatus'", "'printSlaveReplicationInfo'", "'revokePrivilegesFromRole'", + "'revokeRolesFromRole'", "'revokeRolesFromUser'", "'rotateCertificates'", + "'setLogLevel'", "'setProfilingLevel'", "'setSecondaryOk'", "'shutdownServer'", + "'updateRole'", "'updateUser'", "'Mongo'", "'connect'", "'rs'", "'sh'", + "'sp'", "'getDB'", "'getReadConcern'", "'getReadPref'", "'getReadPrefMode'", + "'getReadPrefTagSet'", "'getWriteConcern'", "'setReadPref'", "'setReadConcern'", + "'setWriteConcern'", "'startSession'", "'watch'", "'getDBNames'", "'getKeyVault'", + "'getClientEncryption'", "'getPlanCache'", "'sort'", "'limit'", "'skip'", + "'projection'", "'project'", "'count'", "'initializeOrderedBulkOp'", + "'initializeUnorderedBulkOp'", "'execute'", "'getOperations'", "'toString'", + "'insert'", "'remove'", "'batchSize'", "'close'", "'collation'", "'comment'", + "'explain'", "'forEach'", "'hasNext'", "'hint'", "'isClosed'", "'isExhausted'", + "'itcount'", "'map'", "'max'", "'maxAwaitTimeMS'", "'maxTimeMS'", "'min'", + "'next'", "'noCursorTimeout'", "'objsLeftInBatch'", "'pretty'", "'readConcern'", + "'readPref'", "'returnKey'", "'showRecordId'", "'size'", "'tailable'", + "'toArray'", "'tryNext'", "'allowDiskUse'", "'addOption'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "':'", "','", "'.'", "';'", "'$'", } staticData.SymbolicNames = []string{ "", "SHOW", "DBS", "DATABASES", "COLLECTIONS", "DB", "NEW", "TRUE", @@ -85,11 +100,26 @@ func mongoshelllexerLexerInit() { "FIND_ONE_AND_REPLACE", "FIND_ONE_AND_DELETE", "CREATE_INDEX", "CREATE_INDEXES", "DROP_INDEX", "DROP_INDEXES", "DROP", "RENAME_COLLECTION", "STATS", "STORAGE_SIZE", "TOTAL_INDEX_SIZE", "TOTAL_SIZE", "DATA_SIZE", "IS_CAPPED", - "VALIDATE", "LATENCY_STATS", "CREATE_COLLECTION", "DROP_DATABASE", "HOST_INFO", - "LIST_COMMANDS", "SERVER_BUILD_INFO", "SERVER_STATUS", "VERSION", "RUN_COMMAND", - "ADMIN_COMMAND", "GET_NAME", "GET_MONGO", "GET_SIBLING_DB", "MONGO", - "CONNECT", "RS", "SH", "SP", "GET_DB", "GET_READ_CONCERN", "GET_READ_PREF", - "GET_READ_PREF_MODE", "GET_READ_PREF_TAG_SET", "GET_WRITE_CONCERN", + "VALIDATE", "LATENCY_STATS", "BULK_WRITE", "UPDATE", "MAP_REDUCE", "FIND_AND_MODIFY", + "ANALYZE_SHARD_KEY", "CONFIGURE_QUERY_ANALYZER", "COMPACT_STRUCTURED_ENCRYPTION_DATA", + "HIDE_INDEX", "UNHIDE_INDEX", "RE_INDEX", "GET_SHARD_DISTRIBUTION", + "GET_SHARD_VERSION", "CREATE_SEARCH_INDEX", "CREATE_SEARCH_INDEXES", + "DROP_SEARCH_INDEX", "UPDATE_SEARCH_INDEX", "CREATE_COLLECTION", "DROP_DATABASE", + "HOST_INFO", "LIST_COMMANDS", "SERVER_BUILD_INFO", "SERVER_STATUS", + "VERSION", "RUN_COMMAND", "ADMIN_COMMAND", "GET_NAME", "GET_MONGO", + "GET_SIBLING_DB", "AUTH", "CHANGE_USER_PASSWORD", "CLONE_DATABASE", + "COMMAND_HELP", "COPY_DATABASE", "CREATE_ROLE", "CREATE_USER", "CREATE_VIEW", + "CURRENT_OP", "DROP_ALL_ROLES", "DROP_ALL_USERS", "DROP_ROLE", "DROP_USER", + "FSYNC_LOCK", "FSYNC_UNLOCK", "GET_LOG_COMPONENTS", "GET_PROFILING_LEVEL", + "GET_PROFILING_STATUS", "GET_REPLICATION_INFO", "GET_ROLE", "GET_ROLES", + "GET_USER", "GET_USERS", "GRANT_PRIVILEGES_TO_ROLE", "GRANT_ROLES_TO_ROLE", + "GRANT_ROLES_TO_USER", "HELLO", "IS_MASTER", "KILL_OP", "LOGOUT", "PRINT_COLLECTION_STATS", + "PRINT_REPLICATION_INFO", "PRINT_SECONDARY_REPLICATION_INFO", "PRINT_SHARDING_STATUS", + "PRINT_SLAVE_REPLICATION_INFO", "REVOKE_PRIVILEGES_FROM_ROLE", "REVOKE_ROLES_FROM_ROLE", + "REVOKE_ROLES_FROM_USER", "ROTATE_CERTIFICATES", "SET_LOG_LEVEL", "SET_PROFILING_LEVEL", + "SET_SECONDARY_OK", "SHUTDOWN_SERVER", "UPDATE_ROLE", "UPDATE_USER", + "MONGO", "CONNECT", "RS", "SH", "SP", "GET_DB", "GET_READ_CONCERN", + "GET_READ_PREF", "GET_READ_PREF_MODE", "GET_READ_PREF_TAG_SET", "GET_WRITE_CONCERN", "SET_READ_PREF", "SET_READ_CONCERN", "SET_WRITE_CONCERN", "START_SESSION", "WATCH", "GET_DB_NAMES", "GET_KEY_VAULT", "GET_CLIENT_ENCRYPTION", "GET_PLAN_CACHE", "SORT", "LIMIT", "SKIP_", "PROJECTION", "PROJECT", "COUNT", "INITIALIZE_ORDERED_BULK_OP", @@ -116,11 +146,26 @@ func mongoshelllexerLexerInit() { "FIND_ONE_AND_REPLACE", "FIND_ONE_AND_DELETE", "CREATE_INDEX", "CREATE_INDEXES", "DROP_INDEX", "DROP_INDEXES", "DROP", "RENAME_COLLECTION", "STATS", "STORAGE_SIZE", "TOTAL_INDEX_SIZE", "TOTAL_SIZE", "DATA_SIZE", "IS_CAPPED", - "VALIDATE", "LATENCY_STATS", "CREATE_COLLECTION", "DROP_DATABASE", "HOST_INFO", - "LIST_COMMANDS", "SERVER_BUILD_INFO", "SERVER_STATUS", "VERSION", "RUN_COMMAND", - "ADMIN_COMMAND", "GET_NAME", "GET_MONGO", "GET_SIBLING_DB", "MONGO", - "CONNECT", "RS", "SH", "SP", "GET_DB", "GET_READ_CONCERN", "GET_READ_PREF", - "GET_READ_PREF_MODE", "GET_READ_PREF_TAG_SET", "GET_WRITE_CONCERN", + "VALIDATE", "LATENCY_STATS", "BULK_WRITE", "UPDATE", "MAP_REDUCE", "FIND_AND_MODIFY", + "ANALYZE_SHARD_KEY", "CONFIGURE_QUERY_ANALYZER", "COMPACT_STRUCTURED_ENCRYPTION_DATA", + "HIDE_INDEX", "UNHIDE_INDEX", "RE_INDEX", "GET_SHARD_DISTRIBUTION", + "GET_SHARD_VERSION", "CREATE_SEARCH_INDEX", "CREATE_SEARCH_INDEXES", + "DROP_SEARCH_INDEX", "UPDATE_SEARCH_INDEX", "CREATE_COLLECTION", "DROP_DATABASE", + "HOST_INFO", "LIST_COMMANDS", "SERVER_BUILD_INFO", "SERVER_STATUS", + "VERSION", "RUN_COMMAND", "ADMIN_COMMAND", "GET_NAME", "GET_MONGO", + "GET_SIBLING_DB", "AUTH", "CHANGE_USER_PASSWORD", "CLONE_DATABASE", + "COMMAND_HELP", "COPY_DATABASE", "CREATE_ROLE", "CREATE_USER", "CREATE_VIEW", + "CURRENT_OP", "DROP_ALL_ROLES", "DROP_ALL_USERS", "DROP_ROLE", "DROP_USER", + "FSYNC_LOCK", "FSYNC_UNLOCK", "GET_LOG_COMPONENTS", "GET_PROFILING_LEVEL", + "GET_PROFILING_STATUS", "GET_REPLICATION_INFO", "GET_ROLE", "GET_ROLES", + "GET_USER", "GET_USERS", "GRANT_PRIVILEGES_TO_ROLE", "GRANT_ROLES_TO_ROLE", + "GRANT_ROLES_TO_USER", "HELLO", "IS_MASTER", "KILL_OP", "LOGOUT", "PRINT_COLLECTION_STATS", + "PRINT_REPLICATION_INFO", "PRINT_SECONDARY_REPLICATION_INFO", "PRINT_SHARDING_STATUS", + "PRINT_SLAVE_REPLICATION_INFO", "REVOKE_PRIVILEGES_FROM_ROLE", "REVOKE_ROLES_FROM_ROLE", + "REVOKE_ROLES_FROM_USER", "ROTATE_CERTIFICATES", "SET_LOG_LEVEL", "SET_PROFILING_LEVEL", + "SET_SECONDARY_OK", "SHUTDOWN_SERVER", "UPDATE_ROLE", "UPDATE_USER", + "MONGO", "CONNECT", "RS", "SH", "SP", "GET_DB", "GET_READ_CONCERN", + "GET_READ_PREF", "GET_READ_PREF_MODE", "GET_READ_PREF_TAG_SET", "GET_WRITE_CONCERN", "SET_READ_PREF", "SET_READ_CONCERN", "SET_WRITE_CONCERN", "START_SESSION", "WATCH", "GET_DB_NAMES", "GET_KEY_VAULT", "GET_CLIENT_ENCRYPTION", "GET_PLAN_CACHE", "SORT", "LIMIT", "SKIP_", "PROJECTION", "PROJECT", "COUNT", "INITIALIZE_ORDERED_BULK_OP", @@ -138,7 +183,7 @@ func mongoshelllexerLexerInit() { } staticData.PredictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 0, 154, 1870, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, + 4, 0, 215, 2891, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, @@ -170,817 +215,1293 @@ func mongoshelllexerLexerInit() { 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, - 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, - 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, - 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, - 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, - 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, + 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, + 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, + 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, + 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 2, 175, 7, 175, + 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180, + 7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, + 2, 185, 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, + 7, 189, 2, 190, 7, 190, 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, 193, + 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196, 2, 197, 7, 197, 2, 198, + 7, 198, 2, 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, 2, 202, 7, 202, + 2, 203, 7, 203, 2, 204, 7, 204, 2, 205, 7, 205, 2, 206, 7, 206, 2, 207, + 7, 207, 2, 208, 7, 208, 2, 209, 7, 209, 2, 210, 7, 210, 2, 211, 7, 211, + 2, 212, 7, 212, 2, 213, 7, 213, 2, 214, 7, 214, 2, 215, 7, 215, 2, 216, + 7, 216, 2, 217, 7, 217, 2, 218, 7, 218, 2, 219, 7, 219, 2, 220, 7, 220, + 2, 221, 7, 221, 2, 222, 7, 222, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, + 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, + 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, + 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, + 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, - 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, - 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, - 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, - 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, - 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, - 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, - 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, - 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, - 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, - 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, - 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, - 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, - 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, - 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, - 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, - 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, - 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, + 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, + 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, + 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, + 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, + 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, + 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, + 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, + 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, + 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, + 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, + 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, + 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, + 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, + 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, + 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, + 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, + 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, - 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, + 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, - 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, - 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, - 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, - 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, - 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, - 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, - 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, - 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, - 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, - 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, - 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, - 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, - 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, - 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, + 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, + 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, + 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, + 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, + 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, + 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, + 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, + 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, + 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, + 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, + 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, + 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, + 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, + 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, - 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, - 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, - 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, - 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, - 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, - 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, - 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, - 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, - 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, - 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, - 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, - 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, - 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, - 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, - 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, - 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, - 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, - 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, - 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, - 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, - 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, - 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, - 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, - 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, - 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, - 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, - 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, - 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, - 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, - 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, - 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, + 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, + 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, + 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, + 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, + 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, + 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, + 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, + 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, + 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, + 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, + 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, + 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, + 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, + 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, + 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, + 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, + 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, + 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, + 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, + 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, + 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, + 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, + 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, + 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, + 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, + 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, + 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, + 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, + 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, + 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, + 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, + 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, + 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, + 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, + 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, + 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, + 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, + 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, + 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, + 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, + 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, - 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, - 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, + 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, + 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, - 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, - 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, - 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, - 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, - 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, + 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, + 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, + 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, - 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, - 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, - 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, - 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, - 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, - 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, - 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, - 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, - 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, - 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, - 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, - 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, - 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, - 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, - 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, - 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, - 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, - 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, - 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, + 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, + 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, + 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, + 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, + 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, + 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, + 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, + 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, + 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, + 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, + 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, + 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, + 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, + 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, + 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, + 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, + 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, + 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, - 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, - 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, - 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, - 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, - 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, - 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, - 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, - 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, - 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, - 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, - 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, + 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, + 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, + 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, + 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, + 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, + 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, + 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, + 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, + 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, + 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, + 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, + 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, + 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, + 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, + 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, + 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, + 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, + 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, + 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, - 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, + 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, + 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, - 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, - 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, - 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, + 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, + 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, + 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, + 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, + 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, + 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, + 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, - 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, + 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, + 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, + 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, - 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, + 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, + 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, + 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, - 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, - 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, - 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, - 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, - 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, - 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, - 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, - 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, - 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, - 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 136, 1, 136, - 1, 137, 1, 137, 1, 138, 1, 138, 1, 139, 1, 139, 1, 140, 1, 140, 1, 141, - 1, 141, 1, 142, 1, 142, 1, 143, 1, 143, 1, 144, 1, 144, 1, 145, 1, 145, - 1, 146, 1, 146, 1, 146, 1, 146, 5, 146, 1733, 8, 146, 10, 146, 12, 146, - 1736, 9, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 5, 147, 1744, - 8, 147, 10, 147, 12, 147, 1747, 9, 147, 1, 147, 1, 147, 1, 147, 1, 147, - 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 3, 148, 1758, 8, 148, 1, 149, 4, - 149, 1761, 8, 149, 11, 149, 12, 149, 1762, 1, 150, 1, 150, 1, 150, 3, 150, - 1768, 8, 150, 1, 151, 4, 151, 1771, 8, 151, 11, 151, 12, 151, 1772, 1, - 152, 3, 152, 1776, 8, 152, 1, 152, 1, 152, 1, 152, 4, 152, 1781, 8, 152, - 11, 152, 12, 152, 1782, 3, 152, 1785, 8, 152, 1, 152, 3, 152, 1788, 8, - 152, 1, 152, 3, 152, 1791, 8, 152, 1, 152, 1, 152, 4, 152, 1795, 8, 152, - 11, 152, 12, 152, 1796, 1, 152, 3, 152, 1800, 8, 152, 3, 152, 1802, 8, - 152, 1, 153, 1, 153, 1, 153, 5, 153, 1807, 8, 153, 10, 153, 12, 153, 1810, - 9, 153, 3, 153, 1812, 8, 153, 1, 154, 1, 154, 3, 154, 1816, 8, 154, 1, - 154, 4, 154, 1819, 8, 154, 11, 154, 12, 154, 1820, 1, 155, 1, 155, 1, 155, - 5, 155, 1826, 8, 155, 10, 155, 12, 155, 1829, 9, 155, 1, 155, 1, 155, 1, - 156, 1, 156, 1, 156, 5, 156, 1836, 8, 156, 10, 156, 12, 156, 1839, 9, 156, - 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 3, 157, 1847, 8, 157, 1, - 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 160, 1, - 160, 5, 160, 1859, 8, 160, 10, 160, 12, 160, 1862, 9, 160, 1, 161, 4, 161, - 1865, 8, 161, 11, 161, 12, 161, 1866, 1, 161, 1, 161, 1, 1745, 0, 162, - 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, - 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, - 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, - 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, - 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, - 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, - 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, - 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, - 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, - 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, - 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, - 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, - 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, - 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, - 237, 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, 249, 125, 251, - 126, 253, 127, 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, 133, - 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, 277, 139, 279, 140, 281, - 141, 283, 142, 285, 143, 287, 144, 289, 145, 291, 146, 293, 147, 295, 148, - 297, 149, 299, 0, 301, 0, 303, 0, 305, 150, 307, 0, 309, 0, 311, 151, 313, - 152, 315, 0, 317, 0, 319, 0, 321, 153, 323, 154, 1, 0, 14, 2, 0, 10, 10, - 13, 13, 4, 0, 10, 10, 13, 13, 47, 47, 92, 92, 6, 0, 103, 103, 105, 105, - 109, 109, 115, 115, 117, 117, 121, 121, 1, 0, 48, 57, 1, 0, 49, 57, 2, - 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 2, 0, 34, 34, 92, 92, 2, 0, - 39, 39, 92, 92, 8, 0, 34, 34, 47, 47, 92, 92, 98, 98, 102, 102, 110, 110, - 114, 114, 116, 116, 3, 0, 48, 57, 65, 70, 97, 102, 4, 0, 36, 36, 65, 90, - 95, 95, 97, 122, 5, 0, 36, 36, 48, 57, 65, 90, 95, 95, 97, 122, 3, 0, 9, - 10, 13, 13, 32, 32, 1887, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, - 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, - 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, - 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, - 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, - 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, - 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, - 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, - 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, - 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, - 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, - 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, - 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, - 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, - 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, - 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, - 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, - 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, - 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, - 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, - 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, - 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, - 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, - 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, - 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, - 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, - 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, - 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, - 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, - 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, - 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, - 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, - 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, - 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, - 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, - 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, - 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, - 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, - 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, - 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, - 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, 1, 0, 0, 0, 0, 305, - 1, 0, 0, 0, 0, 311, 1, 0, 0, 0, 0, 313, 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, - 0, 323, 1, 0, 0, 0, 1, 325, 1, 0, 0, 0, 3, 330, 1, 0, 0, 0, 5, 334, 1, - 0, 0, 0, 7, 344, 1, 0, 0, 0, 9, 356, 1, 0, 0, 0, 11, 359, 1, 0, 0, 0, 13, - 363, 1, 0, 0, 0, 15, 368, 1, 0, 0, 0, 17, 374, 1, 0, 0, 0, 19, 379, 1, - 0, 0, 0, 21, 393, 1, 0, 0, 0, 23, 412, 1, 0, 0, 0, 25, 431, 1, 0, 0, 0, - 27, 440, 1, 0, 0, 0, 29, 448, 1, 0, 0, 0, 31, 453, 1, 0, 0, 0, 33, 458, - 1, 0, 0, 0, 35, 463, 1, 0, 0, 0, 37, 474, 1, 0, 0, 0, 39, 480, 1, 0, 0, - 0, 41, 490, 1, 0, 0, 0, 43, 497, 1, 0, 0, 0, 45, 508, 1, 0, 0, 0, 47, 522, - 1, 0, 0, 0, 49, 532, 1, 0, 0, 0, 51, 539, 1, 0, 0, 0, 53, 547, 1, 0, 0, - 0, 55, 554, 1, 0, 0, 0, 57, 565, 1, 0, 0, 0, 59, 573, 1, 0, 0, 0, 61, 578, - 1, 0, 0, 0, 63, 586, 1, 0, 0, 0, 65, 601, 1, 0, 0, 0, 67, 624, 1, 0, 0, - 0, 69, 633, 1, 0, 0, 0, 71, 643, 1, 0, 0, 0, 73, 654, 1, 0, 0, 0, 75, 664, - 1, 0, 0, 0, 77, 675, 1, 0, 0, 0, 79, 685, 1, 0, 0, 0, 81, 696, 1, 0, 0, - 0, 83, 706, 1, 0, 0, 0, 85, 717, 1, 0, 0, 0, 87, 728, 1, 0, 0, 0, 89, 745, - 1, 0, 0, 0, 91, 763, 1, 0, 0, 0, 93, 780, 1, 0, 0, 0, 95, 792, 1, 0, 0, - 0, 97, 806, 1, 0, 0, 0, 99, 816, 1, 0, 0, 0, 101, 828, 1, 0, 0, 0, 103, - 833, 1, 0, 0, 0, 105, 850, 1, 0, 0, 0, 107, 856, 1, 0, 0, 0, 109, 868, - 1, 0, 0, 0, 111, 883, 1, 0, 0, 0, 113, 893, 1, 0, 0, 0, 115, 902, 1, 0, - 0, 0, 117, 911, 1, 0, 0, 0, 119, 920, 1, 0, 0, 0, 121, 933, 1, 0, 0, 0, - 123, 950, 1, 0, 0, 0, 125, 963, 1, 0, 0, 0, 127, 972, 1, 0, 0, 0, 129, - 985, 1, 0, 0, 0, 131, 1001, 1, 0, 0, 0, 133, 1014, 1, 0, 0, 0, 135, 1022, - 1, 0, 0, 0, 137, 1033, 1, 0, 0, 0, 139, 1046, 1, 0, 0, 0, 141, 1054, 1, - 0, 0, 0, 143, 1063, 1, 0, 0, 0, 145, 1076, 1, 0, 0, 0, 147, 1082, 1, 0, - 0, 0, 149, 1090, 1, 0, 0, 0, 151, 1093, 1, 0, 0, 0, 153, 1096, 1, 0, 0, - 0, 155, 1099, 1, 0, 0, 0, 157, 1105, 1, 0, 0, 0, 159, 1120, 1, 0, 0, 0, - 161, 1132, 1, 0, 0, 0, 163, 1148, 1, 0, 0, 0, 165, 1166, 1, 0, 0, 0, 167, - 1182, 1, 0, 0, 0, 169, 1194, 1, 0, 0, 0, 171, 1209, 1, 0, 0, 0, 173, 1225, - 1, 0, 0, 0, 175, 1238, 1, 0, 0, 0, 177, 1244, 1, 0, 0, 0, 179, 1255, 1, - 0, 0, 0, 181, 1267, 1, 0, 0, 0, 183, 1287, 1, 0, 0, 0, 185, 1300, 1, 0, - 0, 0, 187, 1305, 1, 0, 0, 0, 189, 1311, 1, 0, 0, 0, 191, 1316, 1, 0, 0, - 0, 193, 1327, 1, 0, 0, 0, 195, 1335, 1, 0, 0, 0, 197, 1341, 1, 0, 0, 0, - 199, 1365, 1, 0, 0, 0, 201, 1391, 1, 0, 0, 0, 203, 1399, 1, 0, 0, 0, 205, - 1413, 1, 0, 0, 0, 207, 1422, 1, 0, 0, 0, 209, 1429, 1, 0, 0, 0, 211, 1436, - 1, 0, 0, 0, 213, 1446, 1, 0, 0, 0, 215, 1452, 1, 0, 0, 0, 217, 1462, 1, - 0, 0, 0, 219, 1470, 1, 0, 0, 0, 221, 1478, 1, 0, 0, 0, 223, 1486, 1, 0, - 0, 0, 225, 1494, 1, 0, 0, 0, 227, 1499, 1, 0, 0, 0, 229, 1508, 1, 0, 0, - 0, 231, 1520, 1, 0, 0, 0, 233, 1528, 1, 0, 0, 0, 235, 1532, 1, 0, 0, 0, - 237, 1536, 1, 0, 0, 0, 239, 1551, 1, 0, 0, 0, 241, 1561, 1, 0, 0, 0, 243, - 1565, 1, 0, 0, 0, 245, 1570, 1, 0, 0, 0, 247, 1586, 1, 0, 0, 0, 249, 1602, - 1, 0, 0, 0, 251, 1609, 1, 0, 0, 0, 253, 1621, 1, 0, 0, 0, 255, 1630, 1, - 0, 0, 0, 257, 1640, 1, 0, 0, 0, 259, 1653, 1, 0, 0, 0, 261, 1658, 1, 0, - 0, 0, 263, 1667, 1, 0, 0, 0, 265, 1675, 1, 0, 0, 0, 267, 1683, 1, 0, 0, - 0, 269, 1696, 1, 0, 0, 0, 271, 1706, 1, 0, 0, 0, 273, 1708, 1, 0, 0, 0, - 275, 1710, 1, 0, 0, 0, 277, 1712, 1, 0, 0, 0, 279, 1714, 1, 0, 0, 0, 281, - 1716, 1, 0, 0, 0, 283, 1718, 1, 0, 0, 0, 285, 1720, 1, 0, 0, 0, 287, 1722, - 1, 0, 0, 0, 289, 1724, 1, 0, 0, 0, 291, 1726, 1, 0, 0, 0, 293, 1728, 1, - 0, 0, 0, 295, 1739, 1, 0, 0, 0, 297, 1753, 1, 0, 0, 0, 299, 1760, 1, 0, - 0, 0, 301, 1767, 1, 0, 0, 0, 303, 1770, 1, 0, 0, 0, 305, 1801, 1, 0, 0, - 0, 307, 1811, 1, 0, 0, 0, 309, 1813, 1, 0, 0, 0, 311, 1822, 1, 0, 0, 0, - 313, 1832, 1, 0, 0, 0, 315, 1842, 1, 0, 0, 0, 317, 1848, 1, 0, 0, 0, 319, - 1854, 1, 0, 0, 0, 321, 1856, 1, 0, 0, 0, 323, 1864, 1, 0, 0, 0, 325, 326, - 5, 115, 0, 0, 326, 327, 5, 104, 0, 0, 327, 328, 5, 111, 0, 0, 328, 329, - 5, 119, 0, 0, 329, 2, 1, 0, 0, 0, 330, 331, 5, 100, 0, 0, 331, 332, 5, - 98, 0, 0, 332, 333, 5, 115, 0, 0, 333, 4, 1, 0, 0, 0, 334, 335, 5, 100, - 0, 0, 335, 336, 5, 97, 0, 0, 336, 337, 5, 116, 0, 0, 337, 338, 5, 97, 0, - 0, 338, 339, 5, 98, 0, 0, 339, 340, 5, 97, 0, 0, 340, 341, 5, 115, 0, 0, - 341, 342, 5, 101, 0, 0, 342, 343, 5, 115, 0, 0, 343, 6, 1, 0, 0, 0, 344, - 345, 5, 99, 0, 0, 345, 346, 5, 111, 0, 0, 346, 347, 5, 108, 0, 0, 347, - 348, 5, 108, 0, 0, 348, 349, 5, 101, 0, 0, 349, 350, 5, 99, 0, 0, 350, - 351, 5, 116, 0, 0, 351, 352, 5, 105, 0, 0, 352, 353, 5, 111, 0, 0, 353, - 354, 5, 110, 0, 0, 354, 355, 5, 115, 0, 0, 355, 8, 1, 0, 0, 0, 356, 357, - 5, 100, 0, 0, 357, 358, 5, 98, 0, 0, 358, 10, 1, 0, 0, 0, 359, 360, 5, - 110, 0, 0, 360, 361, 5, 101, 0, 0, 361, 362, 5, 119, 0, 0, 362, 12, 1, - 0, 0, 0, 363, 364, 5, 116, 0, 0, 364, 365, 5, 114, 0, 0, 365, 366, 5, 117, - 0, 0, 366, 367, 5, 101, 0, 0, 367, 14, 1, 0, 0, 0, 368, 369, 5, 102, 0, - 0, 369, 370, 5, 97, 0, 0, 370, 371, 5, 108, 0, 0, 371, 372, 5, 115, 0, - 0, 372, 373, 5, 101, 0, 0, 373, 16, 1, 0, 0, 0, 374, 375, 5, 110, 0, 0, - 375, 376, 5, 117, 0, 0, 376, 377, 5, 108, 0, 0, 377, 378, 5, 108, 0, 0, - 378, 18, 1, 0, 0, 0, 379, 380, 5, 103, 0, 0, 380, 381, 5, 101, 0, 0, 381, - 382, 5, 116, 0, 0, 382, 383, 5, 67, 0, 0, 383, 384, 5, 111, 0, 0, 384, - 385, 5, 108, 0, 0, 385, 386, 5, 108, 0, 0, 386, 387, 5, 101, 0, 0, 387, - 388, 5, 99, 0, 0, 388, 389, 5, 116, 0, 0, 389, 390, 5, 105, 0, 0, 390, - 391, 5, 111, 0, 0, 391, 392, 5, 110, 0, 0, 392, 20, 1, 0, 0, 0, 393, 394, - 5, 103, 0, 0, 394, 395, 5, 101, 0, 0, 395, 396, 5, 116, 0, 0, 396, 397, - 5, 67, 0, 0, 397, 398, 5, 111, 0, 0, 398, 399, 5, 108, 0, 0, 399, 400, - 5, 108, 0, 0, 400, 401, 5, 101, 0, 0, 401, 402, 5, 99, 0, 0, 402, 403, - 5, 116, 0, 0, 403, 404, 5, 105, 0, 0, 404, 405, 5, 111, 0, 0, 405, 406, - 5, 110, 0, 0, 406, 407, 5, 78, 0, 0, 407, 408, 5, 97, 0, 0, 408, 409, 5, - 109, 0, 0, 409, 410, 5, 101, 0, 0, 410, 411, 5, 115, 0, 0, 411, 22, 1, - 0, 0, 0, 412, 413, 5, 103, 0, 0, 413, 414, 5, 101, 0, 0, 414, 415, 5, 116, - 0, 0, 415, 416, 5, 67, 0, 0, 416, 417, 5, 111, 0, 0, 417, 418, 5, 108, - 0, 0, 418, 419, 5, 108, 0, 0, 419, 420, 5, 101, 0, 0, 420, 421, 5, 99, - 0, 0, 421, 422, 5, 116, 0, 0, 422, 423, 5, 105, 0, 0, 423, 424, 5, 111, - 0, 0, 424, 425, 5, 110, 0, 0, 425, 426, 5, 73, 0, 0, 426, 427, 5, 110, - 0, 0, 427, 428, 5, 102, 0, 0, 428, 429, 5, 111, 0, 0, 429, 430, 5, 115, - 0, 0, 430, 24, 1, 0, 0, 0, 431, 432, 5, 79, 0, 0, 432, 433, 5, 98, 0, 0, - 433, 434, 5, 106, 0, 0, 434, 435, 5, 101, 0, 0, 435, 436, 5, 99, 0, 0, - 436, 437, 5, 116, 0, 0, 437, 438, 5, 73, 0, 0, 438, 439, 5, 100, 0, 0, - 439, 26, 1, 0, 0, 0, 440, 441, 5, 73, 0, 0, 441, 442, 5, 83, 0, 0, 442, - 443, 5, 79, 0, 0, 443, 444, 5, 68, 0, 0, 444, 445, 5, 97, 0, 0, 445, 446, - 5, 116, 0, 0, 446, 447, 5, 101, 0, 0, 447, 28, 1, 0, 0, 0, 448, 449, 5, - 68, 0, 0, 449, 450, 5, 97, 0, 0, 450, 451, 5, 116, 0, 0, 451, 452, 5, 101, - 0, 0, 452, 30, 1, 0, 0, 0, 453, 454, 5, 85, 0, 0, 454, 455, 5, 85, 0, 0, - 455, 456, 5, 73, 0, 0, 456, 457, 5, 68, 0, 0, 457, 32, 1, 0, 0, 0, 458, - 459, 5, 76, 0, 0, 459, 460, 5, 111, 0, 0, 460, 461, 5, 110, 0, 0, 461, - 462, 5, 103, 0, 0, 462, 34, 1, 0, 0, 0, 463, 464, 5, 78, 0, 0, 464, 465, - 5, 117, 0, 0, 465, 466, 5, 109, 0, 0, 466, 467, 5, 98, 0, 0, 467, 468, - 5, 101, 0, 0, 468, 469, 5, 114, 0, 0, 469, 470, 5, 76, 0, 0, 470, 471, - 5, 111, 0, 0, 471, 472, 5, 110, 0, 0, 472, 473, 5, 103, 0, 0, 473, 36, - 1, 0, 0, 0, 474, 475, 5, 73, 0, 0, 475, 476, 5, 110, 0, 0, 476, 477, 5, - 116, 0, 0, 477, 478, 5, 51, 0, 0, 478, 479, 5, 50, 0, 0, 479, 38, 1, 0, - 0, 0, 480, 481, 5, 78, 0, 0, 481, 482, 5, 117, 0, 0, 482, 483, 5, 109, - 0, 0, 483, 484, 5, 98, 0, 0, 484, 485, 5, 101, 0, 0, 485, 486, 5, 114, - 0, 0, 486, 487, 5, 73, 0, 0, 487, 488, 5, 110, 0, 0, 488, 489, 5, 116, - 0, 0, 489, 40, 1, 0, 0, 0, 490, 491, 5, 68, 0, 0, 491, 492, 5, 111, 0, - 0, 492, 493, 5, 117, 0, 0, 493, 494, 5, 98, 0, 0, 494, 495, 5, 108, 0, - 0, 495, 496, 5, 101, 0, 0, 496, 42, 1, 0, 0, 0, 497, 498, 5, 68, 0, 0, - 498, 499, 5, 101, 0, 0, 499, 500, 5, 99, 0, 0, 500, 501, 5, 105, 0, 0, - 501, 502, 5, 109, 0, 0, 502, 503, 5, 97, 0, 0, 503, 504, 5, 108, 0, 0, - 504, 505, 5, 49, 0, 0, 505, 506, 5, 50, 0, 0, 506, 507, 5, 56, 0, 0, 507, - 44, 1, 0, 0, 0, 508, 509, 5, 78, 0, 0, 509, 510, 5, 117, 0, 0, 510, 511, - 5, 109, 0, 0, 511, 512, 5, 98, 0, 0, 512, 513, 5, 101, 0, 0, 513, 514, - 5, 114, 0, 0, 514, 515, 5, 68, 0, 0, 515, 516, 5, 101, 0, 0, 516, 517, - 5, 99, 0, 0, 517, 518, 5, 105, 0, 0, 518, 519, 5, 109, 0, 0, 519, 520, - 5, 97, 0, 0, 520, 521, 5, 108, 0, 0, 521, 46, 1, 0, 0, 0, 522, 523, 5, - 84, 0, 0, 523, 524, 5, 105, 0, 0, 524, 525, 5, 109, 0, 0, 525, 526, 5, - 101, 0, 0, 526, 527, 5, 115, 0, 0, 527, 528, 5, 116, 0, 0, 528, 529, 5, - 97, 0, 0, 529, 530, 5, 109, 0, 0, 530, 531, 5, 112, 0, 0, 531, 48, 1, 0, - 0, 0, 532, 533, 5, 82, 0, 0, 533, 534, 5, 101, 0, 0, 534, 535, 5, 103, - 0, 0, 535, 536, 5, 69, 0, 0, 536, 537, 5, 120, 0, 0, 537, 538, 5, 112, - 0, 0, 538, 50, 1, 0, 0, 0, 539, 540, 5, 66, 0, 0, 540, 541, 5, 105, 0, - 0, 541, 542, 5, 110, 0, 0, 542, 543, 5, 68, 0, 0, 543, 544, 5, 97, 0, 0, - 544, 545, 5, 116, 0, 0, 545, 546, 5, 97, 0, 0, 546, 52, 1, 0, 0, 0, 547, - 548, 5, 66, 0, 0, 548, 549, 5, 105, 0, 0, 549, 550, 5, 110, 0, 0, 550, - 551, 5, 97, 0, 0, 551, 552, 5, 114, 0, 0, 552, 553, 5, 121, 0, 0, 553, - 54, 1, 0, 0, 0, 554, 555, 5, 66, 0, 0, 555, 556, 5, 83, 0, 0, 556, 557, - 5, 79, 0, 0, 557, 558, 5, 78, 0, 0, 558, 559, 5, 82, 0, 0, 559, 560, 5, - 101, 0, 0, 560, 561, 5, 103, 0, 0, 561, 562, 5, 69, 0, 0, 562, 563, 5, - 120, 0, 0, 563, 564, 5, 112, 0, 0, 564, 56, 1, 0, 0, 0, 565, 566, 5, 72, - 0, 0, 566, 567, 5, 101, 0, 0, 567, 568, 5, 120, 0, 0, 568, 569, 5, 68, - 0, 0, 569, 570, 5, 97, 0, 0, 570, 571, 5, 116, 0, 0, 571, 572, 5, 97, 0, - 0, 572, 58, 1, 0, 0, 0, 573, 574, 5, 102, 0, 0, 574, 575, 5, 105, 0, 0, - 575, 576, 5, 110, 0, 0, 576, 577, 5, 100, 0, 0, 577, 60, 1, 0, 0, 0, 578, - 579, 5, 102, 0, 0, 579, 580, 5, 105, 0, 0, 580, 581, 5, 110, 0, 0, 581, - 582, 5, 100, 0, 0, 582, 583, 5, 79, 0, 0, 583, 584, 5, 110, 0, 0, 584, - 585, 5, 101, 0, 0, 585, 62, 1, 0, 0, 0, 586, 587, 5, 99, 0, 0, 587, 588, - 5, 111, 0, 0, 588, 589, 5, 117, 0, 0, 589, 590, 5, 110, 0, 0, 590, 591, - 5, 116, 0, 0, 591, 592, 5, 68, 0, 0, 592, 593, 5, 111, 0, 0, 593, 594, - 5, 99, 0, 0, 594, 595, 5, 117, 0, 0, 595, 596, 5, 109, 0, 0, 596, 597, - 5, 101, 0, 0, 597, 598, 5, 110, 0, 0, 598, 599, 5, 116, 0, 0, 599, 600, - 5, 115, 0, 0, 600, 64, 1, 0, 0, 0, 601, 602, 5, 101, 0, 0, 602, 603, 5, - 115, 0, 0, 603, 604, 5, 116, 0, 0, 604, 605, 5, 105, 0, 0, 605, 606, 5, - 109, 0, 0, 606, 607, 5, 97, 0, 0, 607, 608, 5, 116, 0, 0, 608, 609, 5, - 101, 0, 0, 609, 610, 5, 100, 0, 0, 610, 611, 5, 68, 0, 0, 611, 612, 5, - 111, 0, 0, 612, 613, 5, 99, 0, 0, 613, 614, 5, 117, 0, 0, 614, 615, 5, - 109, 0, 0, 615, 616, 5, 101, 0, 0, 616, 617, 5, 110, 0, 0, 617, 618, 5, - 116, 0, 0, 618, 619, 5, 67, 0, 0, 619, 620, 5, 111, 0, 0, 620, 621, 5, - 117, 0, 0, 621, 622, 5, 110, 0, 0, 622, 623, 5, 116, 0, 0, 623, 66, 1, - 0, 0, 0, 624, 625, 5, 100, 0, 0, 625, 626, 5, 105, 0, 0, 626, 627, 5, 115, - 0, 0, 627, 628, 5, 116, 0, 0, 628, 629, 5, 105, 0, 0, 629, 630, 5, 110, - 0, 0, 630, 631, 5, 99, 0, 0, 631, 632, 5, 116, 0, 0, 632, 68, 1, 0, 0, - 0, 633, 634, 5, 97, 0, 0, 634, 635, 5, 103, 0, 0, 635, 636, 5, 103, 0, - 0, 636, 637, 5, 114, 0, 0, 637, 638, 5, 101, 0, 0, 638, 639, 5, 103, 0, - 0, 639, 640, 5, 97, 0, 0, 640, 641, 5, 116, 0, 0, 641, 642, 5, 101, 0, - 0, 642, 70, 1, 0, 0, 0, 643, 644, 5, 103, 0, 0, 644, 645, 5, 101, 0, 0, - 645, 646, 5, 116, 0, 0, 646, 647, 5, 73, 0, 0, 647, 648, 5, 110, 0, 0, - 648, 649, 5, 100, 0, 0, 649, 650, 5, 101, 0, 0, 650, 651, 5, 120, 0, 0, - 651, 652, 5, 101, 0, 0, 652, 653, 5, 115, 0, 0, 653, 72, 1, 0, 0, 0, 654, - 655, 5, 105, 0, 0, 655, 656, 5, 110, 0, 0, 656, 657, 5, 115, 0, 0, 657, - 658, 5, 101, 0, 0, 658, 659, 5, 114, 0, 0, 659, 660, 5, 116, 0, 0, 660, - 661, 5, 79, 0, 0, 661, 662, 5, 110, 0, 0, 662, 663, 5, 101, 0, 0, 663, - 74, 1, 0, 0, 0, 664, 665, 5, 105, 0, 0, 665, 666, 5, 110, 0, 0, 666, 667, - 5, 115, 0, 0, 667, 668, 5, 101, 0, 0, 668, 669, 5, 114, 0, 0, 669, 670, - 5, 116, 0, 0, 670, 671, 5, 77, 0, 0, 671, 672, 5, 97, 0, 0, 672, 673, 5, - 110, 0, 0, 673, 674, 5, 121, 0, 0, 674, 76, 1, 0, 0, 0, 675, 676, 5, 117, - 0, 0, 676, 677, 5, 112, 0, 0, 677, 678, 5, 100, 0, 0, 678, 679, 5, 97, - 0, 0, 679, 680, 5, 116, 0, 0, 680, 681, 5, 101, 0, 0, 681, 682, 5, 79, - 0, 0, 682, 683, 5, 110, 0, 0, 683, 684, 5, 101, 0, 0, 684, 78, 1, 0, 0, - 0, 685, 686, 5, 117, 0, 0, 686, 687, 5, 112, 0, 0, 687, 688, 5, 100, 0, - 0, 688, 689, 5, 97, 0, 0, 689, 690, 5, 116, 0, 0, 690, 691, 5, 101, 0, - 0, 691, 692, 5, 77, 0, 0, 692, 693, 5, 97, 0, 0, 693, 694, 5, 110, 0, 0, - 694, 695, 5, 121, 0, 0, 695, 80, 1, 0, 0, 0, 696, 697, 5, 100, 0, 0, 697, - 698, 5, 101, 0, 0, 698, 699, 5, 108, 0, 0, 699, 700, 5, 101, 0, 0, 700, - 701, 5, 116, 0, 0, 701, 702, 5, 101, 0, 0, 702, 703, 5, 79, 0, 0, 703, - 704, 5, 110, 0, 0, 704, 705, 5, 101, 0, 0, 705, 82, 1, 0, 0, 0, 706, 707, - 5, 100, 0, 0, 707, 708, 5, 101, 0, 0, 708, 709, 5, 108, 0, 0, 709, 710, - 5, 101, 0, 0, 710, 711, 5, 116, 0, 0, 711, 712, 5, 101, 0, 0, 712, 713, - 5, 77, 0, 0, 713, 714, 5, 97, 0, 0, 714, 715, 5, 110, 0, 0, 715, 716, 5, - 121, 0, 0, 716, 84, 1, 0, 0, 0, 717, 718, 5, 114, 0, 0, 718, 719, 5, 101, - 0, 0, 719, 720, 5, 112, 0, 0, 720, 721, 5, 108, 0, 0, 721, 722, 5, 97, - 0, 0, 722, 723, 5, 99, 0, 0, 723, 724, 5, 101, 0, 0, 724, 725, 5, 79, 0, - 0, 725, 726, 5, 110, 0, 0, 726, 727, 5, 101, 0, 0, 727, 86, 1, 0, 0, 0, - 728, 729, 5, 102, 0, 0, 729, 730, 5, 105, 0, 0, 730, 731, 5, 110, 0, 0, - 731, 732, 5, 100, 0, 0, 732, 733, 5, 79, 0, 0, 733, 734, 5, 110, 0, 0, - 734, 735, 5, 101, 0, 0, 735, 736, 5, 65, 0, 0, 736, 737, 5, 110, 0, 0, - 737, 738, 5, 100, 0, 0, 738, 739, 5, 85, 0, 0, 739, 740, 5, 112, 0, 0, - 740, 741, 5, 100, 0, 0, 741, 742, 5, 97, 0, 0, 742, 743, 5, 116, 0, 0, - 743, 744, 5, 101, 0, 0, 744, 88, 1, 0, 0, 0, 745, 746, 5, 102, 0, 0, 746, - 747, 5, 105, 0, 0, 747, 748, 5, 110, 0, 0, 748, 749, 5, 100, 0, 0, 749, - 750, 5, 79, 0, 0, 750, 751, 5, 110, 0, 0, 751, 752, 5, 101, 0, 0, 752, - 753, 5, 65, 0, 0, 753, 754, 5, 110, 0, 0, 754, 755, 5, 100, 0, 0, 755, - 756, 5, 82, 0, 0, 756, 757, 5, 101, 0, 0, 757, 758, 5, 112, 0, 0, 758, - 759, 5, 108, 0, 0, 759, 760, 5, 97, 0, 0, 760, 761, 5, 99, 0, 0, 761, 762, - 5, 101, 0, 0, 762, 90, 1, 0, 0, 0, 763, 764, 5, 102, 0, 0, 764, 765, 5, - 105, 0, 0, 765, 766, 5, 110, 0, 0, 766, 767, 5, 100, 0, 0, 767, 768, 5, - 79, 0, 0, 768, 769, 5, 110, 0, 0, 769, 770, 5, 101, 0, 0, 770, 771, 5, - 65, 0, 0, 771, 772, 5, 110, 0, 0, 772, 773, 5, 100, 0, 0, 773, 774, 5, - 68, 0, 0, 774, 775, 5, 101, 0, 0, 775, 776, 5, 108, 0, 0, 776, 777, 5, - 101, 0, 0, 777, 778, 5, 116, 0, 0, 778, 779, 5, 101, 0, 0, 779, 92, 1, - 0, 0, 0, 780, 781, 5, 99, 0, 0, 781, 782, 5, 114, 0, 0, 782, 783, 5, 101, - 0, 0, 783, 784, 5, 97, 0, 0, 784, 785, 5, 116, 0, 0, 785, 786, 5, 101, - 0, 0, 786, 787, 5, 73, 0, 0, 787, 788, 5, 110, 0, 0, 788, 789, 5, 100, - 0, 0, 789, 790, 5, 101, 0, 0, 790, 791, 5, 120, 0, 0, 791, 94, 1, 0, 0, - 0, 792, 793, 5, 99, 0, 0, 793, 794, 5, 114, 0, 0, 794, 795, 5, 101, 0, - 0, 795, 796, 5, 97, 0, 0, 796, 797, 5, 116, 0, 0, 797, 798, 5, 101, 0, - 0, 798, 799, 5, 73, 0, 0, 799, 800, 5, 110, 0, 0, 800, 801, 5, 100, 0, - 0, 801, 802, 5, 101, 0, 0, 802, 803, 5, 120, 0, 0, 803, 804, 5, 101, 0, - 0, 804, 805, 5, 115, 0, 0, 805, 96, 1, 0, 0, 0, 806, 807, 5, 100, 0, 0, - 807, 808, 5, 114, 0, 0, 808, 809, 5, 111, 0, 0, 809, 810, 5, 112, 0, 0, - 810, 811, 5, 73, 0, 0, 811, 812, 5, 110, 0, 0, 812, 813, 5, 100, 0, 0, - 813, 814, 5, 101, 0, 0, 814, 815, 5, 120, 0, 0, 815, 98, 1, 0, 0, 0, 816, - 817, 5, 100, 0, 0, 817, 818, 5, 114, 0, 0, 818, 819, 5, 111, 0, 0, 819, - 820, 5, 112, 0, 0, 820, 821, 5, 73, 0, 0, 821, 822, 5, 110, 0, 0, 822, - 823, 5, 100, 0, 0, 823, 824, 5, 101, 0, 0, 824, 825, 5, 120, 0, 0, 825, - 826, 5, 101, 0, 0, 826, 827, 5, 115, 0, 0, 827, 100, 1, 0, 0, 0, 828, 829, - 5, 100, 0, 0, 829, 830, 5, 114, 0, 0, 830, 831, 5, 111, 0, 0, 831, 832, - 5, 112, 0, 0, 832, 102, 1, 0, 0, 0, 833, 834, 5, 114, 0, 0, 834, 835, 5, - 101, 0, 0, 835, 836, 5, 110, 0, 0, 836, 837, 5, 97, 0, 0, 837, 838, 5, - 109, 0, 0, 838, 839, 5, 101, 0, 0, 839, 840, 5, 67, 0, 0, 840, 841, 5, - 111, 0, 0, 841, 842, 5, 108, 0, 0, 842, 843, 5, 108, 0, 0, 843, 844, 5, - 101, 0, 0, 844, 845, 5, 99, 0, 0, 845, 846, 5, 116, 0, 0, 846, 847, 5, - 105, 0, 0, 847, 848, 5, 111, 0, 0, 848, 849, 5, 110, 0, 0, 849, 104, 1, - 0, 0, 0, 850, 851, 5, 115, 0, 0, 851, 852, 5, 116, 0, 0, 852, 853, 5, 97, - 0, 0, 853, 854, 5, 116, 0, 0, 854, 855, 5, 115, 0, 0, 855, 106, 1, 0, 0, - 0, 856, 857, 5, 115, 0, 0, 857, 858, 5, 116, 0, 0, 858, 859, 5, 111, 0, - 0, 859, 860, 5, 114, 0, 0, 860, 861, 5, 97, 0, 0, 861, 862, 5, 103, 0, - 0, 862, 863, 5, 101, 0, 0, 863, 864, 5, 83, 0, 0, 864, 865, 5, 105, 0, - 0, 865, 866, 5, 122, 0, 0, 866, 867, 5, 101, 0, 0, 867, 108, 1, 0, 0, 0, - 868, 869, 5, 116, 0, 0, 869, 870, 5, 111, 0, 0, 870, 871, 5, 116, 0, 0, - 871, 872, 5, 97, 0, 0, 872, 873, 5, 108, 0, 0, 873, 874, 5, 73, 0, 0, 874, - 875, 5, 110, 0, 0, 875, 876, 5, 100, 0, 0, 876, 877, 5, 101, 0, 0, 877, - 878, 5, 120, 0, 0, 878, 879, 5, 83, 0, 0, 879, 880, 5, 105, 0, 0, 880, - 881, 5, 122, 0, 0, 881, 882, 5, 101, 0, 0, 882, 110, 1, 0, 0, 0, 883, 884, - 5, 116, 0, 0, 884, 885, 5, 111, 0, 0, 885, 886, 5, 116, 0, 0, 886, 887, - 5, 97, 0, 0, 887, 888, 5, 108, 0, 0, 888, 889, 5, 83, 0, 0, 889, 890, 5, - 105, 0, 0, 890, 891, 5, 122, 0, 0, 891, 892, 5, 101, 0, 0, 892, 112, 1, - 0, 0, 0, 893, 894, 5, 100, 0, 0, 894, 895, 5, 97, 0, 0, 895, 896, 5, 116, - 0, 0, 896, 897, 5, 97, 0, 0, 897, 898, 5, 83, 0, 0, 898, 899, 5, 105, 0, - 0, 899, 900, 5, 122, 0, 0, 900, 901, 5, 101, 0, 0, 901, 114, 1, 0, 0, 0, - 902, 903, 5, 105, 0, 0, 903, 904, 5, 115, 0, 0, 904, 905, 5, 67, 0, 0, - 905, 906, 5, 97, 0, 0, 906, 907, 5, 112, 0, 0, 907, 908, 5, 112, 0, 0, - 908, 909, 5, 101, 0, 0, 909, 910, 5, 100, 0, 0, 910, 116, 1, 0, 0, 0, 911, - 912, 5, 118, 0, 0, 912, 913, 5, 97, 0, 0, 913, 914, 5, 108, 0, 0, 914, - 915, 5, 105, 0, 0, 915, 916, 5, 100, 0, 0, 916, 917, 5, 97, 0, 0, 917, - 918, 5, 116, 0, 0, 918, 919, 5, 101, 0, 0, 919, 118, 1, 0, 0, 0, 920, 921, - 5, 108, 0, 0, 921, 922, 5, 97, 0, 0, 922, 923, 5, 116, 0, 0, 923, 924, - 5, 101, 0, 0, 924, 925, 5, 110, 0, 0, 925, 926, 5, 99, 0, 0, 926, 927, - 5, 121, 0, 0, 927, 928, 5, 83, 0, 0, 928, 929, 5, 116, 0, 0, 929, 930, - 5, 97, 0, 0, 930, 931, 5, 116, 0, 0, 931, 932, 5, 115, 0, 0, 932, 120, - 1, 0, 0, 0, 933, 934, 5, 99, 0, 0, 934, 935, 5, 114, 0, 0, 935, 936, 5, - 101, 0, 0, 936, 937, 5, 97, 0, 0, 937, 938, 5, 116, 0, 0, 938, 939, 5, - 101, 0, 0, 939, 940, 5, 67, 0, 0, 940, 941, 5, 111, 0, 0, 941, 942, 5, - 108, 0, 0, 942, 943, 5, 108, 0, 0, 943, 944, 5, 101, 0, 0, 944, 945, 5, - 99, 0, 0, 945, 946, 5, 116, 0, 0, 946, 947, 5, 105, 0, 0, 947, 948, 5, - 111, 0, 0, 948, 949, 5, 110, 0, 0, 949, 122, 1, 0, 0, 0, 950, 951, 5, 100, - 0, 0, 951, 952, 5, 114, 0, 0, 952, 953, 5, 111, 0, 0, 953, 954, 5, 112, - 0, 0, 954, 955, 5, 68, 0, 0, 955, 956, 5, 97, 0, 0, 956, 957, 5, 116, 0, - 0, 957, 958, 5, 97, 0, 0, 958, 959, 5, 98, 0, 0, 959, 960, 5, 97, 0, 0, - 960, 961, 5, 115, 0, 0, 961, 962, 5, 101, 0, 0, 962, 124, 1, 0, 0, 0, 963, - 964, 5, 104, 0, 0, 964, 965, 5, 111, 0, 0, 965, 966, 5, 115, 0, 0, 966, - 967, 5, 116, 0, 0, 967, 968, 5, 73, 0, 0, 968, 969, 5, 110, 0, 0, 969, - 970, 5, 102, 0, 0, 970, 971, 5, 111, 0, 0, 971, 126, 1, 0, 0, 0, 972, 973, - 5, 108, 0, 0, 973, 974, 5, 105, 0, 0, 974, 975, 5, 115, 0, 0, 975, 976, - 5, 116, 0, 0, 976, 977, 5, 67, 0, 0, 977, 978, 5, 111, 0, 0, 978, 979, - 5, 109, 0, 0, 979, 980, 5, 109, 0, 0, 980, 981, 5, 97, 0, 0, 981, 982, - 5, 110, 0, 0, 982, 983, 5, 100, 0, 0, 983, 984, 5, 115, 0, 0, 984, 128, - 1, 0, 0, 0, 985, 986, 5, 115, 0, 0, 986, 987, 5, 101, 0, 0, 987, 988, 5, - 114, 0, 0, 988, 989, 5, 118, 0, 0, 989, 990, 5, 101, 0, 0, 990, 991, 5, - 114, 0, 0, 991, 992, 5, 66, 0, 0, 992, 993, 5, 117, 0, 0, 993, 994, 5, - 105, 0, 0, 994, 995, 5, 108, 0, 0, 995, 996, 5, 100, 0, 0, 996, 997, 5, - 73, 0, 0, 997, 998, 5, 110, 0, 0, 998, 999, 5, 102, 0, 0, 999, 1000, 5, - 111, 0, 0, 1000, 130, 1, 0, 0, 0, 1001, 1002, 5, 115, 0, 0, 1002, 1003, - 5, 101, 0, 0, 1003, 1004, 5, 114, 0, 0, 1004, 1005, 5, 118, 0, 0, 1005, - 1006, 5, 101, 0, 0, 1006, 1007, 5, 114, 0, 0, 1007, 1008, 5, 83, 0, 0, - 1008, 1009, 5, 116, 0, 0, 1009, 1010, 5, 97, 0, 0, 1010, 1011, 5, 116, - 0, 0, 1011, 1012, 5, 117, 0, 0, 1012, 1013, 5, 115, 0, 0, 1013, 132, 1, - 0, 0, 0, 1014, 1015, 5, 118, 0, 0, 1015, 1016, 5, 101, 0, 0, 1016, 1017, - 5, 114, 0, 0, 1017, 1018, 5, 115, 0, 0, 1018, 1019, 5, 105, 0, 0, 1019, - 1020, 5, 111, 0, 0, 1020, 1021, 5, 110, 0, 0, 1021, 134, 1, 0, 0, 0, 1022, - 1023, 5, 114, 0, 0, 1023, 1024, 5, 117, 0, 0, 1024, 1025, 5, 110, 0, 0, - 1025, 1026, 5, 67, 0, 0, 1026, 1027, 5, 111, 0, 0, 1027, 1028, 5, 109, - 0, 0, 1028, 1029, 5, 109, 0, 0, 1029, 1030, 5, 97, 0, 0, 1030, 1031, 5, - 110, 0, 0, 1031, 1032, 5, 100, 0, 0, 1032, 136, 1, 0, 0, 0, 1033, 1034, - 5, 97, 0, 0, 1034, 1035, 5, 100, 0, 0, 1035, 1036, 5, 109, 0, 0, 1036, - 1037, 5, 105, 0, 0, 1037, 1038, 5, 110, 0, 0, 1038, 1039, 5, 67, 0, 0, - 1039, 1040, 5, 111, 0, 0, 1040, 1041, 5, 109, 0, 0, 1041, 1042, 5, 109, - 0, 0, 1042, 1043, 5, 97, 0, 0, 1043, 1044, 5, 110, 0, 0, 1044, 1045, 5, - 100, 0, 0, 1045, 138, 1, 0, 0, 0, 1046, 1047, 5, 103, 0, 0, 1047, 1048, - 5, 101, 0, 0, 1048, 1049, 5, 116, 0, 0, 1049, 1050, 5, 78, 0, 0, 1050, - 1051, 5, 97, 0, 0, 1051, 1052, 5, 109, 0, 0, 1052, 1053, 5, 101, 0, 0, - 1053, 140, 1, 0, 0, 0, 1054, 1055, 5, 103, 0, 0, 1055, 1056, 5, 101, 0, - 0, 1056, 1057, 5, 116, 0, 0, 1057, 1058, 5, 77, 0, 0, 1058, 1059, 5, 111, - 0, 0, 1059, 1060, 5, 110, 0, 0, 1060, 1061, 5, 103, 0, 0, 1061, 1062, 5, - 111, 0, 0, 1062, 142, 1, 0, 0, 0, 1063, 1064, 5, 103, 0, 0, 1064, 1065, - 5, 101, 0, 0, 1065, 1066, 5, 116, 0, 0, 1066, 1067, 5, 83, 0, 0, 1067, - 1068, 5, 105, 0, 0, 1068, 1069, 5, 98, 0, 0, 1069, 1070, 5, 108, 0, 0, - 1070, 1071, 5, 105, 0, 0, 1071, 1072, 5, 110, 0, 0, 1072, 1073, 5, 103, - 0, 0, 1073, 1074, 5, 68, 0, 0, 1074, 1075, 5, 66, 0, 0, 1075, 144, 1, 0, - 0, 0, 1076, 1077, 5, 77, 0, 0, 1077, 1078, 5, 111, 0, 0, 1078, 1079, 5, - 110, 0, 0, 1079, 1080, 5, 103, 0, 0, 1080, 1081, 5, 111, 0, 0, 1081, 146, - 1, 0, 0, 0, 1082, 1083, 5, 99, 0, 0, 1083, 1084, 5, 111, 0, 0, 1084, 1085, - 5, 110, 0, 0, 1085, 1086, 5, 110, 0, 0, 1086, 1087, 5, 101, 0, 0, 1087, - 1088, 5, 99, 0, 0, 1088, 1089, 5, 116, 0, 0, 1089, 148, 1, 0, 0, 0, 1090, - 1091, 5, 114, 0, 0, 1091, 1092, 5, 115, 0, 0, 1092, 150, 1, 0, 0, 0, 1093, - 1094, 5, 115, 0, 0, 1094, 1095, 5, 104, 0, 0, 1095, 152, 1, 0, 0, 0, 1096, - 1097, 5, 115, 0, 0, 1097, 1098, 5, 112, 0, 0, 1098, 154, 1, 0, 0, 0, 1099, - 1100, 5, 103, 0, 0, 1100, 1101, 5, 101, 0, 0, 1101, 1102, 5, 116, 0, 0, - 1102, 1103, 5, 68, 0, 0, 1103, 1104, 5, 66, 0, 0, 1104, 156, 1, 0, 0, 0, - 1105, 1106, 5, 103, 0, 0, 1106, 1107, 5, 101, 0, 0, 1107, 1108, 5, 116, - 0, 0, 1108, 1109, 5, 82, 0, 0, 1109, 1110, 5, 101, 0, 0, 1110, 1111, 5, - 97, 0, 0, 1111, 1112, 5, 100, 0, 0, 1112, 1113, 5, 67, 0, 0, 1113, 1114, - 5, 111, 0, 0, 1114, 1115, 5, 110, 0, 0, 1115, 1116, 5, 99, 0, 0, 1116, - 1117, 5, 101, 0, 0, 1117, 1118, 5, 114, 0, 0, 1118, 1119, 5, 110, 0, 0, - 1119, 158, 1, 0, 0, 0, 1120, 1121, 5, 103, 0, 0, 1121, 1122, 5, 101, 0, - 0, 1122, 1123, 5, 116, 0, 0, 1123, 1124, 5, 82, 0, 0, 1124, 1125, 5, 101, - 0, 0, 1125, 1126, 5, 97, 0, 0, 1126, 1127, 5, 100, 0, 0, 1127, 1128, 5, - 80, 0, 0, 1128, 1129, 5, 114, 0, 0, 1129, 1130, 5, 101, 0, 0, 1130, 1131, - 5, 102, 0, 0, 1131, 160, 1, 0, 0, 0, 1132, 1133, 5, 103, 0, 0, 1133, 1134, - 5, 101, 0, 0, 1134, 1135, 5, 116, 0, 0, 1135, 1136, 5, 82, 0, 0, 1136, - 1137, 5, 101, 0, 0, 1137, 1138, 5, 97, 0, 0, 1138, 1139, 5, 100, 0, 0, - 1139, 1140, 5, 80, 0, 0, 1140, 1141, 5, 114, 0, 0, 1141, 1142, 5, 101, - 0, 0, 1142, 1143, 5, 102, 0, 0, 1143, 1144, 5, 77, 0, 0, 1144, 1145, 5, - 111, 0, 0, 1145, 1146, 5, 100, 0, 0, 1146, 1147, 5, 101, 0, 0, 1147, 162, - 1, 0, 0, 0, 1148, 1149, 5, 103, 0, 0, 1149, 1150, 5, 101, 0, 0, 1150, 1151, - 5, 116, 0, 0, 1151, 1152, 5, 82, 0, 0, 1152, 1153, 5, 101, 0, 0, 1153, - 1154, 5, 97, 0, 0, 1154, 1155, 5, 100, 0, 0, 1155, 1156, 5, 80, 0, 0, 1156, - 1157, 5, 114, 0, 0, 1157, 1158, 5, 101, 0, 0, 1158, 1159, 5, 102, 0, 0, - 1159, 1160, 5, 84, 0, 0, 1160, 1161, 5, 97, 0, 0, 1161, 1162, 5, 103, 0, - 0, 1162, 1163, 5, 83, 0, 0, 1163, 1164, 5, 101, 0, 0, 1164, 1165, 5, 116, - 0, 0, 1165, 164, 1, 0, 0, 0, 1166, 1167, 5, 103, 0, 0, 1167, 1168, 5, 101, - 0, 0, 1168, 1169, 5, 116, 0, 0, 1169, 1170, 5, 87, 0, 0, 1170, 1171, 5, - 114, 0, 0, 1171, 1172, 5, 105, 0, 0, 1172, 1173, 5, 116, 0, 0, 1173, 1174, - 5, 101, 0, 0, 1174, 1175, 5, 67, 0, 0, 1175, 1176, 5, 111, 0, 0, 1176, - 1177, 5, 110, 0, 0, 1177, 1178, 5, 99, 0, 0, 1178, 1179, 5, 101, 0, 0, - 1179, 1180, 5, 114, 0, 0, 1180, 1181, 5, 110, 0, 0, 1181, 166, 1, 0, 0, - 0, 1182, 1183, 5, 115, 0, 0, 1183, 1184, 5, 101, 0, 0, 1184, 1185, 5, 116, - 0, 0, 1185, 1186, 5, 82, 0, 0, 1186, 1187, 5, 101, 0, 0, 1187, 1188, 5, - 97, 0, 0, 1188, 1189, 5, 100, 0, 0, 1189, 1190, 5, 80, 0, 0, 1190, 1191, - 5, 114, 0, 0, 1191, 1192, 5, 101, 0, 0, 1192, 1193, 5, 102, 0, 0, 1193, - 168, 1, 0, 0, 0, 1194, 1195, 5, 115, 0, 0, 1195, 1196, 5, 101, 0, 0, 1196, - 1197, 5, 116, 0, 0, 1197, 1198, 5, 82, 0, 0, 1198, 1199, 5, 101, 0, 0, - 1199, 1200, 5, 97, 0, 0, 1200, 1201, 5, 100, 0, 0, 1201, 1202, 5, 67, 0, - 0, 1202, 1203, 5, 111, 0, 0, 1203, 1204, 5, 110, 0, 0, 1204, 1205, 5, 99, - 0, 0, 1205, 1206, 5, 101, 0, 0, 1206, 1207, 5, 114, 0, 0, 1207, 1208, 5, - 110, 0, 0, 1208, 170, 1, 0, 0, 0, 1209, 1210, 5, 115, 0, 0, 1210, 1211, - 5, 101, 0, 0, 1211, 1212, 5, 116, 0, 0, 1212, 1213, 5, 87, 0, 0, 1213, - 1214, 5, 114, 0, 0, 1214, 1215, 5, 105, 0, 0, 1215, 1216, 5, 116, 0, 0, - 1216, 1217, 5, 101, 0, 0, 1217, 1218, 5, 67, 0, 0, 1218, 1219, 5, 111, - 0, 0, 1219, 1220, 5, 110, 0, 0, 1220, 1221, 5, 99, 0, 0, 1221, 1222, 5, - 101, 0, 0, 1222, 1223, 5, 114, 0, 0, 1223, 1224, 5, 110, 0, 0, 1224, 172, - 1, 0, 0, 0, 1225, 1226, 5, 115, 0, 0, 1226, 1227, 5, 116, 0, 0, 1227, 1228, - 5, 97, 0, 0, 1228, 1229, 5, 114, 0, 0, 1229, 1230, 5, 116, 0, 0, 1230, - 1231, 5, 83, 0, 0, 1231, 1232, 5, 101, 0, 0, 1232, 1233, 5, 115, 0, 0, - 1233, 1234, 5, 115, 0, 0, 1234, 1235, 5, 105, 0, 0, 1235, 1236, 5, 111, - 0, 0, 1236, 1237, 5, 110, 0, 0, 1237, 174, 1, 0, 0, 0, 1238, 1239, 5, 119, - 0, 0, 1239, 1240, 5, 97, 0, 0, 1240, 1241, 5, 116, 0, 0, 1241, 1242, 5, - 99, 0, 0, 1242, 1243, 5, 104, 0, 0, 1243, 176, 1, 0, 0, 0, 1244, 1245, - 5, 103, 0, 0, 1245, 1246, 5, 101, 0, 0, 1246, 1247, 5, 116, 0, 0, 1247, - 1248, 5, 68, 0, 0, 1248, 1249, 5, 66, 0, 0, 1249, 1250, 5, 78, 0, 0, 1250, - 1251, 5, 97, 0, 0, 1251, 1252, 5, 109, 0, 0, 1252, 1253, 5, 101, 0, 0, - 1253, 1254, 5, 115, 0, 0, 1254, 178, 1, 0, 0, 0, 1255, 1256, 5, 103, 0, - 0, 1256, 1257, 5, 101, 0, 0, 1257, 1258, 5, 116, 0, 0, 1258, 1259, 5, 75, - 0, 0, 1259, 1260, 5, 101, 0, 0, 1260, 1261, 5, 121, 0, 0, 1261, 1262, 5, - 86, 0, 0, 1262, 1263, 5, 97, 0, 0, 1263, 1264, 5, 117, 0, 0, 1264, 1265, - 5, 108, 0, 0, 1265, 1266, 5, 116, 0, 0, 1266, 180, 1, 0, 0, 0, 1267, 1268, - 5, 103, 0, 0, 1268, 1269, 5, 101, 0, 0, 1269, 1270, 5, 116, 0, 0, 1270, - 1271, 5, 67, 0, 0, 1271, 1272, 5, 108, 0, 0, 1272, 1273, 5, 105, 0, 0, - 1273, 1274, 5, 101, 0, 0, 1274, 1275, 5, 110, 0, 0, 1275, 1276, 5, 116, - 0, 0, 1276, 1277, 5, 69, 0, 0, 1277, 1278, 5, 110, 0, 0, 1278, 1279, 5, - 99, 0, 0, 1279, 1280, 5, 114, 0, 0, 1280, 1281, 5, 121, 0, 0, 1281, 1282, - 5, 112, 0, 0, 1282, 1283, 5, 116, 0, 0, 1283, 1284, 5, 105, 0, 0, 1284, - 1285, 5, 111, 0, 0, 1285, 1286, 5, 110, 0, 0, 1286, 182, 1, 0, 0, 0, 1287, - 1288, 5, 103, 0, 0, 1288, 1289, 5, 101, 0, 0, 1289, 1290, 5, 116, 0, 0, - 1290, 1291, 5, 80, 0, 0, 1291, 1292, 5, 108, 0, 0, 1292, 1293, 5, 97, 0, - 0, 1293, 1294, 5, 110, 0, 0, 1294, 1295, 5, 67, 0, 0, 1295, 1296, 5, 97, - 0, 0, 1296, 1297, 5, 99, 0, 0, 1297, 1298, 5, 104, 0, 0, 1298, 1299, 5, - 101, 0, 0, 1299, 184, 1, 0, 0, 0, 1300, 1301, 5, 115, 0, 0, 1301, 1302, - 5, 111, 0, 0, 1302, 1303, 5, 114, 0, 0, 1303, 1304, 5, 116, 0, 0, 1304, - 186, 1, 0, 0, 0, 1305, 1306, 5, 108, 0, 0, 1306, 1307, 5, 105, 0, 0, 1307, - 1308, 5, 109, 0, 0, 1308, 1309, 5, 105, 0, 0, 1309, 1310, 5, 116, 0, 0, - 1310, 188, 1, 0, 0, 0, 1311, 1312, 5, 115, 0, 0, 1312, 1313, 5, 107, 0, - 0, 1313, 1314, 5, 105, 0, 0, 1314, 1315, 5, 112, 0, 0, 1315, 190, 1, 0, - 0, 0, 1316, 1317, 5, 112, 0, 0, 1317, 1318, 5, 114, 0, 0, 1318, 1319, 5, - 111, 0, 0, 1319, 1320, 5, 106, 0, 0, 1320, 1321, 5, 101, 0, 0, 1321, 1322, - 5, 99, 0, 0, 1322, 1323, 5, 116, 0, 0, 1323, 1324, 5, 105, 0, 0, 1324, - 1325, 5, 111, 0, 0, 1325, 1326, 5, 110, 0, 0, 1326, 192, 1, 0, 0, 0, 1327, - 1328, 5, 112, 0, 0, 1328, 1329, 5, 114, 0, 0, 1329, 1330, 5, 111, 0, 0, - 1330, 1331, 5, 106, 0, 0, 1331, 1332, 5, 101, 0, 0, 1332, 1333, 5, 99, - 0, 0, 1333, 1334, 5, 116, 0, 0, 1334, 194, 1, 0, 0, 0, 1335, 1336, 5, 99, - 0, 0, 1336, 1337, 5, 111, 0, 0, 1337, 1338, 5, 117, 0, 0, 1338, 1339, 5, - 110, 0, 0, 1339, 1340, 5, 116, 0, 0, 1340, 196, 1, 0, 0, 0, 1341, 1342, - 5, 105, 0, 0, 1342, 1343, 5, 110, 0, 0, 1343, 1344, 5, 105, 0, 0, 1344, - 1345, 5, 116, 0, 0, 1345, 1346, 5, 105, 0, 0, 1346, 1347, 5, 97, 0, 0, - 1347, 1348, 5, 108, 0, 0, 1348, 1349, 5, 105, 0, 0, 1349, 1350, 5, 122, - 0, 0, 1350, 1351, 5, 101, 0, 0, 1351, 1352, 5, 79, 0, 0, 1352, 1353, 5, - 114, 0, 0, 1353, 1354, 5, 100, 0, 0, 1354, 1355, 5, 101, 0, 0, 1355, 1356, - 5, 114, 0, 0, 1356, 1357, 5, 101, 0, 0, 1357, 1358, 5, 100, 0, 0, 1358, - 1359, 5, 66, 0, 0, 1359, 1360, 5, 117, 0, 0, 1360, 1361, 5, 108, 0, 0, - 1361, 1362, 5, 107, 0, 0, 1362, 1363, 5, 79, 0, 0, 1363, 1364, 5, 112, - 0, 0, 1364, 198, 1, 0, 0, 0, 1365, 1366, 5, 105, 0, 0, 1366, 1367, 5, 110, - 0, 0, 1367, 1368, 5, 105, 0, 0, 1368, 1369, 5, 116, 0, 0, 1369, 1370, 5, - 105, 0, 0, 1370, 1371, 5, 97, 0, 0, 1371, 1372, 5, 108, 0, 0, 1372, 1373, - 5, 105, 0, 0, 1373, 1374, 5, 122, 0, 0, 1374, 1375, 5, 101, 0, 0, 1375, - 1376, 5, 85, 0, 0, 1376, 1377, 5, 110, 0, 0, 1377, 1378, 5, 111, 0, 0, - 1378, 1379, 5, 114, 0, 0, 1379, 1380, 5, 100, 0, 0, 1380, 1381, 5, 101, - 0, 0, 1381, 1382, 5, 114, 0, 0, 1382, 1383, 5, 101, 0, 0, 1383, 1384, 5, - 100, 0, 0, 1384, 1385, 5, 66, 0, 0, 1385, 1386, 5, 117, 0, 0, 1386, 1387, - 5, 108, 0, 0, 1387, 1388, 5, 107, 0, 0, 1388, 1389, 5, 79, 0, 0, 1389, - 1390, 5, 112, 0, 0, 1390, 200, 1, 0, 0, 0, 1391, 1392, 5, 101, 0, 0, 1392, - 1393, 5, 120, 0, 0, 1393, 1394, 5, 101, 0, 0, 1394, 1395, 5, 99, 0, 0, - 1395, 1396, 5, 117, 0, 0, 1396, 1397, 5, 116, 0, 0, 1397, 1398, 5, 101, - 0, 0, 1398, 202, 1, 0, 0, 0, 1399, 1400, 5, 103, 0, 0, 1400, 1401, 5, 101, - 0, 0, 1401, 1402, 5, 116, 0, 0, 1402, 1403, 5, 79, 0, 0, 1403, 1404, 5, - 112, 0, 0, 1404, 1405, 5, 101, 0, 0, 1405, 1406, 5, 114, 0, 0, 1406, 1407, - 5, 97, 0, 0, 1407, 1408, 5, 116, 0, 0, 1408, 1409, 5, 105, 0, 0, 1409, - 1410, 5, 111, 0, 0, 1410, 1411, 5, 110, 0, 0, 1411, 1412, 5, 115, 0, 0, - 1412, 204, 1, 0, 0, 0, 1413, 1414, 5, 116, 0, 0, 1414, 1415, 5, 111, 0, - 0, 1415, 1416, 5, 83, 0, 0, 1416, 1417, 5, 116, 0, 0, 1417, 1418, 5, 114, - 0, 0, 1418, 1419, 5, 105, 0, 0, 1419, 1420, 5, 110, 0, 0, 1420, 1421, 5, - 103, 0, 0, 1421, 206, 1, 0, 0, 0, 1422, 1423, 5, 105, 0, 0, 1423, 1424, - 5, 110, 0, 0, 1424, 1425, 5, 115, 0, 0, 1425, 1426, 5, 101, 0, 0, 1426, - 1427, 5, 114, 0, 0, 1427, 1428, 5, 116, 0, 0, 1428, 208, 1, 0, 0, 0, 1429, - 1430, 5, 114, 0, 0, 1430, 1431, 5, 101, 0, 0, 1431, 1432, 5, 109, 0, 0, - 1432, 1433, 5, 111, 0, 0, 1433, 1434, 5, 118, 0, 0, 1434, 1435, 5, 101, - 0, 0, 1435, 210, 1, 0, 0, 0, 1436, 1437, 5, 98, 0, 0, 1437, 1438, 5, 97, - 0, 0, 1438, 1439, 5, 116, 0, 0, 1439, 1440, 5, 99, 0, 0, 1440, 1441, 5, - 104, 0, 0, 1441, 1442, 5, 83, 0, 0, 1442, 1443, 5, 105, 0, 0, 1443, 1444, - 5, 122, 0, 0, 1444, 1445, 5, 101, 0, 0, 1445, 212, 1, 0, 0, 0, 1446, 1447, - 5, 99, 0, 0, 1447, 1448, 5, 108, 0, 0, 1448, 1449, 5, 111, 0, 0, 1449, - 1450, 5, 115, 0, 0, 1450, 1451, 5, 101, 0, 0, 1451, 214, 1, 0, 0, 0, 1452, - 1453, 5, 99, 0, 0, 1453, 1454, 5, 111, 0, 0, 1454, 1455, 5, 108, 0, 0, - 1455, 1456, 5, 108, 0, 0, 1456, 1457, 5, 97, 0, 0, 1457, 1458, 5, 116, - 0, 0, 1458, 1459, 5, 105, 0, 0, 1459, 1460, 5, 111, 0, 0, 1460, 1461, 5, - 110, 0, 0, 1461, 216, 1, 0, 0, 0, 1462, 1463, 5, 99, 0, 0, 1463, 1464, - 5, 111, 0, 0, 1464, 1465, 5, 109, 0, 0, 1465, 1466, 5, 109, 0, 0, 1466, - 1467, 5, 101, 0, 0, 1467, 1468, 5, 110, 0, 0, 1468, 1469, 5, 116, 0, 0, - 1469, 218, 1, 0, 0, 0, 1470, 1471, 5, 101, 0, 0, 1471, 1472, 5, 120, 0, - 0, 1472, 1473, 5, 112, 0, 0, 1473, 1474, 5, 108, 0, 0, 1474, 1475, 5, 97, - 0, 0, 1475, 1476, 5, 105, 0, 0, 1476, 1477, 5, 110, 0, 0, 1477, 220, 1, - 0, 0, 0, 1478, 1479, 5, 102, 0, 0, 1479, 1480, 5, 111, 0, 0, 1480, 1481, - 5, 114, 0, 0, 1481, 1482, 5, 69, 0, 0, 1482, 1483, 5, 97, 0, 0, 1483, 1484, - 5, 99, 0, 0, 1484, 1485, 5, 104, 0, 0, 1485, 222, 1, 0, 0, 0, 1486, 1487, - 5, 104, 0, 0, 1487, 1488, 5, 97, 0, 0, 1488, 1489, 5, 115, 0, 0, 1489, - 1490, 5, 78, 0, 0, 1490, 1491, 5, 101, 0, 0, 1491, 1492, 5, 120, 0, 0, - 1492, 1493, 5, 116, 0, 0, 1493, 224, 1, 0, 0, 0, 1494, 1495, 5, 104, 0, - 0, 1495, 1496, 5, 105, 0, 0, 1496, 1497, 5, 110, 0, 0, 1497, 1498, 5, 116, - 0, 0, 1498, 226, 1, 0, 0, 0, 1499, 1500, 5, 105, 0, 0, 1500, 1501, 5, 115, - 0, 0, 1501, 1502, 5, 67, 0, 0, 1502, 1503, 5, 108, 0, 0, 1503, 1504, 5, - 111, 0, 0, 1504, 1505, 5, 115, 0, 0, 1505, 1506, 5, 101, 0, 0, 1506, 1507, - 5, 100, 0, 0, 1507, 228, 1, 0, 0, 0, 1508, 1509, 5, 105, 0, 0, 1509, 1510, - 5, 115, 0, 0, 1510, 1511, 5, 69, 0, 0, 1511, 1512, 5, 120, 0, 0, 1512, - 1513, 5, 104, 0, 0, 1513, 1514, 5, 97, 0, 0, 1514, 1515, 5, 117, 0, 0, - 1515, 1516, 5, 115, 0, 0, 1516, 1517, 5, 116, 0, 0, 1517, 1518, 5, 101, - 0, 0, 1518, 1519, 5, 100, 0, 0, 1519, 230, 1, 0, 0, 0, 1520, 1521, 5, 105, - 0, 0, 1521, 1522, 5, 116, 0, 0, 1522, 1523, 5, 99, 0, 0, 1523, 1524, 5, - 111, 0, 0, 1524, 1525, 5, 117, 0, 0, 1525, 1526, 5, 110, 0, 0, 1526, 1527, - 5, 116, 0, 0, 1527, 232, 1, 0, 0, 0, 1528, 1529, 5, 109, 0, 0, 1529, 1530, - 5, 97, 0, 0, 1530, 1531, 5, 112, 0, 0, 1531, 234, 1, 0, 0, 0, 1532, 1533, - 5, 109, 0, 0, 1533, 1534, 5, 97, 0, 0, 1534, 1535, 5, 120, 0, 0, 1535, - 236, 1, 0, 0, 0, 1536, 1537, 5, 109, 0, 0, 1537, 1538, 5, 97, 0, 0, 1538, - 1539, 5, 120, 0, 0, 1539, 1540, 5, 65, 0, 0, 1540, 1541, 5, 119, 0, 0, - 1541, 1542, 5, 97, 0, 0, 1542, 1543, 5, 105, 0, 0, 1543, 1544, 5, 116, - 0, 0, 1544, 1545, 5, 84, 0, 0, 1545, 1546, 5, 105, 0, 0, 1546, 1547, 5, - 109, 0, 0, 1547, 1548, 5, 101, 0, 0, 1548, 1549, 5, 77, 0, 0, 1549, 1550, - 5, 83, 0, 0, 1550, 238, 1, 0, 0, 0, 1551, 1552, 5, 109, 0, 0, 1552, 1553, - 5, 97, 0, 0, 1553, 1554, 5, 120, 0, 0, 1554, 1555, 5, 84, 0, 0, 1555, 1556, - 5, 105, 0, 0, 1556, 1557, 5, 109, 0, 0, 1557, 1558, 5, 101, 0, 0, 1558, - 1559, 5, 77, 0, 0, 1559, 1560, 5, 83, 0, 0, 1560, 240, 1, 0, 0, 0, 1561, - 1562, 5, 109, 0, 0, 1562, 1563, 5, 105, 0, 0, 1563, 1564, 5, 110, 0, 0, - 1564, 242, 1, 0, 0, 0, 1565, 1566, 5, 110, 0, 0, 1566, 1567, 5, 101, 0, - 0, 1567, 1568, 5, 120, 0, 0, 1568, 1569, 5, 116, 0, 0, 1569, 244, 1, 0, - 0, 0, 1570, 1571, 5, 110, 0, 0, 1571, 1572, 5, 111, 0, 0, 1572, 1573, 5, - 67, 0, 0, 1573, 1574, 5, 117, 0, 0, 1574, 1575, 5, 114, 0, 0, 1575, 1576, - 5, 115, 0, 0, 1576, 1577, 5, 111, 0, 0, 1577, 1578, 5, 114, 0, 0, 1578, - 1579, 5, 84, 0, 0, 1579, 1580, 5, 105, 0, 0, 1580, 1581, 5, 109, 0, 0, - 1581, 1582, 5, 101, 0, 0, 1582, 1583, 5, 111, 0, 0, 1583, 1584, 5, 117, - 0, 0, 1584, 1585, 5, 116, 0, 0, 1585, 246, 1, 0, 0, 0, 1586, 1587, 5, 111, - 0, 0, 1587, 1588, 5, 98, 0, 0, 1588, 1589, 5, 106, 0, 0, 1589, 1590, 5, - 115, 0, 0, 1590, 1591, 5, 76, 0, 0, 1591, 1592, 5, 101, 0, 0, 1592, 1593, - 5, 102, 0, 0, 1593, 1594, 5, 116, 0, 0, 1594, 1595, 5, 73, 0, 0, 1595, - 1596, 5, 110, 0, 0, 1596, 1597, 5, 66, 0, 0, 1597, 1598, 5, 97, 0, 0, 1598, - 1599, 5, 116, 0, 0, 1599, 1600, 5, 99, 0, 0, 1600, 1601, 5, 104, 0, 0, - 1601, 248, 1, 0, 0, 0, 1602, 1603, 5, 112, 0, 0, 1603, 1604, 5, 114, 0, - 0, 1604, 1605, 5, 101, 0, 0, 1605, 1606, 5, 116, 0, 0, 1606, 1607, 5, 116, - 0, 0, 1607, 1608, 5, 121, 0, 0, 1608, 250, 1, 0, 0, 0, 1609, 1610, 5, 114, - 0, 0, 1610, 1611, 5, 101, 0, 0, 1611, 1612, 5, 97, 0, 0, 1612, 1613, 5, - 100, 0, 0, 1613, 1614, 5, 67, 0, 0, 1614, 1615, 5, 111, 0, 0, 1615, 1616, - 5, 110, 0, 0, 1616, 1617, 5, 99, 0, 0, 1617, 1618, 5, 101, 0, 0, 1618, - 1619, 5, 114, 0, 0, 1619, 1620, 5, 110, 0, 0, 1620, 252, 1, 0, 0, 0, 1621, - 1622, 5, 114, 0, 0, 1622, 1623, 5, 101, 0, 0, 1623, 1624, 5, 97, 0, 0, - 1624, 1625, 5, 100, 0, 0, 1625, 1626, 5, 80, 0, 0, 1626, 1627, 5, 114, - 0, 0, 1627, 1628, 5, 101, 0, 0, 1628, 1629, 5, 102, 0, 0, 1629, 254, 1, - 0, 0, 0, 1630, 1631, 5, 114, 0, 0, 1631, 1632, 5, 101, 0, 0, 1632, 1633, - 5, 116, 0, 0, 1633, 1634, 5, 117, 0, 0, 1634, 1635, 5, 114, 0, 0, 1635, - 1636, 5, 110, 0, 0, 1636, 1637, 5, 75, 0, 0, 1637, 1638, 5, 101, 0, 0, - 1638, 1639, 5, 121, 0, 0, 1639, 256, 1, 0, 0, 0, 1640, 1641, 5, 115, 0, - 0, 1641, 1642, 5, 104, 0, 0, 1642, 1643, 5, 111, 0, 0, 1643, 1644, 5, 119, - 0, 0, 1644, 1645, 5, 82, 0, 0, 1645, 1646, 5, 101, 0, 0, 1646, 1647, 5, - 99, 0, 0, 1647, 1648, 5, 111, 0, 0, 1648, 1649, 5, 114, 0, 0, 1649, 1650, - 5, 100, 0, 0, 1650, 1651, 5, 73, 0, 0, 1651, 1652, 5, 100, 0, 0, 1652, - 258, 1, 0, 0, 0, 1653, 1654, 5, 115, 0, 0, 1654, 1655, 5, 105, 0, 0, 1655, - 1656, 5, 122, 0, 0, 1656, 1657, 5, 101, 0, 0, 1657, 260, 1, 0, 0, 0, 1658, - 1659, 5, 116, 0, 0, 1659, 1660, 5, 97, 0, 0, 1660, 1661, 5, 105, 0, 0, - 1661, 1662, 5, 108, 0, 0, 1662, 1663, 5, 97, 0, 0, 1663, 1664, 5, 98, 0, - 0, 1664, 1665, 5, 108, 0, 0, 1665, 1666, 5, 101, 0, 0, 1666, 262, 1, 0, - 0, 0, 1667, 1668, 5, 116, 0, 0, 1668, 1669, 5, 111, 0, 0, 1669, 1670, 5, - 65, 0, 0, 1670, 1671, 5, 114, 0, 0, 1671, 1672, 5, 114, 0, 0, 1672, 1673, - 5, 97, 0, 0, 1673, 1674, 5, 121, 0, 0, 1674, 264, 1, 0, 0, 0, 1675, 1676, - 5, 116, 0, 0, 1676, 1677, 5, 114, 0, 0, 1677, 1678, 5, 121, 0, 0, 1678, - 1679, 5, 78, 0, 0, 1679, 1680, 5, 101, 0, 0, 1680, 1681, 5, 120, 0, 0, - 1681, 1682, 5, 116, 0, 0, 1682, 266, 1, 0, 0, 0, 1683, 1684, 5, 97, 0, - 0, 1684, 1685, 5, 108, 0, 0, 1685, 1686, 5, 108, 0, 0, 1686, 1687, 5, 111, - 0, 0, 1687, 1688, 5, 119, 0, 0, 1688, 1689, 5, 68, 0, 0, 1689, 1690, 5, - 105, 0, 0, 1690, 1691, 5, 115, 0, 0, 1691, 1692, 5, 107, 0, 0, 1692, 1693, - 5, 85, 0, 0, 1693, 1694, 5, 115, 0, 0, 1694, 1695, 5, 101, 0, 0, 1695, - 268, 1, 0, 0, 0, 1696, 1697, 5, 97, 0, 0, 1697, 1698, 5, 100, 0, 0, 1698, - 1699, 5, 100, 0, 0, 1699, 1700, 5, 79, 0, 0, 1700, 1701, 5, 112, 0, 0, - 1701, 1702, 5, 116, 0, 0, 1702, 1703, 5, 105, 0, 0, 1703, 1704, 5, 111, - 0, 0, 1704, 1705, 5, 110, 0, 0, 1705, 270, 1, 0, 0, 0, 1706, 1707, 5, 40, - 0, 0, 1707, 272, 1, 0, 0, 0, 1708, 1709, 5, 41, 0, 0, 1709, 274, 1, 0, - 0, 0, 1710, 1711, 5, 123, 0, 0, 1711, 276, 1, 0, 0, 0, 1712, 1713, 5, 125, - 0, 0, 1713, 278, 1, 0, 0, 0, 1714, 1715, 5, 91, 0, 0, 1715, 280, 1, 0, - 0, 0, 1716, 1717, 5, 93, 0, 0, 1717, 282, 1, 0, 0, 0, 1718, 1719, 5, 58, - 0, 0, 1719, 284, 1, 0, 0, 0, 1720, 1721, 5, 44, 0, 0, 1721, 286, 1, 0, - 0, 0, 1722, 1723, 5, 46, 0, 0, 1723, 288, 1, 0, 0, 0, 1724, 1725, 5, 59, - 0, 0, 1725, 290, 1, 0, 0, 0, 1726, 1727, 5, 36, 0, 0, 1727, 292, 1, 0, - 0, 0, 1728, 1729, 5, 47, 0, 0, 1729, 1730, 5, 47, 0, 0, 1730, 1734, 1, - 0, 0, 0, 1731, 1733, 8, 0, 0, 0, 1732, 1731, 1, 0, 0, 0, 1733, 1736, 1, - 0, 0, 0, 1734, 1732, 1, 0, 0, 0, 1734, 1735, 1, 0, 0, 0, 1735, 1737, 1, - 0, 0, 0, 1736, 1734, 1, 0, 0, 0, 1737, 1738, 6, 146, 0, 0, 1738, 294, 1, - 0, 0, 0, 1739, 1740, 5, 47, 0, 0, 1740, 1741, 5, 42, 0, 0, 1741, 1745, - 1, 0, 0, 0, 1742, 1744, 9, 0, 0, 0, 1743, 1742, 1, 0, 0, 0, 1744, 1747, - 1, 0, 0, 0, 1745, 1746, 1, 0, 0, 0, 1745, 1743, 1, 0, 0, 0, 1746, 1748, - 1, 0, 0, 0, 1747, 1745, 1, 0, 0, 0, 1748, 1749, 5, 42, 0, 0, 1749, 1750, - 5, 47, 0, 0, 1750, 1751, 1, 0, 0, 0, 1751, 1752, 6, 147, 0, 0, 1752, 296, - 1, 0, 0, 0, 1753, 1754, 5, 47, 0, 0, 1754, 1755, 3, 299, 149, 0, 1755, - 1757, 5, 47, 0, 0, 1756, 1758, 3, 303, 151, 0, 1757, 1756, 1, 0, 0, 0, - 1757, 1758, 1, 0, 0, 0, 1758, 298, 1, 0, 0, 0, 1759, 1761, 3, 301, 150, - 0, 1760, 1759, 1, 0, 0, 0, 1761, 1762, 1, 0, 0, 0, 1762, 1760, 1, 0, 0, - 0, 1762, 1763, 1, 0, 0, 0, 1763, 300, 1, 0, 0, 0, 1764, 1768, 8, 1, 0, - 0, 1765, 1766, 5, 92, 0, 0, 1766, 1768, 9, 0, 0, 0, 1767, 1764, 1, 0, 0, - 0, 1767, 1765, 1, 0, 0, 0, 1768, 302, 1, 0, 0, 0, 1769, 1771, 7, 2, 0, - 0, 1770, 1769, 1, 0, 0, 0, 1771, 1772, 1, 0, 0, 0, 1772, 1770, 1, 0, 0, - 0, 1772, 1773, 1, 0, 0, 0, 1773, 304, 1, 0, 0, 0, 1774, 1776, 5, 45, 0, - 0, 1775, 1774, 1, 0, 0, 0, 1775, 1776, 1, 0, 0, 0, 1776, 1777, 1, 0, 0, - 0, 1777, 1784, 3, 307, 153, 0, 1778, 1780, 5, 46, 0, 0, 1779, 1781, 7, - 3, 0, 0, 1780, 1779, 1, 0, 0, 0, 1781, 1782, 1, 0, 0, 0, 1782, 1780, 1, - 0, 0, 0, 1782, 1783, 1, 0, 0, 0, 1783, 1785, 1, 0, 0, 0, 1784, 1778, 1, - 0, 0, 0, 1784, 1785, 1, 0, 0, 0, 1785, 1787, 1, 0, 0, 0, 1786, 1788, 3, - 309, 154, 0, 1787, 1786, 1, 0, 0, 0, 1787, 1788, 1, 0, 0, 0, 1788, 1802, - 1, 0, 0, 0, 1789, 1791, 5, 45, 0, 0, 1790, 1789, 1, 0, 0, 0, 1790, 1791, - 1, 0, 0, 0, 1791, 1792, 1, 0, 0, 0, 1792, 1794, 5, 46, 0, 0, 1793, 1795, - 7, 3, 0, 0, 1794, 1793, 1, 0, 0, 0, 1795, 1796, 1, 0, 0, 0, 1796, 1794, - 1, 0, 0, 0, 1796, 1797, 1, 0, 0, 0, 1797, 1799, 1, 0, 0, 0, 1798, 1800, - 3, 309, 154, 0, 1799, 1798, 1, 0, 0, 0, 1799, 1800, 1, 0, 0, 0, 1800, 1802, - 1, 0, 0, 0, 1801, 1775, 1, 0, 0, 0, 1801, 1790, 1, 0, 0, 0, 1802, 306, - 1, 0, 0, 0, 1803, 1812, 5, 48, 0, 0, 1804, 1808, 7, 4, 0, 0, 1805, 1807, - 7, 3, 0, 0, 1806, 1805, 1, 0, 0, 0, 1807, 1810, 1, 0, 0, 0, 1808, 1806, - 1, 0, 0, 0, 1808, 1809, 1, 0, 0, 0, 1809, 1812, 1, 0, 0, 0, 1810, 1808, - 1, 0, 0, 0, 1811, 1803, 1, 0, 0, 0, 1811, 1804, 1, 0, 0, 0, 1812, 308, - 1, 0, 0, 0, 1813, 1815, 7, 5, 0, 0, 1814, 1816, 7, 6, 0, 0, 1815, 1814, - 1, 0, 0, 0, 1815, 1816, 1, 0, 0, 0, 1816, 1818, 1, 0, 0, 0, 1817, 1819, - 7, 3, 0, 0, 1818, 1817, 1, 0, 0, 0, 1819, 1820, 1, 0, 0, 0, 1820, 1818, - 1, 0, 0, 0, 1820, 1821, 1, 0, 0, 0, 1821, 310, 1, 0, 0, 0, 1822, 1827, - 5, 34, 0, 0, 1823, 1826, 3, 315, 157, 0, 1824, 1826, 8, 7, 0, 0, 1825, - 1823, 1, 0, 0, 0, 1825, 1824, 1, 0, 0, 0, 1826, 1829, 1, 0, 0, 0, 1827, - 1825, 1, 0, 0, 0, 1827, 1828, 1, 0, 0, 0, 1828, 1830, 1, 0, 0, 0, 1829, - 1827, 1, 0, 0, 0, 1830, 1831, 5, 34, 0, 0, 1831, 312, 1, 0, 0, 0, 1832, - 1837, 5, 39, 0, 0, 1833, 1836, 3, 315, 157, 0, 1834, 1836, 8, 8, 0, 0, - 1835, 1833, 1, 0, 0, 0, 1835, 1834, 1, 0, 0, 0, 1836, 1839, 1, 0, 0, 0, - 1837, 1835, 1, 0, 0, 0, 1837, 1838, 1, 0, 0, 0, 1838, 1840, 1, 0, 0, 0, - 1839, 1837, 1, 0, 0, 0, 1840, 1841, 5, 39, 0, 0, 1841, 314, 1, 0, 0, 0, - 1842, 1846, 5, 92, 0, 0, 1843, 1847, 7, 9, 0, 0, 1844, 1847, 3, 317, 158, - 0, 1845, 1847, 5, 39, 0, 0, 1846, 1843, 1, 0, 0, 0, 1846, 1844, 1, 0, 0, - 0, 1846, 1845, 1, 0, 0, 0, 1847, 316, 1, 0, 0, 0, 1848, 1849, 5, 117, 0, - 0, 1849, 1850, 3, 319, 159, 0, 1850, 1851, 3, 319, 159, 0, 1851, 1852, - 3, 319, 159, 0, 1852, 1853, 3, 319, 159, 0, 1853, 318, 1, 0, 0, 0, 1854, - 1855, 7, 10, 0, 0, 1855, 320, 1, 0, 0, 0, 1856, 1860, 7, 11, 0, 0, 1857, - 1859, 7, 12, 0, 0, 1858, 1857, 1, 0, 0, 0, 1859, 1862, 1, 0, 0, 0, 1860, - 1858, 1, 0, 0, 0, 1860, 1861, 1, 0, 0, 0, 1861, 322, 1, 0, 0, 0, 1862, - 1860, 1, 0, 0, 0, 1863, 1865, 7, 13, 0, 0, 1864, 1863, 1, 0, 0, 0, 1865, - 1866, 1, 0, 0, 0, 1866, 1864, 1, 0, 0, 0, 1866, 1867, 1, 0, 0, 0, 1867, - 1868, 1, 0, 0, 0, 1868, 1869, 6, 161, 0, 0, 1869, 324, 1, 0, 0, 0, 26, - 0, 1734, 1745, 1757, 1762, 1767, 1772, 1775, 1782, 1784, 1787, 1790, 1796, - 1799, 1801, 1808, 1811, 1815, 1820, 1825, 1827, 1835, 1837, 1846, 1860, - 1866, 1, 0, 1, 0, + 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, + 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, + 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, + 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, + 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, + 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, + 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, + 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, + 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, + 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, + 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, + 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, + 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, + 1, 136, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, + 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, + 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, + 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, + 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, + 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, + 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, + 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143, + 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, + 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, + 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, + 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, + 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, + 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, + 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, + 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, + 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, + 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, + 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, + 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, + 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, + 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, + 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, + 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, + 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, + 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, + 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, + 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, + 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, + 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, + 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, + 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, + 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, + 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, + 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, + 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, + 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, + 1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, + 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, + 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 168, 1, 168, 1, 168, + 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 169, 1, 169, + 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 170, 1, 170, 1, 170, + 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 1, 171, + 1, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, + 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 174, + 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 175, + 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, + 1, 175, 1, 175, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, + 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 178, 1, 178, + 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, + 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, 180, + 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 181, 1, 181, + 1, 181, 1, 181, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 183, 1, 183, + 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, + 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 184, 1, 184, 1, 184, 1, 184, + 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, + 1, 184, 1, 184, 1, 184, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, + 1, 185, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, + 1, 186, 1, 186, 1, 186, 1, 186, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, + 1, 187, 1, 187, 1, 187, 1, 187, 1, 188, 1, 188, 1, 188, 1, 188, 1, 188, + 1, 188, 1, 188, 1, 188, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 189, + 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, + 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 191, 1, 191, 1, 191, 1, 191, + 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 192, + 1, 192, 1, 192, 1, 192, 1, 192, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, + 1, 193, 1, 193, 1, 193, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, + 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 195, 1, 195, + 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 196, + 1, 196, 1, 197, 1, 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, 1, 200, + 1, 201, 1, 201, 1, 202, 1, 202, 1, 203, 1, 203, 1, 204, 1, 204, 1, 205, + 1, 205, 1, 206, 1, 206, 1, 207, 1, 207, 1, 207, 1, 207, 5, 207, 2754, 8, + 207, 10, 207, 12, 207, 2757, 9, 207, 1, 207, 1, 207, 1, 208, 1, 208, 1, + 208, 1, 208, 5, 208, 2765, 8, 208, 10, 208, 12, 208, 2768, 9, 208, 1, 208, + 1, 208, 1, 208, 1, 208, 1, 208, 1, 209, 1, 209, 1, 209, 1, 209, 3, 209, + 2779, 8, 209, 1, 210, 4, 210, 2782, 8, 210, 11, 210, 12, 210, 2783, 1, + 211, 1, 211, 1, 211, 3, 211, 2789, 8, 211, 1, 212, 4, 212, 2792, 8, 212, + 11, 212, 12, 212, 2793, 1, 213, 3, 213, 2797, 8, 213, 1, 213, 1, 213, 1, + 213, 4, 213, 2802, 8, 213, 11, 213, 12, 213, 2803, 3, 213, 2806, 8, 213, + 1, 213, 3, 213, 2809, 8, 213, 1, 213, 3, 213, 2812, 8, 213, 1, 213, 1, + 213, 4, 213, 2816, 8, 213, 11, 213, 12, 213, 2817, 1, 213, 3, 213, 2821, + 8, 213, 3, 213, 2823, 8, 213, 1, 214, 1, 214, 1, 214, 5, 214, 2828, 8, + 214, 10, 214, 12, 214, 2831, 9, 214, 3, 214, 2833, 8, 214, 1, 215, 1, 215, + 3, 215, 2837, 8, 215, 1, 215, 4, 215, 2840, 8, 215, 11, 215, 12, 215, 2841, + 1, 216, 1, 216, 1, 216, 5, 216, 2847, 8, 216, 10, 216, 12, 216, 2850, 9, + 216, 1, 216, 1, 216, 1, 217, 1, 217, 1, 217, 5, 217, 2857, 8, 217, 10, + 217, 12, 217, 2860, 9, 217, 1, 217, 1, 217, 1, 218, 1, 218, 1, 218, 1, + 218, 3, 218, 2868, 8, 218, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, + 1, 220, 1, 220, 1, 221, 1, 221, 5, 221, 2880, 8, 221, 10, 221, 12, 221, + 2883, 9, 221, 1, 222, 4, 222, 2886, 8, 222, 11, 222, 12, 222, 2887, 1, + 222, 1, 222, 1, 2766, 0, 223, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, + 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, + 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, + 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, + 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, + 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, + 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, + 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, + 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, + 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, + 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, + 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, + 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, + 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, + 231, 116, 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, 122, 245, + 123, 247, 124, 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, 130, + 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, + 138, 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, 144, 289, 145, + 291, 146, 293, 147, 295, 148, 297, 149, 299, 150, 301, 151, 303, 152, 305, + 153, 307, 154, 309, 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, + 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, 166, 333, 167, 335, + 168, 337, 169, 339, 170, 341, 171, 343, 172, 345, 173, 347, 174, 349, 175, + 351, 176, 353, 177, 355, 178, 357, 179, 359, 180, 361, 181, 363, 182, 365, + 183, 367, 184, 369, 185, 371, 186, 373, 187, 375, 188, 377, 189, 379, 190, + 381, 191, 383, 192, 385, 193, 387, 194, 389, 195, 391, 196, 393, 197, 395, + 198, 397, 199, 399, 200, 401, 201, 403, 202, 405, 203, 407, 204, 409, 205, + 411, 206, 413, 207, 415, 208, 417, 209, 419, 210, 421, 0, 423, 0, 425, + 0, 427, 211, 429, 0, 431, 0, 433, 212, 435, 213, 437, 0, 439, 0, 441, 0, + 443, 214, 445, 215, 1, 0, 14, 2, 0, 10, 10, 13, 13, 4, 0, 10, 10, 13, 13, + 47, 47, 92, 92, 6, 0, 103, 103, 105, 105, 109, 109, 115, 115, 117, 117, + 121, 121, 1, 0, 48, 57, 1, 0, 49, 57, 2, 0, 69, 69, 101, 101, 2, 0, 43, + 43, 45, 45, 2, 0, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 8, 0, 34, 34, 47, + 47, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 48, 57, + 65, 70, 97, 102, 4, 0, 36, 36, 65, 90, 95, 95, 97, 122, 5, 0, 36, 36, 48, + 57, 65, 90, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 2908, 0, 1, 1, + 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, + 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, + 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, + 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, + 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, + 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, + 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, + 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, + 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, + 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, + 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, + 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, + 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, + 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, + 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, + 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, + 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, + 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, + 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, + 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, + 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, + 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, + 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, + 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, + 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, + 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, + 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, + 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, + 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, + 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, + 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, + 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, + 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, + 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, + 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, + 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, + 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, + 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, + 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, + 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, + 0, 0, 0, 0, 297, 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, + 303, 1, 0, 0, 0, 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, 0, 0, 309, 1, 0, + 0, 0, 0, 311, 1, 0, 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, 0, 0, 0, 0, 317, + 1, 0, 0, 0, 0, 319, 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, 323, 1, 0, 0, 0, + 0, 325, 1, 0, 0, 0, 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, 0, 0, 331, 1, + 0, 0, 0, 0, 333, 1, 0, 0, 0, 0, 335, 1, 0, 0, 0, 0, 337, 1, 0, 0, 0, 0, + 339, 1, 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, 1, 0, 0, 0, 0, 345, 1, 0, + 0, 0, 0, 347, 1, 0, 0, 0, 0, 349, 1, 0, 0, 0, 0, 351, 1, 0, 0, 0, 0, 353, + 1, 0, 0, 0, 0, 355, 1, 0, 0, 0, 0, 357, 1, 0, 0, 0, 0, 359, 1, 0, 0, 0, + 0, 361, 1, 0, 0, 0, 0, 363, 1, 0, 0, 0, 0, 365, 1, 0, 0, 0, 0, 367, 1, + 0, 0, 0, 0, 369, 1, 0, 0, 0, 0, 371, 1, 0, 0, 0, 0, 373, 1, 0, 0, 0, 0, + 375, 1, 0, 0, 0, 0, 377, 1, 0, 0, 0, 0, 379, 1, 0, 0, 0, 0, 381, 1, 0, + 0, 0, 0, 383, 1, 0, 0, 0, 0, 385, 1, 0, 0, 0, 0, 387, 1, 0, 0, 0, 0, 389, + 1, 0, 0, 0, 0, 391, 1, 0, 0, 0, 0, 393, 1, 0, 0, 0, 0, 395, 1, 0, 0, 0, + 0, 397, 1, 0, 0, 0, 0, 399, 1, 0, 0, 0, 0, 401, 1, 0, 0, 0, 0, 403, 1, + 0, 0, 0, 0, 405, 1, 0, 0, 0, 0, 407, 1, 0, 0, 0, 0, 409, 1, 0, 0, 0, 0, + 411, 1, 0, 0, 0, 0, 413, 1, 0, 0, 0, 0, 415, 1, 0, 0, 0, 0, 417, 1, 0, + 0, 0, 0, 419, 1, 0, 0, 0, 0, 427, 1, 0, 0, 0, 0, 433, 1, 0, 0, 0, 0, 435, + 1, 0, 0, 0, 0, 443, 1, 0, 0, 0, 0, 445, 1, 0, 0, 0, 1, 447, 1, 0, 0, 0, + 3, 452, 1, 0, 0, 0, 5, 456, 1, 0, 0, 0, 7, 466, 1, 0, 0, 0, 9, 478, 1, + 0, 0, 0, 11, 481, 1, 0, 0, 0, 13, 485, 1, 0, 0, 0, 15, 490, 1, 0, 0, 0, + 17, 496, 1, 0, 0, 0, 19, 501, 1, 0, 0, 0, 21, 515, 1, 0, 0, 0, 23, 534, + 1, 0, 0, 0, 25, 553, 1, 0, 0, 0, 27, 562, 1, 0, 0, 0, 29, 570, 1, 0, 0, + 0, 31, 575, 1, 0, 0, 0, 33, 580, 1, 0, 0, 0, 35, 585, 1, 0, 0, 0, 37, 596, + 1, 0, 0, 0, 39, 602, 1, 0, 0, 0, 41, 612, 1, 0, 0, 0, 43, 619, 1, 0, 0, + 0, 45, 630, 1, 0, 0, 0, 47, 644, 1, 0, 0, 0, 49, 654, 1, 0, 0, 0, 51, 661, + 1, 0, 0, 0, 53, 669, 1, 0, 0, 0, 55, 676, 1, 0, 0, 0, 57, 687, 1, 0, 0, + 0, 59, 695, 1, 0, 0, 0, 61, 700, 1, 0, 0, 0, 63, 708, 1, 0, 0, 0, 65, 723, + 1, 0, 0, 0, 67, 746, 1, 0, 0, 0, 69, 755, 1, 0, 0, 0, 71, 765, 1, 0, 0, + 0, 73, 776, 1, 0, 0, 0, 75, 786, 1, 0, 0, 0, 77, 797, 1, 0, 0, 0, 79, 807, + 1, 0, 0, 0, 81, 818, 1, 0, 0, 0, 83, 828, 1, 0, 0, 0, 85, 839, 1, 0, 0, + 0, 87, 850, 1, 0, 0, 0, 89, 867, 1, 0, 0, 0, 91, 885, 1, 0, 0, 0, 93, 902, + 1, 0, 0, 0, 95, 914, 1, 0, 0, 0, 97, 928, 1, 0, 0, 0, 99, 938, 1, 0, 0, + 0, 101, 950, 1, 0, 0, 0, 103, 955, 1, 0, 0, 0, 105, 972, 1, 0, 0, 0, 107, + 978, 1, 0, 0, 0, 109, 990, 1, 0, 0, 0, 111, 1005, 1, 0, 0, 0, 113, 1015, + 1, 0, 0, 0, 115, 1024, 1, 0, 0, 0, 117, 1033, 1, 0, 0, 0, 119, 1042, 1, + 0, 0, 0, 121, 1055, 1, 0, 0, 0, 123, 1065, 1, 0, 0, 0, 125, 1072, 1, 0, + 0, 0, 127, 1082, 1, 0, 0, 0, 129, 1096, 1, 0, 0, 0, 131, 1112, 1, 0, 0, + 0, 133, 1135, 1, 0, 0, 0, 135, 1167, 1, 0, 0, 0, 137, 1177, 1, 0, 0, 0, + 139, 1189, 1, 0, 0, 0, 141, 1197, 1, 0, 0, 0, 143, 1218, 1, 0, 0, 0, 145, + 1234, 1, 0, 0, 0, 147, 1252, 1, 0, 0, 0, 149, 1272, 1, 0, 0, 0, 151, 1288, + 1, 0, 0, 0, 153, 1306, 1, 0, 0, 0, 155, 1323, 1, 0, 0, 0, 157, 1336, 1, + 0, 0, 0, 159, 1345, 1, 0, 0, 0, 161, 1358, 1, 0, 0, 0, 163, 1374, 1, 0, + 0, 0, 165, 1387, 1, 0, 0, 0, 167, 1395, 1, 0, 0, 0, 169, 1406, 1, 0, 0, + 0, 171, 1419, 1, 0, 0, 0, 173, 1427, 1, 0, 0, 0, 175, 1436, 1, 0, 0, 0, + 177, 1449, 1, 0, 0, 0, 179, 1454, 1, 0, 0, 0, 181, 1473, 1, 0, 0, 0, 183, + 1487, 1, 0, 0, 0, 185, 1499, 1, 0, 0, 0, 187, 1512, 1, 0, 0, 0, 189, 1523, + 1, 0, 0, 0, 191, 1534, 1, 0, 0, 0, 193, 1545, 1, 0, 0, 0, 195, 1555, 1, + 0, 0, 0, 197, 1568, 1, 0, 0, 0, 199, 1581, 1, 0, 0, 0, 201, 1590, 1, 0, + 0, 0, 203, 1599, 1, 0, 0, 0, 205, 1609, 1, 0, 0, 0, 207, 1621, 1, 0, 0, + 0, 209, 1638, 1, 0, 0, 0, 211, 1656, 1, 0, 0, 0, 213, 1675, 1, 0, 0, 0, + 215, 1694, 1, 0, 0, 0, 217, 1702, 1, 0, 0, 0, 219, 1711, 1, 0, 0, 0, 221, + 1719, 1, 0, 0, 0, 223, 1728, 1, 0, 0, 0, 225, 1750, 1, 0, 0, 0, 227, 1767, + 1, 0, 0, 0, 229, 1784, 1, 0, 0, 0, 231, 1790, 1, 0, 0, 0, 233, 1799, 1, + 0, 0, 0, 235, 1806, 1, 0, 0, 0, 237, 1813, 1, 0, 0, 0, 239, 1834, 1, 0, + 0, 0, 241, 1855, 1, 0, 0, 0, 243, 1885, 1, 0, 0, 0, 245, 1905, 1, 0, 0, + 0, 247, 1931, 1, 0, 0, 0, 249, 1956, 1, 0, 0, 0, 251, 1976, 1, 0, 0, 0, + 253, 1996, 1, 0, 0, 0, 255, 2015, 1, 0, 0, 0, 257, 2027, 1, 0, 0, 0, 259, + 2045, 1, 0, 0, 0, 261, 2060, 1, 0, 0, 0, 263, 2075, 1, 0, 0, 0, 265, 2086, + 1, 0, 0, 0, 267, 2097, 1, 0, 0, 0, 269, 2103, 1, 0, 0, 0, 271, 2111, 1, + 0, 0, 0, 273, 2114, 1, 0, 0, 0, 275, 2117, 1, 0, 0, 0, 277, 2120, 1, 0, + 0, 0, 279, 2126, 1, 0, 0, 0, 281, 2141, 1, 0, 0, 0, 283, 2153, 1, 0, 0, + 0, 285, 2169, 1, 0, 0, 0, 287, 2187, 1, 0, 0, 0, 289, 2203, 1, 0, 0, 0, + 291, 2215, 1, 0, 0, 0, 293, 2230, 1, 0, 0, 0, 295, 2246, 1, 0, 0, 0, 297, + 2259, 1, 0, 0, 0, 299, 2265, 1, 0, 0, 0, 301, 2276, 1, 0, 0, 0, 303, 2288, + 1, 0, 0, 0, 305, 2308, 1, 0, 0, 0, 307, 2321, 1, 0, 0, 0, 309, 2326, 1, + 0, 0, 0, 311, 2332, 1, 0, 0, 0, 313, 2337, 1, 0, 0, 0, 315, 2348, 1, 0, + 0, 0, 317, 2356, 1, 0, 0, 0, 319, 2362, 1, 0, 0, 0, 321, 2386, 1, 0, 0, + 0, 323, 2412, 1, 0, 0, 0, 325, 2420, 1, 0, 0, 0, 327, 2434, 1, 0, 0, 0, + 329, 2443, 1, 0, 0, 0, 331, 2450, 1, 0, 0, 0, 333, 2457, 1, 0, 0, 0, 335, + 2467, 1, 0, 0, 0, 337, 2473, 1, 0, 0, 0, 339, 2483, 1, 0, 0, 0, 341, 2491, + 1, 0, 0, 0, 343, 2499, 1, 0, 0, 0, 345, 2507, 1, 0, 0, 0, 347, 2515, 1, + 0, 0, 0, 349, 2520, 1, 0, 0, 0, 351, 2529, 1, 0, 0, 0, 353, 2541, 1, 0, + 0, 0, 355, 2549, 1, 0, 0, 0, 357, 2553, 1, 0, 0, 0, 359, 2557, 1, 0, 0, + 0, 361, 2572, 1, 0, 0, 0, 363, 2582, 1, 0, 0, 0, 365, 2586, 1, 0, 0, 0, + 367, 2591, 1, 0, 0, 0, 369, 2607, 1, 0, 0, 0, 371, 2623, 1, 0, 0, 0, 373, + 2630, 1, 0, 0, 0, 375, 2642, 1, 0, 0, 0, 377, 2651, 1, 0, 0, 0, 379, 2661, + 1, 0, 0, 0, 381, 2674, 1, 0, 0, 0, 383, 2679, 1, 0, 0, 0, 385, 2688, 1, + 0, 0, 0, 387, 2696, 1, 0, 0, 0, 389, 2704, 1, 0, 0, 0, 391, 2717, 1, 0, + 0, 0, 393, 2727, 1, 0, 0, 0, 395, 2729, 1, 0, 0, 0, 397, 2731, 1, 0, 0, + 0, 399, 2733, 1, 0, 0, 0, 401, 2735, 1, 0, 0, 0, 403, 2737, 1, 0, 0, 0, + 405, 2739, 1, 0, 0, 0, 407, 2741, 1, 0, 0, 0, 409, 2743, 1, 0, 0, 0, 411, + 2745, 1, 0, 0, 0, 413, 2747, 1, 0, 0, 0, 415, 2749, 1, 0, 0, 0, 417, 2760, + 1, 0, 0, 0, 419, 2774, 1, 0, 0, 0, 421, 2781, 1, 0, 0, 0, 423, 2788, 1, + 0, 0, 0, 425, 2791, 1, 0, 0, 0, 427, 2822, 1, 0, 0, 0, 429, 2832, 1, 0, + 0, 0, 431, 2834, 1, 0, 0, 0, 433, 2843, 1, 0, 0, 0, 435, 2853, 1, 0, 0, + 0, 437, 2863, 1, 0, 0, 0, 439, 2869, 1, 0, 0, 0, 441, 2875, 1, 0, 0, 0, + 443, 2877, 1, 0, 0, 0, 445, 2885, 1, 0, 0, 0, 447, 448, 5, 115, 0, 0, 448, + 449, 5, 104, 0, 0, 449, 450, 5, 111, 0, 0, 450, 451, 5, 119, 0, 0, 451, + 2, 1, 0, 0, 0, 452, 453, 5, 100, 0, 0, 453, 454, 5, 98, 0, 0, 454, 455, + 5, 115, 0, 0, 455, 4, 1, 0, 0, 0, 456, 457, 5, 100, 0, 0, 457, 458, 5, + 97, 0, 0, 458, 459, 5, 116, 0, 0, 459, 460, 5, 97, 0, 0, 460, 461, 5, 98, + 0, 0, 461, 462, 5, 97, 0, 0, 462, 463, 5, 115, 0, 0, 463, 464, 5, 101, + 0, 0, 464, 465, 5, 115, 0, 0, 465, 6, 1, 0, 0, 0, 466, 467, 5, 99, 0, 0, + 467, 468, 5, 111, 0, 0, 468, 469, 5, 108, 0, 0, 469, 470, 5, 108, 0, 0, + 470, 471, 5, 101, 0, 0, 471, 472, 5, 99, 0, 0, 472, 473, 5, 116, 0, 0, + 473, 474, 5, 105, 0, 0, 474, 475, 5, 111, 0, 0, 475, 476, 5, 110, 0, 0, + 476, 477, 5, 115, 0, 0, 477, 8, 1, 0, 0, 0, 478, 479, 5, 100, 0, 0, 479, + 480, 5, 98, 0, 0, 480, 10, 1, 0, 0, 0, 481, 482, 5, 110, 0, 0, 482, 483, + 5, 101, 0, 0, 483, 484, 5, 119, 0, 0, 484, 12, 1, 0, 0, 0, 485, 486, 5, + 116, 0, 0, 486, 487, 5, 114, 0, 0, 487, 488, 5, 117, 0, 0, 488, 489, 5, + 101, 0, 0, 489, 14, 1, 0, 0, 0, 490, 491, 5, 102, 0, 0, 491, 492, 5, 97, + 0, 0, 492, 493, 5, 108, 0, 0, 493, 494, 5, 115, 0, 0, 494, 495, 5, 101, + 0, 0, 495, 16, 1, 0, 0, 0, 496, 497, 5, 110, 0, 0, 497, 498, 5, 117, 0, + 0, 498, 499, 5, 108, 0, 0, 499, 500, 5, 108, 0, 0, 500, 18, 1, 0, 0, 0, + 501, 502, 5, 103, 0, 0, 502, 503, 5, 101, 0, 0, 503, 504, 5, 116, 0, 0, + 504, 505, 5, 67, 0, 0, 505, 506, 5, 111, 0, 0, 506, 507, 5, 108, 0, 0, + 507, 508, 5, 108, 0, 0, 508, 509, 5, 101, 0, 0, 509, 510, 5, 99, 0, 0, + 510, 511, 5, 116, 0, 0, 511, 512, 5, 105, 0, 0, 512, 513, 5, 111, 0, 0, + 513, 514, 5, 110, 0, 0, 514, 20, 1, 0, 0, 0, 515, 516, 5, 103, 0, 0, 516, + 517, 5, 101, 0, 0, 517, 518, 5, 116, 0, 0, 518, 519, 5, 67, 0, 0, 519, + 520, 5, 111, 0, 0, 520, 521, 5, 108, 0, 0, 521, 522, 5, 108, 0, 0, 522, + 523, 5, 101, 0, 0, 523, 524, 5, 99, 0, 0, 524, 525, 5, 116, 0, 0, 525, + 526, 5, 105, 0, 0, 526, 527, 5, 111, 0, 0, 527, 528, 5, 110, 0, 0, 528, + 529, 5, 78, 0, 0, 529, 530, 5, 97, 0, 0, 530, 531, 5, 109, 0, 0, 531, 532, + 5, 101, 0, 0, 532, 533, 5, 115, 0, 0, 533, 22, 1, 0, 0, 0, 534, 535, 5, + 103, 0, 0, 535, 536, 5, 101, 0, 0, 536, 537, 5, 116, 0, 0, 537, 538, 5, + 67, 0, 0, 538, 539, 5, 111, 0, 0, 539, 540, 5, 108, 0, 0, 540, 541, 5, + 108, 0, 0, 541, 542, 5, 101, 0, 0, 542, 543, 5, 99, 0, 0, 543, 544, 5, + 116, 0, 0, 544, 545, 5, 105, 0, 0, 545, 546, 5, 111, 0, 0, 546, 547, 5, + 110, 0, 0, 547, 548, 5, 73, 0, 0, 548, 549, 5, 110, 0, 0, 549, 550, 5, + 102, 0, 0, 550, 551, 5, 111, 0, 0, 551, 552, 5, 115, 0, 0, 552, 24, 1, + 0, 0, 0, 553, 554, 5, 79, 0, 0, 554, 555, 5, 98, 0, 0, 555, 556, 5, 106, + 0, 0, 556, 557, 5, 101, 0, 0, 557, 558, 5, 99, 0, 0, 558, 559, 5, 116, + 0, 0, 559, 560, 5, 73, 0, 0, 560, 561, 5, 100, 0, 0, 561, 26, 1, 0, 0, + 0, 562, 563, 5, 73, 0, 0, 563, 564, 5, 83, 0, 0, 564, 565, 5, 79, 0, 0, + 565, 566, 5, 68, 0, 0, 566, 567, 5, 97, 0, 0, 567, 568, 5, 116, 0, 0, 568, + 569, 5, 101, 0, 0, 569, 28, 1, 0, 0, 0, 570, 571, 5, 68, 0, 0, 571, 572, + 5, 97, 0, 0, 572, 573, 5, 116, 0, 0, 573, 574, 5, 101, 0, 0, 574, 30, 1, + 0, 0, 0, 575, 576, 5, 85, 0, 0, 576, 577, 5, 85, 0, 0, 577, 578, 5, 73, + 0, 0, 578, 579, 5, 68, 0, 0, 579, 32, 1, 0, 0, 0, 580, 581, 5, 76, 0, 0, + 581, 582, 5, 111, 0, 0, 582, 583, 5, 110, 0, 0, 583, 584, 5, 103, 0, 0, + 584, 34, 1, 0, 0, 0, 585, 586, 5, 78, 0, 0, 586, 587, 5, 117, 0, 0, 587, + 588, 5, 109, 0, 0, 588, 589, 5, 98, 0, 0, 589, 590, 5, 101, 0, 0, 590, + 591, 5, 114, 0, 0, 591, 592, 5, 76, 0, 0, 592, 593, 5, 111, 0, 0, 593, + 594, 5, 110, 0, 0, 594, 595, 5, 103, 0, 0, 595, 36, 1, 0, 0, 0, 596, 597, + 5, 73, 0, 0, 597, 598, 5, 110, 0, 0, 598, 599, 5, 116, 0, 0, 599, 600, + 5, 51, 0, 0, 600, 601, 5, 50, 0, 0, 601, 38, 1, 0, 0, 0, 602, 603, 5, 78, + 0, 0, 603, 604, 5, 117, 0, 0, 604, 605, 5, 109, 0, 0, 605, 606, 5, 98, + 0, 0, 606, 607, 5, 101, 0, 0, 607, 608, 5, 114, 0, 0, 608, 609, 5, 73, + 0, 0, 609, 610, 5, 110, 0, 0, 610, 611, 5, 116, 0, 0, 611, 40, 1, 0, 0, + 0, 612, 613, 5, 68, 0, 0, 613, 614, 5, 111, 0, 0, 614, 615, 5, 117, 0, + 0, 615, 616, 5, 98, 0, 0, 616, 617, 5, 108, 0, 0, 617, 618, 5, 101, 0, + 0, 618, 42, 1, 0, 0, 0, 619, 620, 5, 68, 0, 0, 620, 621, 5, 101, 0, 0, + 621, 622, 5, 99, 0, 0, 622, 623, 5, 105, 0, 0, 623, 624, 5, 109, 0, 0, + 624, 625, 5, 97, 0, 0, 625, 626, 5, 108, 0, 0, 626, 627, 5, 49, 0, 0, 627, + 628, 5, 50, 0, 0, 628, 629, 5, 56, 0, 0, 629, 44, 1, 0, 0, 0, 630, 631, + 5, 78, 0, 0, 631, 632, 5, 117, 0, 0, 632, 633, 5, 109, 0, 0, 633, 634, + 5, 98, 0, 0, 634, 635, 5, 101, 0, 0, 635, 636, 5, 114, 0, 0, 636, 637, + 5, 68, 0, 0, 637, 638, 5, 101, 0, 0, 638, 639, 5, 99, 0, 0, 639, 640, 5, + 105, 0, 0, 640, 641, 5, 109, 0, 0, 641, 642, 5, 97, 0, 0, 642, 643, 5, + 108, 0, 0, 643, 46, 1, 0, 0, 0, 644, 645, 5, 84, 0, 0, 645, 646, 5, 105, + 0, 0, 646, 647, 5, 109, 0, 0, 647, 648, 5, 101, 0, 0, 648, 649, 5, 115, + 0, 0, 649, 650, 5, 116, 0, 0, 650, 651, 5, 97, 0, 0, 651, 652, 5, 109, + 0, 0, 652, 653, 5, 112, 0, 0, 653, 48, 1, 0, 0, 0, 654, 655, 5, 82, 0, + 0, 655, 656, 5, 101, 0, 0, 656, 657, 5, 103, 0, 0, 657, 658, 5, 69, 0, + 0, 658, 659, 5, 120, 0, 0, 659, 660, 5, 112, 0, 0, 660, 50, 1, 0, 0, 0, + 661, 662, 5, 66, 0, 0, 662, 663, 5, 105, 0, 0, 663, 664, 5, 110, 0, 0, + 664, 665, 5, 68, 0, 0, 665, 666, 5, 97, 0, 0, 666, 667, 5, 116, 0, 0, 667, + 668, 5, 97, 0, 0, 668, 52, 1, 0, 0, 0, 669, 670, 5, 66, 0, 0, 670, 671, + 5, 105, 0, 0, 671, 672, 5, 110, 0, 0, 672, 673, 5, 97, 0, 0, 673, 674, + 5, 114, 0, 0, 674, 675, 5, 121, 0, 0, 675, 54, 1, 0, 0, 0, 676, 677, 5, + 66, 0, 0, 677, 678, 5, 83, 0, 0, 678, 679, 5, 79, 0, 0, 679, 680, 5, 78, + 0, 0, 680, 681, 5, 82, 0, 0, 681, 682, 5, 101, 0, 0, 682, 683, 5, 103, + 0, 0, 683, 684, 5, 69, 0, 0, 684, 685, 5, 120, 0, 0, 685, 686, 5, 112, + 0, 0, 686, 56, 1, 0, 0, 0, 687, 688, 5, 72, 0, 0, 688, 689, 5, 101, 0, + 0, 689, 690, 5, 120, 0, 0, 690, 691, 5, 68, 0, 0, 691, 692, 5, 97, 0, 0, + 692, 693, 5, 116, 0, 0, 693, 694, 5, 97, 0, 0, 694, 58, 1, 0, 0, 0, 695, + 696, 5, 102, 0, 0, 696, 697, 5, 105, 0, 0, 697, 698, 5, 110, 0, 0, 698, + 699, 5, 100, 0, 0, 699, 60, 1, 0, 0, 0, 700, 701, 5, 102, 0, 0, 701, 702, + 5, 105, 0, 0, 702, 703, 5, 110, 0, 0, 703, 704, 5, 100, 0, 0, 704, 705, + 5, 79, 0, 0, 705, 706, 5, 110, 0, 0, 706, 707, 5, 101, 0, 0, 707, 62, 1, + 0, 0, 0, 708, 709, 5, 99, 0, 0, 709, 710, 5, 111, 0, 0, 710, 711, 5, 117, + 0, 0, 711, 712, 5, 110, 0, 0, 712, 713, 5, 116, 0, 0, 713, 714, 5, 68, + 0, 0, 714, 715, 5, 111, 0, 0, 715, 716, 5, 99, 0, 0, 716, 717, 5, 117, + 0, 0, 717, 718, 5, 109, 0, 0, 718, 719, 5, 101, 0, 0, 719, 720, 5, 110, + 0, 0, 720, 721, 5, 116, 0, 0, 721, 722, 5, 115, 0, 0, 722, 64, 1, 0, 0, + 0, 723, 724, 5, 101, 0, 0, 724, 725, 5, 115, 0, 0, 725, 726, 5, 116, 0, + 0, 726, 727, 5, 105, 0, 0, 727, 728, 5, 109, 0, 0, 728, 729, 5, 97, 0, + 0, 729, 730, 5, 116, 0, 0, 730, 731, 5, 101, 0, 0, 731, 732, 5, 100, 0, + 0, 732, 733, 5, 68, 0, 0, 733, 734, 5, 111, 0, 0, 734, 735, 5, 99, 0, 0, + 735, 736, 5, 117, 0, 0, 736, 737, 5, 109, 0, 0, 737, 738, 5, 101, 0, 0, + 738, 739, 5, 110, 0, 0, 739, 740, 5, 116, 0, 0, 740, 741, 5, 67, 0, 0, + 741, 742, 5, 111, 0, 0, 742, 743, 5, 117, 0, 0, 743, 744, 5, 110, 0, 0, + 744, 745, 5, 116, 0, 0, 745, 66, 1, 0, 0, 0, 746, 747, 5, 100, 0, 0, 747, + 748, 5, 105, 0, 0, 748, 749, 5, 115, 0, 0, 749, 750, 5, 116, 0, 0, 750, + 751, 5, 105, 0, 0, 751, 752, 5, 110, 0, 0, 752, 753, 5, 99, 0, 0, 753, + 754, 5, 116, 0, 0, 754, 68, 1, 0, 0, 0, 755, 756, 5, 97, 0, 0, 756, 757, + 5, 103, 0, 0, 757, 758, 5, 103, 0, 0, 758, 759, 5, 114, 0, 0, 759, 760, + 5, 101, 0, 0, 760, 761, 5, 103, 0, 0, 761, 762, 5, 97, 0, 0, 762, 763, + 5, 116, 0, 0, 763, 764, 5, 101, 0, 0, 764, 70, 1, 0, 0, 0, 765, 766, 5, + 103, 0, 0, 766, 767, 5, 101, 0, 0, 767, 768, 5, 116, 0, 0, 768, 769, 5, + 73, 0, 0, 769, 770, 5, 110, 0, 0, 770, 771, 5, 100, 0, 0, 771, 772, 5, + 101, 0, 0, 772, 773, 5, 120, 0, 0, 773, 774, 5, 101, 0, 0, 774, 775, 5, + 115, 0, 0, 775, 72, 1, 0, 0, 0, 776, 777, 5, 105, 0, 0, 777, 778, 5, 110, + 0, 0, 778, 779, 5, 115, 0, 0, 779, 780, 5, 101, 0, 0, 780, 781, 5, 114, + 0, 0, 781, 782, 5, 116, 0, 0, 782, 783, 5, 79, 0, 0, 783, 784, 5, 110, + 0, 0, 784, 785, 5, 101, 0, 0, 785, 74, 1, 0, 0, 0, 786, 787, 5, 105, 0, + 0, 787, 788, 5, 110, 0, 0, 788, 789, 5, 115, 0, 0, 789, 790, 5, 101, 0, + 0, 790, 791, 5, 114, 0, 0, 791, 792, 5, 116, 0, 0, 792, 793, 5, 77, 0, + 0, 793, 794, 5, 97, 0, 0, 794, 795, 5, 110, 0, 0, 795, 796, 5, 121, 0, + 0, 796, 76, 1, 0, 0, 0, 797, 798, 5, 117, 0, 0, 798, 799, 5, 112, 0, 0, + 799, 800, 5, 100, 0, 0, 800, 801, 5, 97, 0, 0, 801, 802, 5, 116, 0, 0, + 802, 803, 5, 101, 0, 0, 803, 804, 5, 79, 0, 0, 804, 805, 5, 110, 0, 0, + 805, 806, 5, 101, 0, 0, 806, 78, 1, 0, 0, 0, 807, 808, 5, 117, 0, 0, 808, + 809, 5, 112, 0, 0, 809, 810, 5, 100, 0, 0, 810, 811, 5, 97, 0, 0, 811, + 812, 5, 116, 0, 0, 812, 813, 5, 101, 0, 0, 813, 814, 5, 77, 0, 0, 814, + 815, 5, 97, 0, 0, 815, 816, 5, 110, 0, 0, 816, 817, 5, 121, 0, 0, 817, + 80, 1, 0, 0, 0, 818, 819, 5, 100, 0, 0, 819, 820, 5, 101, 0, 0, 820, 821, + 5, 108, 0, 0, 821, 822, 5, 101, 0, 0, 822, 823, 5, 116, 0, 0, 823, 824, + 5, 101, 0, 0, 824, 825, 5, 79, 0, 0, 825, 826, 5, 110, 0, 0, 826, 827, + 5, 101, 0, 0, 827, 82, 1, 0, 0, 0, 828, 829, 5, 100, 0, 0, 829, 830, 5, + 101, 0, 0, 830, 831, 5, 108, 0, 0, 831, 832, 5, 101, 0, 0, 832, 833, 5, + 116, 0, 0, 833, 834, 5, 101, 0, 0, 834, 835, 5, 77, 0, 0, 835, 836, 5, + 97, 0, 0, 836, 837, 5, 110, 0, 0, 837, 838, 5, 121, 0, 0, 838, 84, 1, 0, + 0, 0, 839, 840, 5, 114, 0, 0, 840, 841, 5, 101, 0, 0, 841, 842, 5, 112, + 0, 0, 842, 843, 5, 108, 0, 0, 843, 844, 5, 97, 0, 0, 844, 845, 5, 99, 0, + 0, 845, 846, 5, 101, 0, 0, 846, 847, 5, 79, 0, 0, 847, 848, 5, 110, 0, + 0, 848, 849, 5, 101, 0, 0, 849, 86, 1, 0, 0, 0, 850, 851, 5, 102, 0, 0, + 851, 852, 5, 105, 0, 0, 852, 853, 5, 110, 0, 0, 853, 854, 5, 100, 0, 0, + 854, 855, 5, 79, 0, 0, 855, 856, 5, 110, 0, 0, 856, 857, 5, 101, 0, 0, + 857, 858, 5, 65, 0, 0, 858, 859, 5, 110, 0, 0, 859, 860, 5, 100, 0, 0, + 860, 861, 5, 85, 0, 0, 861, 862, 5, 112, 0, 0, 862, 863, 5, 100, 0, 0, + 863, 864, 5, 97, 0, 0, 864, 865, 5, 116, 0, 0, 865, 866, 5, 101, 0, 0, + 866, 88, 1, 0, 0, 0, 867, 868, 5, 102, 0, 0, 868, 869, 5, 105, 0, 0, 869, + 870, 5, 110, 0, 0, 870, 871, 5, 100, 0, 0, 871, 872, 5, 79, 0, 0, 872, + 873, 5, 110, 0, 0, 873, 874, 5, 101, 0, 0, 874, 875, 5, 65, 0, 0, 875, + 876, 5, 110, 0, 0, 876, 877, 5, 100, 0, 0, 877, 878, 5, 82, 0, 0, 878, + 879, 5, 101, 0, 0, 879, 880, 5, 112, 0, 0, 880, 881, 5, 108, 0, 0, 881, + 882, 5, 97, 0, 0, 882, 883, 5, 99, 0, 0, 883, 884, 5, 101, 0, 0, 884, 90, + 1, 0, 0, 0, 885, 886, 5, 102, 0, 0, 886, 887, 5, 105, 0, 0, 887, 888, 5, + 110, 0, 0, 888, 889, 5, 100, 0, 0, 889, 890, 5, 79, 0, 0, 890, 891, 5, + 110, 0, 0, 891, 892, 5, 101, 0, 0, 892, 893, 5, 65, 0, 0, 893, 894, 5, + 110, 0, 0, 894, 895, 5, 100, 0, 0, 895, 896, 5, 68, 0, 0, 896, 897, 5, + 101, 0, 0, 897, 898, 5, 108, 0, 0, 898, 899, 5, 101, 0, 0, 899, 900, 5, + 116, 0, 0, 900, 901, 5, 101, 0, 0, 901, 92, 1, 0, 0, 0, 902, 903, 5, 99, + 0, 0, 903, 904, 5, 114, 0, 0, 904, 905, 5, 101, 0, 0, 905, 906, 5, 97, + 0, 0, 906, 907, 5, 116, 0, 0, 907, 908, 5, 101, 0, 0, 908, 909, 5, 73, + 0, 0, 909, 910, 5, 110, 0, 0, 910, 911, 5, 100, 0, 0, 911, 912, 5, 101, + 0, 0, 912, 913, 5, 120, 0, 0, 913, 94, 1, 0, 0, 0, 914, 915, 5, 99, 0, + 0, 915, 916, 5, 114, 0, 0, 916, 917, 5, 101, 0, 0, 917, 918, 5, 97, 0, + 0, 918, 919, 5, 116, 0, 0, 919, 920, 5, 101, 0, 0, 920, 921, 5, 73, 0, + 0, 921, 922, 5, 110, 0, 0, 922, 923, 5, 100, 0, 0, 923, 924, 5, 101, 0, + 0, 924, 925, 5, 120, 0, 0, 925, 926, 5, 101, 0, 0, 926, 927, 5, 115, 0, + 0, 927, 96, 1, 0, 0, 0, 928, 929, 5, 100, 0, 0, 929, 930, 5, 114, 0, 0, + 930, 931, 5, 111, 0, 0, 931, 932, 5, 112, 0, 0, 932, 933, 5, 73, 0, 0, + 933, 934, 5, 110, 0, 0, 934, 935, 5, 100, 0, 0, 935, 936, 5, 101, 0, 0, + 936, 937, 5, 120, 0, 0, 937, 98, 1, 0, 0, 0, 938, 939, 5, 100, 0, 0, 939, + 940, 5, 114, 0, 0, 940, 941, 5, 111, 0, 0, 941, 942, 5, 112, 0, 0, 942, + 943, 5, 73, 0, 0, 943, 944, 5, 110, 0, 0, 944, 945, 5, 100, 0, 0, 945, + 946, 5, 101, 0, 0, 946, 947, 5, 120, 0, 0, 947, 948, 5, 101, 0, 0, 948, + 949, 5, 115, 0, 0, 949, 100, 1, 0, 0, 0, 950, 951, 5, 100, 0, 0, 951, 952, + 5, 114, 0, 0, 952, 953, 5, 111, 0, 0, 953, 954, 5, 112, 0, 0, 954, 102, + 1, 0, 0, 0, 955, 956, 5, 114, 0, 0, 956, 957, 5, 101, 0, 0, 957, 958, 5, + 110, 0, 0, 958, 959, 5, 97, 0, 0, 959, 960, 5, 109, 0, 0, 960, 961, 5, + 101, 0, 0, 961, 962, 5, 67, 0, 0, 962, 963, 5, 111, 0, 0, 963, 964, 5, + 108, 0, 0, 964, 965, 5, 108, 0, 0, 965, 966, 5, 101, 0, 0, 966, 967, 5, + 99, 0, 0, 967, 968, 5, 116, 0, 0, 968, 969, 5, 105, 0, 0, 969, 970, 5, + 111, 0, 0, 970, 971, 5, 110, 0, 0, 971, 104, 1, 0, 0, 0, 972, 973, 5, 115, + 0, 0, 973, 974, 5, 116, 0, 0, 974, 975, 5, 97, 0, 0, 975, 976, 5, 116, + 0, 0, 976, 977, 5, 115, 0, 0, 977, 106, 1, 0, 0, 0, 978, 979, 5, 115, 0, + 0, 979, 980, 5, 116, 0, 0, 980, 981, 5, 111, 0, 0, 981, 982, 5, 114, 0, + 0, 982, 983, 5, 97, 0, 0, 983, 984, 5, 103, 0, 0, 984, 985, 5, 101, 0, + 0, 985, 986, 5, 83, 0, 0, 986, 987, 5, 105, 0, 0, 987, 988, 5, 122, 0, + 0, 988, 989, 5, 101, 0, 0, 989, 108, 1, 0, 0, 0, 990, 991, 5, 116, 0, 0, + 991, 992, 5, 111, 0, 0, 992, 993, 5, 116, 0, 0, 993, 994, 5, 97, 0, 0, + 994, 995, 5, 108, 0, 0, 995, 996, 5, 73, 0, 0, 996, 997, 5, 110, 0, 0, + 997, 998, 5, 100, 0, 0, 998, 999, 5, 101, 0, 0, 999, 1000, 5, 120, 0, 0, + 1000, 1001, 5, 83, 0, 0, 1001, 1002, 5, 105, 0, 0, 1002, 1003, 5, 122, + 0, 0, 1003, 1004, 5, 101, 0, 0, 1004, 110, 1, 0, 0, 0, 1005, 1006, 5, 116, + 0, 0, 1006, 1007, 5, 111, 0, 0, 1007, 1008, 5, 116, 0, 0, 1008, 1009, 5, + 97, 0, 0, 1009, 1010, 5, 108, 0, 0, 1010, 1011, 5, 83, 0, 0, 1011, 1012, + 5, 105, 0, 0, 1012, 1013, 5, 122, 0, 0, 1013, 1014, 5, 101, 0, 0, 1014, + 112, 1, 0, 0, 0, 1015, 1016, 5, 100, 0, 0, 1016, 1017, 5, 97, 0, 0, 1017, + 1018, 5, 116, 0, 0, 1018, 1019, 5, 97, 0, 0, 1019, 1020, 5, 83, 0, 0, 1020, + 1021, 5, 105, 0, 0, 1021, 1022, 5, 122, 0, 0, 1022, 1023, 5, 101, 0, 0, + 1023, 114, 1, 0, 0, 0, 1024, 1025, 5, 105, 0, 0, 1025, 1026, 5, 115, 0, + 0, 1026, 1027, 5, 67, 0, 0, 1027, 1028, 5, 97, 0, 0, 1028, 1029, 5, 112, + 0, 0, 1029, 1030, 5, 112, 0, 0, 1030, 1031, 5, 101, 0, 0, 1031, 1032, 5, + 100, 0, 0, 1032, 116, 1, 0, 0, 0, 1033, 1034, 5, 118, 0, 0, 1034, 1035, + 5, 97, 0, 0, 1035, 1036, 5, 108, 0, 0, 1036, 1037, 5, 105, 0, 0, 1037, + 1038, 5, 100, 0, 0, 1038, 1039, 5, 97, 0, 0, 1039, 1040, 5, 116, 0, 0, + 1040, 1041, 5, 101, 0, 0, 1041, 118, 1, 0, 0, 0, 1042, 1043, 5, 108, 0, + 0, 1043, 1044, 5, 97, 0, 0, 1044, 1045, 5, 116, 0, 0, 1045, 1046, 5, 101, + 0, 0, 1046, 1047, 5, 110, 0, 0, 1047, 1048, 5, 99, 0, 0, 1048, 1049, 5, + 121, 0, 0, 1049, 1050, 5, 83, 0, 0, 1050, 1051, 5, 116, 0, 0, 1051, 1052, + 5, 97, 0, 0, 1052, 1053, 5, 116, 0, 0, 1053, 1054, 5, 115, 0, 0, 1054, + 120, 1, 0, 0, 0, 1055, 1056, 5, 98, 0, 0, 1056, 1057, 5, 117, 0, 0, 1057, + 1058, 5, 108, 0, 0, 1058, 1059, 5, 107, 0, 0, 1059, 1060, 5, 87, 0, 0, + 1060, 1061, 5, 114, 0, 0, 1061, 1062, 5, 105, 0, 0, 1062, 1063, 5, 116, + 0, 0, 1063, 1064, 5, 101, 0, 0, 1064, 122, 1, 0, 0, 0, 1065, 1066, 5, 117, + 0, 0, 1066, 1067, 5, 112, 0, 0, 1067, 1068, 5, 100, 0, 0, 1068, 1069, 5, + 97, 0, 0, 1069, 1070, 5, 116, 0, 0, 1070, 1071, 5, 101, 0, 0, 1071, 124, + 1, 0, 0, 0, 1072, 1073, 5, 109, 0, 0, 1073, 1074, 5, 97, 0, 0, 1074, 1075, + 5, 112, 0, 0, 1075, 1076, 5, 82, 0, 0, 1076, 1077, 5, 101, 0, 0, 1077, + 1078, 5, 100, 0, 0, 1078, 1079, 5, 117, 0, 0, 1079, 1080, 5, 99, 0, 0, + 1080, 1081, 5, 101, 0, 0, 1081, 126, 1, 0, 0, 0, 1082, 1083, 5, 102, 0, + 0, 1083, 1084, 5, 105, 0, 0, 1084, 1085, 5, 110, 0, 0, 1085, 1086, 5, 100, + 0, 0, 1086, 1087, 5, 65, 0, 0, 1087, 1088, 5, 110, 0, 0, 1088, 1089, 5, + 100, 0, 0, 1089, 1090, 5, 77, 0, 0, 1090, 1091, 5, 111, 0, 0, 1091, 1092, + 5, 100, 0, 0, 1092, 1093, 5, 105, 0, 0, 1093, 1094, 5, 102, 0, 0, 1094, + 1095, 5, 121, 0, 0, 1095, 128, 1, 0, 0, 0, 1096, 1097, 5, 97, 0, 0, 1097, + 1098, 5, 110, 0, 0, 1098, 1099, 5, 97, 0, 0, 1099, 1100, 5, 108, 0, 0, + 1100, 1101, 5, 121, 0, 0, 1101, 1102, 5, 122, 0, 0, 1102, 1103, 5, 101, + 0, 0, 1103, 1104, 5, 83, 0, 0, 1104, 1105, 5, 104, 0, 0, 1105, 1106, 5, + 97, 0, 0, 1106, 1107, 5, 114, 0, 0, 1107, 1108, 5, 100, 0, 0, 1108, 1109, + 5, 75, 0, 0, 1109, 1110, 5, 101, 0, 0, 1110, 1111, 5, 121, 0, 0, 1111, + 130, 1, 0, 0, 0, 1112, 1113, 5, 99, 0, 0, 1113, 1114, 5, 111, 0, 0, 1114, + 1115, 5, 110, 0, 0, 1115, 1116, 5, 102, 0, 0, 1116, 1117, 5, 105, 0, 0, + 1117, 1118, 5, 103, 0, 0, 1118, 1119, 5, 117, 0, 0, 1119, 1120, 5, 114, + 0, 0, 1120, 1121, 5, 101, 0, 0, 1121, 1122, 5, 81, 0, 0, 1122, 1123, 5, + 117, 0, 0, 1123, 1124, 5, 101, 0, 0, 1124, 1125, 5, 114, 0, 0, 1125, 1126, + 5, 121, 0, 0, 1126, 1127, 5, 65, 0, 0, 1127, 1128, 5, 110, 0, 0, 1128, + 1129, 5, 97, 0, 0, 1129, 1130, 5, 108, 0, 0, 1130, 1131, 5, 121, 0, 0, + 1131, 1132, 5, 122, 0, 0, 1132, 1133, 5, 101, 0, 0, 1133, 1134, 5, 114, + 0, 0, 1134, 132, 1, 0, 0, 0, 1135, 1136, 5, 99, 0, 0, 1136, 1137, 5, 111, + 0, 0, 1137, 1138, 5, 109, 0, 0, 1138, 1139, 5, 112, 0, 0, 1139, 1140, 5, + 97, 0, 0, 1140, 1141, 5, 99, 0, 0, 1141, 1142, 5, 116, 0, 0, 1142, 1143, + 5, 83, 0, 0, 1143, 1144, 5, 116, 0, 0, 1144, 1145, 5, 114, 0, 0, 1145, + 1146, 5, 117, 0, 0, 1146, 1147, 5, 99, 0, 0, 1147, 1148, 5, 116, 0, 0, + 1148, 1149, 5, 117, 0, 0, 1149, 1150, 5, 114, 0, 0, 1150, 1151, 5, 101, + 0, 0, 1151, 1152, 5, 100, 0, 0, 1152, 1153, 5, 69, 0, 0, 1153, 1154, 5, + 110, 0, 0, 1154, 1155, 5, 99, 0, 0, 1155, 1156, 5, 114, 0, 0, 1156, 1157, + 5, 121, 0, 0, 1157, 1158, 5, 112, 0, 0, 1158, 1159, 5, 116, 0, 0, 1159, + 1160, 5, 105, 0, 0, 1160, 1161, 5, 111, 0, 0, 1161, 1162, 5, 110, 0, 0, + 1162, 1163, 5, 68, 0, 0, 1163, 1164, 5, 97, 0, 0, 1164, 1165, 5, 116, 0, + 0, 1165, 1166, 5, 97, 0, 0, 1166, 134, 1, 0, 0, 0, 1167, 1168, 5, 104, + 0, 0, 1168, 1169, 5, 105, 0, 0, 1169, 1170, 5, 100, 0, 0, 1170, 1171, 5, + 101, 0, 0, 1171, 1172, 5, 73, 0, 0, 1172, 1173, 5, 110, 0, 0, 1173, 1174, + 5, 100, 0, 0, 1174, 1175, 5, 101, 0, 0, 1175, 1176, 5, 120, 0, 0, 1176, + 136, 1, 0, 0, 0, 1177, 1178, 5, 117, 0, 0, 1178, 1179, 5, 110, 0, 0, 1179, + 1180, 5, 104, 0, 0, 1180, 1181, 5, 105, 0, 0, 1181, 1182, 5, 100, 0, 0, + 1182, 1183, 5, 101, 0, 0, 1183, 1184, 5, 73, 0, 0, 1184, 1185, 5, 110, + 0, 0, 1185, 1186, 5, 100, 0, 0, 1186, 1187, 5, 101, 0, 0, 1187, 1188, 5, + 120, 0, 0, 1188, 138, 1, 0, 0, 0, 1189, 1190, 5, 114, 0, 0, 1190, 1191, + 5, 101, 0, 0, 1191, 1192, 5, 73, 0, 0, 1192, 1193, 5, 110, 0, 0, 1193, + 1194, 5, 100, 0, 0, 1194, 1195, 5, 101, 0, 0, 1195, 1196, 5, 120, 0, 0, + 1196, 140, 1, 0, 0, 0, 1197, 1198, 5, 103, 0, 0, 1198, 1199, 5, 101, 0, + 0, 1199, 1200, 5, 116, 0, 0, 1200, 1201, 5, 83, 0, 0, 1201, 1202, 5, 104, + 0, 0, 1202, 1203, 5, 97, 0, 0, 1203, 1204, 5, 114, 0, 0, 1204, 1205, 5, + 100, 0, 0, 1205, 1206, 5, 68, 0, 0, 1206, 1207, 5, 105, 0, 0, 1207, 1208, + 5, 115, 0, 0, 1208, 1209, 5, 116, 0, 0, 1209, 1210, 5, 114, 0, 0, 1210, + 1211, 5, 105, 0, 0, 1211, 1212, 5, 98, 0, 0, 1212, 1213, 5, 117, 0, 0, + 1213, 1214, 5, 116, 0, 0, 1214, 1215, 5, 105, 0, 0, 1215, 1216, 5, 111, + 0, 0, 1216, 1217, 5, 110, 0, 0, 1217, 142, 1, 0, 0, 0, 1218, 1219, 5, 103, + 0, 0, 1219, 1220, 5, 101, 0, 0, 1220, 1221, 5, 116, 0, 0, 1221, 1222, 5, + 83, 0, 0, 1222, 1223, 5, 104, 0, 0, 1223, 1224, 5, 97, 0, 0, 1224, 1225, + 5, 114, 0, 0, 1225, 1226, 5, 100, 0, 0, 1226, 1227, 5, 86, 0, 0, 1227, + 1228, 5, 101, 0, 0, 1228, 1229, 5, 114, 0, 0, 1229, 1230, 5, 115, 0, 0, + 1230, 1231, 5, 105, 0, 0, 1231, 1232, 5, 111, 0, 0, 1232, 1233, 5, 110, + 0, 0, 1233, 144, 1, 0, 0, 0, 1234, 1235, 5, 99, 0, 0, 1235, 1236, 5, 114, + 0, 0, 1236, 1237, 5, 101, 0, 0, 1237, 1238, 5, 97, 0, 0, 1238, 1239, 5, + 116, 0, 0, 1239, 1240, 5, 101, 0, 0, 1240, 1241, 5, 83, 0, 0, 1241, 1242, + 5, 101, 0, 0, 1242, 1243, 5, 97, 0, 0, 1243, 1244, 5, 114, 0, 0, 1244, + 1245, 5, 99, 0, 0, 1245, 1246, 5, 104, 0, 0, 1246, 1247, 5, 73, 0, 0, 1247, + 1248, 5, 110, 0, 0, 1248, 1249, 5, 100, 0, 0, 1249, 1250, 5, 101, 0, 0, + 1250, 1251, 5, 120, 0, 0, 1251, 146, 1, 0, 0, 0, 1252, 1253, 5, 99, 0, + 0, 1253, 1254, 5, 114, 0, 0, 1254, 1255, 5, 101, 0, 0, 1255, 1256, 5, 97, + 0, 0, 1256, 1257, 5, 116, 0, 0, 1257, 1258, 5, 101, 0, 0, 1258, 1259, 5, + 83, 0, 0, 1259, 1260, 5, 101, 0, 0, 1260, 1261, 5, 97, 0, 0, 1261, 1262, + 5, 114, 0, 0, 1262, 1263, 5, 99, 0, 0, 1263, 1264, 5, 104, 0, 0, 1264, + 1265, 5, 73, 0, 0, 1265, 1266, 5, 110, 0, 0, 1266, 1267, 5, 100, 0, 0, + 1267, 1268, 5, 101, 0, 0, 1268, 1269, 5, 120, 0, 0, 1269, 1270, 5, 101, + 0, 0, 1270, 1271, 5, 115, 0, 0, 1271, 148, 1, 0, 0, 0, 1272, 1273, 5, 100, + 0, 0, 1273, 1274, 5, 114, 0, 0, 1274, 1275, 5, 111, 0, 0, 1275, 1276, 5, + 112, 0, 0, 1276, 1277, 5, 83, 0, 0, 1277, 1278, 5, 101, 0, 0, 1278, 1279, + 5, 97, 0, 0, 1279, 1280, 5, 114, 0, 0, 1280, 1281, 5, 99, 0, 0, 1281, 1282, + 5, 104, 0, 0, 1282, 1283, 5, 73, 0, 0, 1283, 1284, 5, 110, 0, 0, 1284, + 1285, 5, 100, 0, 0, 1285, 1286, 5, 101, 0, 0, 1286, 1287, 5, 120, 0, 0, + 1287, 150, 1, 0, 0, 0, 1288, 1289, 5, 117, 0, 0, 1289, 1290, 5, 112, 0, + 0, 1290, 1291, 5, 100, 0, 0, 1291, 1292, 5, 97, 0, 0, 1292, 1293, 5, 116, + 0, 0, 1293, 1294, 5, 101, 0, 0, 1294, 1295, 5, 83, 0, 0, 1295, 1296, 5, + 101, 0, 0, 1296, 1297, 5, 97, 0, 0, 1297, 1298, 5, 114, 0, 0, 1298, 1299, + 5, 99, 0, 0, 1299, 1300, 5, 104, 0, 0, 1300, 1301, 5, 73, 0, 0, 1301, 1302, + 5, 110, 0, 0, 1302, 1303, 5, 100, 0, 0, 1303, 1304, 5, 101, 0, 0, 1304, + 1305, 5, 120, 0, 0, 1305, 152, 1, 0, 0, 0, 1306, 1307, 5, 99, 0, 0, 1307, + 1308, 5, 114, 0, 0, 1308, 1309, 5, 101, 0, 0, 1309, 1310, 5, 97, 0, 0, + 1310, 1311, 5, 116, 0, 0, 1311, 1312, 5, 101, 0, 0, 1312, 1313, 5, 67, + 0, 0, 1313, 1314, 5, 111, 0, 0, 1314, 1315, 5, 108, 0, 0, 1315, 1316, 5, + 108, 0, 0, 1316, 1317, 5, 101, 0, 0, 1317, 1318, 5, 99, 0, 0, 1318, 1319, + 5, 116, 0, 0, 1319, 1320, 5, 105, 0, 0, 1320, 1321, 5, 111, 0, 0, 1321, + 1322, 5, 110, 0, 0, 1322, 154, 1, 0, 0, 0, 1323, 1324, 5, 100, 0, 0, 1324, + 1325, 5, 114, 0, 0, 1325, 1326, 5, 111, 0, 0, 1326, 1327, 5, 112, 0, 0, + 1327, 1328, 5, 68, 0, 0, 1328, 1329, 5, 97, 0, 0, 1329, 1330, 5, 116, 0, + 0, 1330, 1331, 5, 97, 0, 0, 1331, 1332, 5, 98, 0, 0, 1332, 1333, 5, 97, + 0, 0, 1333, 1334, 5, 115, 0, 0, 1334, 1335, 5, 101, 0, 0, 1335, 156, 1, + 0, 0, 0, 1336, 1337, 5, 104, 0, 0, 1337, 1338, 5, 111, 0, 0, 1338, 1339, + 5, 115, 0, 0, 1339, 1340, 5, 116, 0, 0, 1340, 1341, 5, 73, 0, 0, 1341, + 1342, 5, 110, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, 111, 0, 0, + 1344, 158, 1, 0, 0, 0, 1345, 1346, 5, 108, 0, 0, 1346, 1347, 5, 105, 0, + 0, 1347, 1348, 5, 115, 0, 0, 1348, 1349, 5, 116, 0, 0, 1349, 1350, 5, 67, + 0, 0, 1350, 1351, 5, 111, 0, 0, 1351, 1352, 5, 109, 0, 0, 1352, 1353, 5, + 109, 0, 0, 1353, 1354, 5, 97, 0, 0, 1354, 1355, 5, 110, 0, 0, 1355, 1356, + 5, 100, 0, 0, 1356, 1357, 5, 115, 0, 0, 1357, 160, 1, 0, 0, 0, 1358, 1359, + 5, 115, 0, 0, 1359, 1360, 5, 101, 0, 0, 1360, 1361, 5, 114, 0, 0, 1361, + 1362, 5, 118, 0, 0, 1362, 1363, 5, 101, 0, 0, 1363, 1364, 5, 114, 0, 0, + 1364, 1365, 5, 66, 0, 0, 1365, 1366, 5, 117, 0, 0, 1366, 1367, 5, 105, + 0, 0, 1367, 1368, 5, 108, 0, 0, 1368, 1369, 5, 100, 0, 0, 1369, 1370, 5, + 73, 0, 0, 1370, 1371, 5, 110, 0, 0, 1371, 1372, 5, 102, 0, 0, 1372, 1373, + 5, 111, 0, 0, 1373, 162, 1, 0, 0, 0, 1374, 1375, 5, 115, 0, 0, 1375, 1376, + 5, 101, 0, 0, 1376, 1377, 5, 114, 0, 0, 1377, 1378, 5, 118, 0, 0, 1378, + 1379, 5, 101, 0, 0, 1379, 1380, 5, 114, 0, 0, 1380, 1381, 5, 83, 0, 0, + 1381, 1382, 5, 116, 0, 0, 1382, 1383, 5, 97, 0, 0, 1383, 1384, 5, 116, + 0, 0, 1384, 1385, 5, 117, 0, 0, 1385, 1386, 5, 115, 0, 0, 1386, 164, 1, + 0, 0, 0, 1387, 1388, 5, 118, 0, 0, 1388, 1389, 5, 101, 0, 0, 1389, 1390, + 5, 114, 0, 0, 1390, 1391, 5, 115, 0, 0, 1391, 1392, 5, 105, 0, 0, 1392, + 1393, 5, 111, 0, 0, 1393, 1394, 5, 110, 0, 0, 1394, 166, 1, 0, 0, 0, 1395, + 1396, 5, 114, 0, 0, 1396, 1397, 5, 117, 0, 0, 1397, 1398, 5, 110, 0, 0, + 1398, 1399, 5, 67, 0, 0, 1399, 1400, 5, 111, 0, 0, 1400, 1401, 5, 109, + 0, 0, 1401, 1402, 5, 109, 0, 0, 1402, 1403, 5, 97, 0, 0, 1403, 1404, 5, + 110, 0, 0, 1404, 1405, 5, 100, 0, 0, 1405, 168, 1, 0, 0, 0, 1406, 1407, + 5, 97, 0, 0, 1407, 1408, 5, 100, 0, 0, 1408, 1409, 5, 109, 0, 0, 1409, + 1410, 5, 105, 0, 0, 1410, 1411, 5, 110, 0, 0, 1411, 1412, 5, 67, 0, 0, + 1412, 1413, 5, 111, 0, 0, 1413, 1414, 5, 109, 0, 0, 1414, 1415, 5, 109, + 0, 0, 1415, 1416, 5, 97, 0, 0, 1416, 1417, 5, 110, 0, 0, 1417, 1418, 5, + 100, 0, 0, 1418, 170, 1, 0, 0, 0, 1419, 1420, 5, 103, 0, 0, 1420, 1421, + 5, 101, 0, 0, 1421, 1422, 5, 116, 0, 0, 1422, 1423, 5, 78, 0, 0, 1423, + 1424, 5, 97, 0, 0, 1424, 1425, 5, 109, 0, 0, 1425, 1426, 5, 101, 0, 0, + 1426, 172, 1, 0, 0, 0, 1427, 1428, 5, 103, 0, 0, 1428, 1429, 5, 101, 0, + 0, 1429, 1430, 5, 116, 0, 0, 1430, 1431, 5, 77, 0, 0, 1431, 1432, 5, 111, + 0, 0, 1432, 1433, 5, 110, 0, 0, 1433, 1434, 5, 103, 0, 0, 1434, 1435, 5, + 111, 0, 0, 1435, 174, 1, 0, 0, 0, 1436, 1437, 5, 103, 0, 0, 1437, 1438, + 5, 101, 0, 0, 1438, 1439, 5, 116, 0, 0, 1439, 1440, 5, 83, 0, 0, 1440, + 1441, 5, 105, 0, 0, 1441, 1442, 5, 98, 0, 0, 1442, 1443, 5, 108, 0, 0, + 1443, 1444, 5, 105, 0, 0, 1444, 1445, 5, 110, 0, 0, 1445, 1446, 5, 103, + 0, 0, 1446, 1447, 5, 68, 0, 0, 1447, 1448, 5, 66, 0, 0, 1448, 176, 1, 0, + 0, 0, 1449, 1450, 5, 97, 0, 0, 1450, 1451, 5, 117, 0, 0, 1451, 1452, 5, + 116, 0, 0, 1452, 1453, 5, 104, 0, 0, 1453, 178, 1, 0, 0, 0, 1454, 1455, + 5, 99, 0, 0, 1455, 1456, 5, 104, 0, 0, 1456, 1457, 5, 97, 0, 0, 1457, 1458, + 5, 110, 0, 0, 1458, 1459, 5, 103, 0, 0, 1459, 1460, 5, 101, 0, 0, 1460, + 1461, 5, 85, 0, 0, 1461, 1462, 5, 115, 0, 0, 1462, 1463, 5, 101, 0, 0, + 1463, 1464, 5, 114, 0, 0, 1464, 1465, 5, 80, 0, 0, 1465, 1466, 5, 97, 0, + 0, 1466, 1467, 5, 115, 0, 0, 1467, 1468, 5, 115, 0, 0, 1468, 1469, 5, 119, + 0, 0, 1469, 1470, 5, 111, 0, 0, 1470, 1471, 5, 114, 0, 0, 1471, 1472, 5, + 100, 0, 0, 1472, 180, 1, 0, 0, 0, 1473, 1474, 5, 99, 0, 0, 1474, 1475, + 5, 108, 0, 0, 1475, 1476, 5, 111, 0, 0, 1476, 1477, 5, 110, 0, 0, 1477, + 1478, 5, 101, 0, 0, 1478, 1479, 5, 68, 0, 0, 1479, 1480, 5, 97, 0, 0, 1480, + 1481, 5, 116, 0, 0, 1481, 1482, 5, 97, 0, 0, 1482, 1483, 5, 98, 0, 0, 1483, + 1484, 5, 97, 0, 0, 1484, 1485, 5, 115, 0, 0, 1485, 1486, 5, 101, 0, 0, + 1486, 182, 1, 0, 0, 0, 1487, 1488, 5, 99, 0, 0, 1488, 1489, 5, 111, 0, + 0, 1489, 1490, 5, 109, 0, 0, 1490, 1491, 5, 109, 0, 0, 1491, 1492, 5, 97, + 0, 0, 1492, 1493, 5, 110, 0, 0, 1493, 1494, 5, 100, 0, 0, 1494, 1495, 5, + 72, 0, 0, 1495, 1496, 5, 101, 0, 0, 1496, 1497, 5, 108, 0, 0, 1497, 1498, + 5, 112, 0, 0, 1498, 184, 1, 0, 0, 0, 1499, 1500, 5, 99, 0, 0, 1500, 1501, + 5, 111, 0, 0, 1501, 1502, 5, 112, 0, 0, 1502, 1503, 5, 121, 0, 0, 1503, + 1504, 5, 68, 0, 0, 1504, 1505, 5, 97, 0, 0, 1505, 1506, 5, 116, 0, 0, 1506, + 1507, 5, 97, 0, 0, 1507, 1508, 5, 98, 0, 0, 1508, 1509, 5, 97, 0, 0, 1509, + 1510, 5, 115, 0, 0, 1510, 1511, 5, 101, 0, 0, 1511, 186, 1, 0, 0, 0, 1512, + 1513, 5, 99, 0, 0, 1513, 1514, 5, 114, 0, 0, 1514, 1515, 5, 101, 0, 0, + 1515, 1516, 5, 97, 0, 0, 1516, 1517, 5, 116, 0, 0, 1517, 1518, 5, 101, + 0, 0, 1518, 1519, 5, 82, 0, 0, 1519, 1520, 5, 111, 0, 0, 1520, 1521, 5, + 108, 0, 0, 1521, 1522, 5, 101, 0, 0, 1522, 188, 1, 0, 0, 0, 1523, 1524, + 5, 99, 0, 0, 1524, 1525, 5, 114, 0, 0, 1525, 1526, 5, 101, 0, 0, 1526, + 1527, 5, 97, 0, 0, 1527, 1528, 5, 116, 0, 0, 1528, 1529, 5, 101, 0, 0, + 1529, 1530, 5, 85, 0, 0, 1530, 1531, 5, 115, 0, 0, 1531, 1532, 5, 101, + 0, 0, 1532, 1533, 5, 114, 0, 0, 1533, 190, 1, 0, 0, 0, 1534, 1535, 5, 99, + 0, 0, 1535, 1536, 5, 114, 0, 0, 1536, 1537, 5, 101, 0, 0, 1537, 1538, 5, + 97, 0, 0, 1538, 1539, 5, 116, 0, 0, 1539, 1540, 5, 101, 0, 0, 1540, 1541, + 5, 86, 0, 0, 1541, 1542, 5, 105, 0, 0, 1542, 1543, 5, 101, 0, 0, 1543, + 1544, 5, 119, 0, 0, 1544, 192, 1, 0, 0, 0, 1545, 1546, 5, 99, 0, 0, 1546, + 1547, 5, 117, 0, 0, 1547, 1548, 5, 114, 0, 0, 1548, 1549, 5, 114, 0, 0, + 1549, 1550, 5, 101, 0, 0, 1550, 1551, 5, 110, 0, 0, 1551, 1552, 5, 116, + 0, 0, 1552, 1553, 5, 79, 0, 0, 1553, 1554, 5, 112, 0, 0, 1554, 194, 1, + 0, 0, 0, 1555, 1556, 5, 100, 0, 0, 1556, 1557, 5, 114, 0, 0, 1557, 1558, + 5, 111, 0, 0, 1558, 1559, 5, 112, 0, 0, 1559, 1560, 5, 65, 0, 0, 1560, + 1561, 5, 108, 0, 0, 1561, 1562, 5, 108, 0, 0, 1562, 1563, 5, 82, 0, 0, + 1563, 1564, 5, 111, 0, 0, 1564, 1565, 5, 108, 0, 0, 1565, 1566, 5, 101, + 0, 0, 1566, 1567, 5, 115, 0, 0, 1567, 196, 1, 0, 0, 0, 1568, 1569, 5, 100, + 0, 0, 1569, 1570, 5, 114, 0, 0, 1570, 1571, 5, 111, 0, 0, 1571, 1572, 5, + 112, 0, 0, 1572, 1573, 5, 65, 0, 0, 1573, 1574, 5, 108, 0, 0, 1574, 1575, + 5, 108, 0, 0, 1575, 1576, 5, 85, 0, 0, 1576, 1577, 5, 115, 0, 0, 1577, + 1578, 5, 101, 0, 0, 1578, 1579, 5, 114, 0, 0, 1579, 1580, 5, 115, 0, 0, + 1580, 198, 1, 0, 0, 0, 1581, 1582, 5, 100, 0, 0, 1582, 1583, 5, 114, 0, + 0, 1583, 1584, 5, 111, 0, 0, 1584, 1585, 5, 112, 0, 0, 1585, 1586, 5, 82, + 0, 0, 1586, 1587, 5, 111, 0, 0, 1587, 1588, 5, 108, 0, 0, 1588, 1589, 5, + 101, 0, 0, 1589, 200, 1, 0, 0, 0, 1590, 1591, 5, 100, 0, 0, 1591, 1592, + 5, 114, 0, 0, 1592, 1593, 5, 111, 0, 0, 1593, 1594, 5, 112, 0, 0, 1594, + 1595, 5, 85, 0, 0, 1595, 1596, 5, 115, 0, 0, 1596, 1597, 5, 101, 0, 0, + 1597, 1598, 5, 114, 0, 0, 1598, 202, 1, 0, 0, 0, 1599, 1600, 5, 102, 0, + 0, 1600, 1601, 5, 115, 0, 0, 1601, 1602, 5, 121, 0, 0, 1602, 1603, 5, 110, + 0, 0, 1603, 1604, 5, 99, 0, 0, 1604, 1605, 5, 76, 0, 0, 1605, 1606, 5, + 111, 0, 0, 1606, 1607, 5, 99, 0, 0, 1607, 1608, 5, 107, 0, 0, 1608, 204, + 1, 0, 0, 0, 1609, 1610, 5, 102, 0, 0, 1610, 1611, 5, 115, 0, 0, 1611, 1612, + 5, 121, 0, 0, 1612, 1613, 5, 110, 0, 0, 1613, 1614, 5, 99, 0, 0, 1614, + 1615, 5, 85, 0, 0, 1615, 1616, 5, 110, 0, 0, 1616, 1617, 5, 108, 0, 0, + 1617, 1618, 5, 111, 0, 0, 1618, 1619, 5, 99, 0, 0, 1619, 1620, 5, 107, + 0, 0, 1620, 206, 1, 0, 0, 0, 1621, 1622, 5, 103, 0, 0, 1622, 1623, 5, 101, + 0, 0, 1623, 1624, 5, 116, 0, 0, 1624, 1625, 5, 76, 0, 0, 1625, 1626, 5, + 111, 0, 0, 1626, 1627, 5, 103, 0, 0, 1627, 1628, 5, 67, 0, 0, 1628, 1629, + 5, 111, 0, 0, 1629, 1630, 5, 109, 0, 0, 1630, 1631, 5, 112, 0, 0, 1631, + 1632, 5, 111, 0, 0, 1632, 1633, 5, 110, 0, 0, 1633, 1634, 5, 101, 0, 0, + 1634, 1635, 5, 110, 0, 0, 1635, 1636, 5, 116, 0, 0, 1636, 1637, 5, 115, + 0, 0, 1637, 208, 1, 0, 0, 0, 1638, 1639, 5, 103, 0, 0, 1639, 1640, 5, 101, + 0, 0, 1640, 1641, 5, 116, 0, 0, 1641, 1642, 5, 80, 0, 0, 1642, 1643, 5, + 114, 0, 0, 1643, 1644, 5, 111, 0, 0, 1644, 1645, 5, 102, 0, 0, 1645, 1646, + 5, 105, 0, 0, 1646, 1647, 5, 108, 0, 0, 1647, 1648, 5, 105, 0, 0, 1648, + 1649, 5, 110, 0, 0, 1649, 1650, 5, 103, 0, 0, 1650, 1651, 5, 76, 0, 0, + 1651, 1652, 5, 101, 0, 0, 1652, 1653, 5, 118, 0, 0, 1653, 1654, 5, 101, + 0, 0, 1654, 1655, 5, 108, 0, 0, 1655, 210, 1, 0, 0, 0, 1656, 1657, 5, 103, + 0, 0, 1657, 1658, 5, 101, 0, 0, 1658, 1659, 5, 116, 0, 0, 1659, 1660, 5, + 80, 0, 0, 1660, 1661, 5, 114, 0, 0, 1661, 1662, 5, 111, 0, 0, 1662, 1663, + 5, 102, 0, 0, 1663, 1664, 5, 105, 0, 0, 1664, 1665, 5, 108, 0, 0, 1665, + 1666, 5, 105, 0, 0, 1666, 1667, 5, 110, 0, 0, 1667, 1668, 5, 103, 0, 0, + 1668, 1669, 5, 83, 0, 0, 1669, 1670, 5, 116, 0, 0, 1670, 1671, 5, 97, 0, + 0, 1671, 1672, 5, 116, 0, 0, 1672, 1673, 5, 117, 0, 0, 1673, 1674, 5, 115, + 0, 0, 1674, 212, 1, 0, 0, 0, 1675, 1676, 5, 103, 0, 0, 1676, 1677, 5, 101, + 0, 0, 1677, 1678, 5, 116, 0, 0, 1678, 1679, 5, 82, 0, 0, 1679, 1680, 5, + 101, 0, 0, 1680, 1681, 5, 112, 0, 0, 1681, 1682, 5, 108, 0, 0, 1682, 1683, + 5, 105, 0, 0, 1683, 1684, 5, 99, 0, 0, 1684, 1685, 5, 97, 0, 0, 1685, 1686, + 5, 116, 0, 0, 1686, 1687, 5, 105, 0, 0, 1687, 1688, 5, 111, 0, 0, 1688, + 1689, 5, 110, 0, 0, 1689, 1690, 5, 73, 0, 0, 1690, 1691, 5, 110, 0, 0, + 1691, 1692, 5, 102, 0, 0, 1692, 1693, 5, 111, 0, 0, 1693, 214, 1, 0, 0, + 0, 1694, 1695, 5, 103, 0, 0, 1695, 1696, 5, 101, 0, 0, 1696, 1697, 5, 116, + 0, 0, 1697, 1698, 5, 82, 0, 0, 1698, 1699, 5, 111, 0, 0, 1699, 1700, 5, + 108, 0, 0, 1700, 1701, 5, 101, 0, 0, 1701, 216, 1, 0, 0, 0, 1702, 1703, + 5, 103, 0, 0, 1703, 1704, 5, 101, 0, 0, 1704, 1705, 5, 116, 0, 0, 1705, + 1706, 5, 82, 0, 0, 1706, 1707, 5, 111, 0, 0, 1707, 1708, 5, 108, 0, 0, + 1708, 1709, 5, 101, 0, 0, 1709, 1710, 5, 115, 0, 0, 1710, 218, 1, 0, 0, + 0, 1711, 1712, 5, 103, 0, 0, 1712, 1713, 5, 101, 0, 0, 1713, 1714, 5, 116, + 0, 0, 1714, 1715, 5, 85, 0, 0, 1715, 1716, 5, 115, 0, 0, 1716, 1717, 5, + 101, 0, 0, 1717, 1718, 5, 114, 0, 0, 1718, 220, 1, 0, 0, 0, 1719, 1720, + 5, 103, 0, 0, 1720, 1721, 5, 101, 0, 0, 1721, 1722, 5, 116, 0, 0, 1722, + 1723, 5, 85, 0, 0, 1723, 1724, 5, 115, 0, 0, 1724, 1725, 5, 101, 0, 0, + 1725, 1726, 5, 114, 0, 0, 1726, 1727, 5, 115, 0, 0, 1727, 222, 1, 0, 0, + 0, 1728, 1729, 5, 103, 0, 0, 1729, 1730, 5, 114, 0, 0, 1730, 1731, 5, 97, + 0, 0, 1731, 1732, 5, 110, 0, 0, 1732, 1733, 5, 116, 0, 0, 1733, 1734, 5, + 80, 0, 0, 1734, 1735, 5, 114, 0, 0, 1735, 1736, 5, 105, 0, 0, 1736, 1737, + 5, 118, 0, 0, 1737, 1738, 5, 105, 0, 0, 1738, 1739, 5, 108, 0, 0, 1739, + 1740, 5, 101, 0, 0, 1740, 1741, 5, 103, 0, 0, 1741, 1742, 5, 101, 0, 0, + 1742, 1743, 5, 115, 0, 0, 1743, 1744, 5, 84, 0, 0, 1744, 1745, 5, 111, + 0, 0, 1745, 1746, 5, 82, 0, 0, 1746, 1747, 5, 111, 0, 0, 1747, 1748, 5, + 108, 0, 0, 1748, 1749, 5, 101, 0, 0, 1749, 224, 1, 0, 0, 0, 1750, 1751, + 5, 103, 0, 0, 1751, 1752, 5, 114, 0, 0, 1752, 1753, 5, 97, 0, 0, 1753, + 1754, 5, 110, 0, 0, 1754, 1755, 5, 116, 0, 0, 1755, 1756, 5, 82, 0, 0, + 1756, 1757, 5, 111, 0, 0, 1757, 1758, 5, 108, 0, 0, 1758, 1759, 5, 101, + 0, 0, 1759, 1760, 5, 115, 0, 0, 1760, 1761, 5, 84, 0, 0, 1761, 1762, 5, + 111, 0, 0, 1762, 1763, 5, 82, 0, 0, 1763, 1764, 5, 111, 0, 0, 1764, 1765, + 5, 108, 0, 0, 1765, 1766, 5, 101, 0, 0, 1766, 226, 1, 0, 0, 0, 1767, 1768, + 5, 103, 0, 0, 1768, 1769, 5, 114, 0, 0, 1769, 1770, 5, 97, 0, 0, 1770, + 1771, 5, 110, 0, 0, 1771, 1772, 5, 116, 0, 0, 1772, 1773, 5, 82, 0, 0, + 1773, 1774, 5, 111, 0, 0, 1774, 1775, 5, 108, 0, 0, 1775, 1776, 5, 101, + 0, 0, 1776, 1777, 5, 115, 0, 0, 1777, 1778, 5, 84, 0, 0, 1778, 1779, 5, + 111, 0, 0, 1779, 1780, 5, 85, 0, 0, 1780, 1781, 5, 115, 0, 0, 1781, 1782, + 5, 101, 0, 0, 1782, 1783, 5, 114, 0, 0, 1783, 228, 1, 0, 0, 0, 1784, 1785, + 5, 104, 0, 0, 1785, 1786, 5, 101, 0, 0, 1786, 1787, 5, 108, 0, 0, 1787, + 1788, 5, 108, 0, 0, 1788, 1789, 5, 111, 0, 0, 1789, 230, 1, 0, 0, 0, 1790, + 1791, 5, 105, 0, 0, 1791, 1792, 5, 115, 0, 0, 1792, 1793, 5, 77, 0, 0, + 1793, 1794, 5, 97, 0, 0, 1794, 1795, 5, 115, 0, 0, 1795, 1796, 5, 116, + 0, 0, 1796, 1797, 5, 101, 0, 0, 1797, 1798, 5, 114, 0, 0, 1798, 232, 1, + 0, 0, 0, 1799, 1800, 5, 107, 0, 0, 1800, 1801, 5, 105, 0, 0, 1801, 1802, + 5, 108, 0, 0, 1802, 1803, 5, 108, 0, 0, 1803, 1804, 5, 79, 0, 0, 1804, + 1805, 5, 112, 0, 0, 1805, 234, 1, 0, 0, 0, 1806, 1807, 5, 108, 0, 0, 1807, + 1808, 5, 111, 0, 0, 1808, 1809, 5, 103, 0, 0, 1809, 1810, 5, 111, 0, 0, + 1810, 1811, 5, 117, 0, 0, 1811, 1812, 5, 116, 0, 0, 1812, 236, 1, 0, 0, + 0, 1813, 1814, 5, 112, 0, 0, 1814, 1815, 5, 114, 0, 0, 1815, 1816, 5, 105, + 0, 0, 1816, 1817, 5, 110, 0, 0, 1817, 1818, 5, 116, 0, 0, 1818, 1819, 5, + 67, 0, 0, 1819, 1820, 5, 111, 0, 0, 1820, 1821, 5, 108, 0, 0, 1821, 1822, + 5, 108, 0, 0, 1822, 1823, 5, 101, 0, 0, 1823, 1824, 5, 99, 0, 0, 1824, + 1825, 5, 116, 0, 0, 1825, 1826, 5, 105, 0, 0, 1826, 1827, 5, 111, 0, 0, + 1827, 1828, 5, 110, 0, 0, 1828, 1829, 5, 83, 0, 0, 1829, 1830, 5, 116, + 0, 0, 1830, 1831, 5, 97, 0, 0, 1831, 1832, 5, 116, 0, 0, 1832, 1833, 5, + 115, 0, 0, 1833, 238, 1, 0, 0, 0, 1834, 1835, 5, 112, 0, 0, 1835, 1836, + 5, 114, 0, 0, 1836, 1837, 5, 105, 0, 0, 1837, 1838, 5, 110, 0, 0, 1838, + 1839, 5, 116, 0, 0, 1839, 1840, 5, 82, 0, 0, 1840, 1841, 5, 101, 0, 0, + 1841, 1842, 5, 112, 0, 0, 1842, 1843, 5, 108, 0, 0, 1843, 1844, 5, 105, + 0, 0, 1844, 1845, 5, 99, 0, 0, 1845, 1846, 5, 97, 0, 0, 1846, 1847, 5, + 116, 0, 0, 1847, 1848, 5, 105, 0, 0, 1848, 1849, 5, 111, 0, 0, 1849, 1850, + 5, 110, 0, 0, 1850, 1851, 5, 73, 0, 0, 1851, 1852, 5, 110, 0, 0, 1852, + 1853, 5, 102, 0, 0, 1853, 1854, 5, 111, 0, 0, 1854, 240, 1, 0, 0, 0, 1855, + 1856, 5, 112, 0, 0, 1856, 1857, 5, 114, 0, 0, 1857, 1858, 5, 105, 0, 0, + 1858, 1859, 5, 110, 0, 0, 1859, 1860, 5, 116, 0, 0, 1860, 1861, 5, 83, + 0, 0, 1861, 1862, 5, 101, 0, 0, 1862, 1863, 5, 99, 0, 0, 1863, 1864, 5, + 111, 0, 0, 1864, 1865, 5, 110, 0, 0, 1865, 1866, 5, 100, 0, 0, 1866, 1867, + 5, 97, 0, 0, 1867, 1868, 5, 114, 0, 0, 1868, 1869, 5, 121, 0, 0, 1869, + 1870, 5, 82, 0, 0, 1870, 1871, 5, 101, 0, 0, 1871, 1872, 5, 112, 0, 0, + 1872, 1873, 5, 108, 0, 0, 1873, 1874, 5, 105, 0, 0, 1874, 1875, 5, 99, + 0, 0, 1875, 1876, 5, 97, 0, 0, 1876, 1877, 5, 116, 0, 0, 1877, 1878, 5, + 105, 0, 0, 1878, 1879, 5, 111, 0, 0, 1879, 1880, 5, 110, 0, 0, 1880, 1881, + 5, 73, 0, 0, 1881, 1882, 5, 110, 0, 0, 1882, 1883, 5, 102, 0, 0, 1883, + 1884, 5, 111, 0, 0, 1884, 242, 1, 0, 0, 0, 1885, 1886, 5, 112, 0, 0, 1886, + 1887, 5, 114, 0, 0, 1887, 1888, 5, 105, 0, 0, 1888, 1889, 5, 110, 0, 0, + 1889, 1890, 5, 116, 0, 0, 1890, 1891, 5, 83, 0, 0, 1891, 1892, 5, 104, + 0, 0, 1892, 1893, 5, 97, 0, 0, 1893, 1894, 5, 114, 0, 0, 1894, 1895, 5, + 100, 0, 0, 1895, 1896, 5, 105, 0, 0, 1896, 1897, 5, 110, 0, 0, 1897, 1898, + 5, 103, 0, 0, 1898, 1899, 5, 83, 0, 0, 1899, 1900, 5, 116, 0, 0, 1900, + 1901, 5, 97, 0, 0, 1901, 1902, 5, 116, 0, 0, 1902, 1903, 5, 117, 0, 0, + 1903, 1904, 5, 115, 0, 0, 1904, 244, 1, 0, 0, 0, 1905, 1906, 5, 112, 0, + 0, 1906, 1907, 5, 114, 0, 0, 1907, 1908, 5, 105, 0, 0, 1908, 1909, 5, 110, + 0, 0, 1909, 1910, 5, 116, 0, 0, 1910, 1911, 5, 83, 0, 0, 1911, 1912, 5, + 108, 0, 0, 1912, 1913, 5, 97, 0, 0, 1913, 1914, 5, 118, 0, 0, 1914, 1915, + 5, 101, 0, 0, 1915, 1916, 5, 82, 0, 0, 1916, 1917, 5, 101, 0, 0, 1917, + 1918, 5, 112, 0, 0, 1918, 1919, 5, 108, 0, 0, 1919, 1920, 5, 105, 0, 0, + 1920, 1921, 5, 99, 0, 0, 1921, 1922, 5, 97, 0, 0, 1922, 1923, 5, 116, 0, + 0, 1923, 1924, 5, 105, 0, 0, 1924, 1925, 5, 111, 0, 0, 1925, 1926, 5, 110, + 0, 0, 1926, 1927, 5, 73, 0, 0, 1927, 1928, 5, 110, 0, 0, 1928, 1929, 5, + 102, 0, 0, 1929, 1930, 5, 111, 0, 0, 1930, 246, 1, 0, 0, 0, 1931, 1932, + 5, 114, 0, 0, 1932, 1933, 5, 101, 0, 0, 1933, 1934, 5, 118, 0, 0, 1934, + 1935, 5, 111, 0, 0, 1935, 1936, 5, 107, 0, 0, 1936, 1937, 5, 101, 0, 0, + 1937, 1938, 5, 80, 0, 0, 1938, 1939, 5, 114, 0, 0, 1939, 1940, 5, 105, + 0, 0, 1940, 1941, 5, 118, 0, 0, 1941, 1942, 5, 105, 0, 0, 1942, 1943, 5, + 108, 0, 0, 1943, 1944, 5, 101, 0, 0, 1944, 1945, 5, 103, 0, 0, 1945, 1946, + 5, 101, 0, 0, 1946, 1947, 5, 115, 0, 0, 1947, 1948, 5, 70, 0, 0, 1948, + 1949, 5, 114, 0, 0, 1949, 1950, 5, 111, 0, 0, 1950, 1951, 5, 109, 0, 0, + 1951, 1952, 5, 82, 0, 0, 1952, 1953, 5, 111, 0, 0, 1953, 1954, 5, 108, + 0, 0, 1954, 1955, 5, 101, 0, 0, 1955, 248, 1, 0, 0, 0, 1956, 1957, 5, 114, + 0, 0, 1957, 1958, 5, 101, 0, 0, 1958, 1959, 5, 118, 0, 0, 1959, 1960, 5, + 111, 0, 0, 1960, 1961, 5, 107, 0, 0, 1961, 1962, 5, 101, 0, 0, 1962, 1963, + 5, 82, 0, 0, 1963, 1964, 5, 111, 0, 0, 1964, 1965, 5, 108, 0, 0, 1965, + 1966, 5, 101, 0, 0, 1966, 1967, 5, 115, 0, 0, 1967, 1968, 5, 70, 0, 0, + 1968, 1969, 5, 114, 0, 0, 1969, 1970, 5, 111, 0, 0, 1970, 1971, 5, 109, + 0, 0, 1971, 1972, 5, 82, 0, 0, 1972, 1973, 5, 111, 0, 0, 1973, 1974, 5, + 108, 0, 0, 1974, 1975, 5, 101, 0, 0, 1975, 250, 1, 0, 0, 0, 1976, 1977, + 5, 114, 0, 0, 1977, 1978, 5, 101, 0, 0, 1978, 1979, 5, 118, 0, 0, 1979, + 1980, 5, 111, 0, 0, 1980, 1981, 5, 107, 0, 0, 1981, 1982, 5, 101, 0, 0, + 1982, 1983, 5, 82, 0, 0, 1983, 1984, 5, 111, 0, 0, 1984, 1985, 5, 108, + 0, 0, 1985, 1986, 5, 101, 0, 0, 1986, 1987, 5, 115, 0, 0, 1987, 1988, 5, + 70, 0, 0, 1988, 1989, 5, 114, 0, 0, 1989, 1990, 5, 111, 0, 0, 1990, 1991, + 5, 109, 0, 0, 1991, 1992, 5, 85, 0, 0, 1992, 1993, 5, 115, 0, 0, 1993, + 1994, 5, 101, 0, 0, 1994, 1995, 5, 114, 0, 0, 1995, 252, 1, 0, 0, 0, 1996, + 1997, 5, 114, 0, 0, 1997, 1998, 5, 111, 0, 0, 1998, 1999, 5, 116, 0, 0, + 1999, 2000, 5, 97, 0, 0, 2000, 2001, 5, 116, 0, 0, 2001, 2002, 5, 101, + 0, 0, 2002, 2003, 5, 67, 0, 0, 2003, 2004, 5, 101, 0, 0, 2004, 2005, 5, + 114, 0, 0, 2005, 2006, 5, 116, 0, 0, 2006, 2007, 5, 105, 0, 0, 2007, 2008, + 5, 102, 0, 0, 2008, 2009, 5, 105, 0, 0, 2009, 2010, 5, 99, 0, 0, 2010, + 2011, 5, 97, 0, 0, 2011, 2012, 5, 116, 0, 0, 2012, 2013, 5, 101, 0, 0, + 2013, 2014, 5, 115, 0, 0, 2014, 254, 1, 0, 0, 0, 2015, 2016, 5, 115, 0, + 0, 2016, 2017, 5, 101, 0, 0, 2017, 2018, 5, 116, 0, 0, 2018, 2019, 5, 76, + 0, 0, 2019, 2020, 5, 111, 0, 0, 2020, 2021, 5, 103, 0, 0, 2021, 2022, 5, + 76, 0, 0, 2022, 2023, 5, 101, 0, 0, 2023, 2024, 5, 118, 0, 0, 2024, 2025, + 5, 101, 0, 0, 2025, 2026, 5, 108, 0, 0, 2026, 256, 1, 0, 0, 0, 2027, 2028, + 5, 115, 0, 0, 2028, 2029, 5, 101, 0, 0, 2029, 2030, 5, 116, 0, 0, 2030, + 2031, 5, 80, 0, 0, 2031, 2032, 5, 114, 0, 0, 2032, 2033, 5, 111, 0, 0, + 2033, 2034, 5, 102, 0, 0, 2034, 2035, 5, 105, 0, 0, 2035, 2036, 5, 108, + 0, 0, 2036, 2037, 5, 105, 0, 0, 2037, 2038, 5, 110, 0, 0, 2038, 2039, 5, + 103, 0, 0, 2039, 2040, 5, 76, 0, 0, 2040, 2041, 5, 101, 0, 0, 2041, 2042, + 5, 118, 0, 0, 2042, 2043, 5, 101, 0, 0, 2043, 2044, 5, 108, 0, 0, 2044, + 258, 1, 0, 0, 0, 2045, 2046, 5, 115, 0, 0, 2046, 2047, 5, 101, 0, 0, 2047, + 2048, 5, 116, 0, 0, 2048, 2049, 5, 83, 0, 0, 2049, 2050, 5, 101, 0, 0, + 2050, 2051, 5, 99, 0, 0, 2051, 2052, 5, 111, 0, 0, 2052, 2053, 5, 110, + 0, 0, 2053, 2054, 5, 100, 0, 0, 2054, 2055, 5, 97, 0, 0, 2055, 2056, 5, + 114, 0, 0, 2056, 2057, 5, 121, 0, 0, 2057, 2058, 5, 79, 0, 0, 2058, 2059, + 5, 107, 0, 0, 2059, 260, 1, 0, 0, 0, 2060, 2061, 5, 115, 0, 0, 2061, 2062, + 5, 104, 0, 0, 2062, 2063, 5, 117, 0, 0, 2063, 2064, 5, 116, 0, 0, 2064, + 2065, 5, 100, 0, 0, 2065, 2066, 5, 111, 0, 0, 2066, 2067, 5, 119, 0, 0, + 2067, 2068, 5, 110, 0, 0, 2068, 2069, 5, 83, 0, 0, 2069, 2070, 5, 101, + 0, 0, 2070, 2071, 5, 114, 0, 0, 2071, 2072, 5, 118, 0, 0, 2072, 2073, 5, + 101, 0, 0, 2073, 2074, 5, 114, 0, 0, 2074, 262, 1, 0, 0, 0, 2075, 2076, + 5, 117, 0, 0, 2076, 2077, 5, 112, 0, 0, 2077, 2078, 5, 100, 0, 0, 2078, + 2079, 5, 97, 0, 0, 2079, 2080, 5, 116, 0, 0, 2080, 2081, 5, 101, 0, 0, + 2081, 2082, 5, 82, 0, 0, 2082, 2083, 5, 111, 0, 0, 2083, 2084, 5, 108, + 0, 0, 2084, 2085, 5, 101, 0, 0, 2085, 264, 1, 0, 0, 0, 2086, 2087, 5, 117, + 0, 0, 2087, 2088, 5, 112, 0, 0, 2088, 2089, 5, 100, 0, 0, 2089, 2090, 5, + 97, 0, 0, 2090, 2091, 5, 116, 0, 0, 2091, 2092, 5, 101, 0, 0, 2092, 2093, + 5, 85, 0, 0, 2093, 2094, 5, 115, 0, 0, 2094, 2095, 5, 101, 0, 0, 2095, + 2096, 5, 114, 0, 0, 2096, 266, 1, 0, 0, 0, 2097, 2098, 5, 77, 0, 0, 2098, + 2099, 5, 111, 0, 0, 2099, 2100, 5, 110, 0, 0, 2100, 2101, 5, 103, 0, 0, + 2101, 2102, 5, 111, 0, 0, 2102, 268, 1, 0, 0, 0, 2103, 2104, 5, 99, 0, + 0, 2104, 2105, 5, 111, 0, 0, 2105, 2106, 5, 110, 0, 0, 2106, 2107, 5, 110, + 0, 0, 2107, 2108, 5, 101, 0, 0, 2108, 2109, 5, 99, 0, 0, 2109, 2110, 5, + 116, 0, 0, 2110, 270, 1, 0, 0, 0, 2111, 2112, 5, 114, 0, 0, 2112, 2113, + 5, 115, 0, 0, 2113, 272, 1, 0, 0, 0, 2114, 2115, 5, 115, 0, 0, 2115, 2116, + 5, 104, 0, 0, 2116, 274, 1, 0, 0, 0, 2117, 2118, 5, 115, 0, 0, 2118, 2119, + 5, 112, 0, 0, 2119, 276, 1, 0, 0, 0, 2120, 2121, 5, 103, 0, 0, 2121, 2122, + 5, 101, 0, 0, 2122, 2123, 5, 116, 0, 0, 2123, 2124, 5, 68, 0, 0, 2124, + 2125, 5, 66, 0, 0, 2125, 278, 1, 0, 0, 0, 2126, 2127, 5, 103, 0, 0, 2127, + 2128, 5, 101, 0, 0, 2128, 2129, 5, 116, 0, 0, 2129, 2130, 5, 82, 0, 0, + 2130, 2131, 5, 101, 0, 0, 2131, 2132, 5, 97, 0, 0, 2132, 2133, 5, 100, + 0, 0, 2133, 2134, 5, 67, 0, 0, 2134, 2135, 5, 111, 0, 0, 2135, 2136, 5, + 110, 0, 0, 2136, 2137, 5, 99, 0, 0, 2137, 2138, 5, 101, 0, 0, 2138, 2139, + 5, 114, 0, 0, 2139, 2140, 5, 110, 0, 0, 2140, 280, 1, 0, 0, 0, 2141, 2142, + 5, 103, 0, 0, 2142, 2143, 5, 101, 0, 0, 2143, 2144, 5, 116, 0, 0, 2144, + 2145, 5, 82, 0, 0, 2145, 2146, 5, 101, 0, 0, 2146, 2147, 5, 97, 0, 0, 2147, + 2148, 5, 100, 0, 0, 2148, 2149, 5, 80, 0, 0, 2149, 2150, 5, 114, 0, 0, + 2150, 2151, 5, 101, 0, 0, 2151, 2152, 5, 102, 0, 0, 2152, 282, 1, 0, 0, + 0, 2153, 2154, 5, 103, 0, 0, 2154, 2155, 5, 101, 0, 0, 2155, 2156, 5, 116, + 0, 0, 2156, 2157, 5, 82, 0, 0, 2157, 2158, 5, 101, 0, 0, 2158, 2159, 5, + 97, 0, 0, 2159, 2160, 5, 100, 0, 0, 2160, 2161, 5, 80, 0, 0, 2161, 2162, + 5, 114, 0, 0, 2162, 2163, 5, 101, 0, 0, 2163, 2164, 5, 102, 0, 0, 2164, + 2165, 5, 77, 0, 0, 2165, 2166, 5, 111, 0, 0, 2166, 2167, 5, 100, 0, 0, + 2167, 2168, 5, 101, 0, 0, 2168, 284, 1, 0, 0, 0, 2169, 2170, 5, 103, 0, + 0, 2170, 2171, 5, 101, 0, 0, 2171, 2172, 5, 116, 0, 0, 2172, 2173, 5, 82, + 0, 0, 2173, 2174, 5, 101, 0, 0, 2174, 2175, 5, 97, 0, 0, 2175, 2176, 5, + 100, 0, 0, 2176, 2177, 5, 80, 0, 0, 2177, 2178, 5, 114, 0, 0, 2178, 2179, + 5, 101, 0, 0, 2179, 2180, 5, 102, 0, 0, 2180, 2181, 5, 84, 0, 0, 2181, + 2182, 5, 97, 0, 0, 2182, 2183, 5, 103, 0, 0, 2183, 2184, 5, 83, 0, 0, 2184, + 2185, 5, 101, 0, 0, 2185, 2186, 5, 116, 0, 0, 2186, 286, 1, 0, 0, 0, 2187, + 2188, 5, 103, 0, 0, 2188, 2189, 5, 101, 0, 0, 2189, 2190, 5, 116, 0, 0, + 2190, 2191, 5, 87, 0, 0, 2191, 2192, 5, 114, 0, 0, 2192, 2193, 5, 105, + 0, 0, 2193, 2194, 5, 116, 0, 0, 2194, 2195, 5, 101, 0, 0, 2195, 2196, 5, + 67, 0, 0, 2196, 2197, 5, 111, 0, 0, 2197, 2198, 5, 110, 0, 0, 2198, 2199, + 5, 99, 0, 0, 2199, 2200, 5, 101, 0, 0, 2200, 2201, 5, 114, 0, 0, 2201, + 2202, 5, 110, 0, 0, 2202, 288, 1, 0, 0, 0, 2203, 2204, 5, 115, 0, 0, 2204, + 2205, 5, 101, 0, 0, 2205, 2206, 5, 116, 0, 0, 2206, 2207, 5, 82, 0, 0, + 2207, 2208, 5, 101, 0, 0, 2208, 2209, 5, 97, 0, 0, 2209, 2210, 5, 100, + 0, 0, 2210, 2211, 5, 80, 0, 0, 2211, 2212, 5, 114, 0, 0, 2212, 2213, 5, + 101, 0, 0, 2213, 2214, 5, 102, 0, 0, 2214, 290, 1, 0, 0, 0, 2215, 2216, + 5, 115, 0, 0, 2216, 2217, 5, 101, 0, 0, 2217, 2218, 5, 116, 0, 0, 2218, + 2219, 5, 82, 0, 0, 2219, 2220, 5, 101, 0, 0, 2220, 2221, 5, 97, 0, 0, 2221, + 2222, 5, 100, 0, 0, 2222, 2223, 5, 67, 0, 0, 2223, 2224, 5, 111, 0, 0, + 2224, 2225, 5, 110, 0, 0, 2225, 2226, 5, 99, 0, 0, 2226, 2227, 5, 101, + 0, 0, 2227, 2228, 5, 114, 0, 0, 2228, 2229, 5, 110, 0, 0, 2229, 292, 1, + 0, 0, 0, 2230, 2231, 5, 115, 0, 0, 2231, 2232, 5, 101, 0, 0, 2232, 2233, + 5, 116, 0, 0, 2233, 2234, 5, 87, 0, 0, 2234, 2235, 5, 114, 0, 0, 2235, + 2236, 5, 105, 0, 0, 2236, 2237, 5, 116, 0, 0, 2237, 2238, 5, 101, 0, 0, + 2238, 2239, 5, 67, 0, 0, 2239, 2240, 5, 111, 0, 0, 2240, 2241, 5, 110, + 0, 0, 2241, 2242, 5, 99, 0, 0, 2242, 2243, 5, 101, 0, 0, 2243, 2244, 5, + 114, 0, 0, 2244, 2245, 5, 110, 0, 0, 2245, 294, 1, 0, 0, 0, 2246, 2247, + 5, 115, 0, 0, 2247, 2248, 5, 116, 0, 0, 2248, 2249, 5, 97, 0, 0, 2249, + 2250, 5, 114, 0, 0, 2250, 2251, 5, 116, 0, 0, 2251, 2252, 5, 83, 0, 0, + 2252, 2253, 5, 101, 0, 0, 2253, 2254, 5, 115, 0, 0, 2254, 2255, 5, 115, + 0, 0, 2255, 2256, 5, 105, 0, 0, 2256, 2257, 5, 111, 0, 0, 2257, 2258, 5, + 110, 0, 0, 2258, 296, 1, 0, 0, 0, 2259, 2260, 5, 119, 0, 0, 2260, 2261, + 5, 97, 0, 0, 2261, 2262, 5, 116, 0, 0, 2262, 2263, 5, 99, 0, 0, 2263, 2264, + 5, 104, 0, 0, 2264, 298, 1, 0, 0, 0, 2265, 2266, 5, 103, 0, 0, 2266, 2267, + 5, 101, 0, 0, 2267, 2268, 5, 116, 0, 0, 2268, 2269, 5, 68, 0, 0, 2269, + 2270, 5, 66, 0, 0, 2270, 2271, 5, 78, 0, 0, 2271, 2272, 5, 97, 0, 0, 2272, + 2273, 5, 109, 0, 0, 2273, 2274, 5, 101, 0, 0, 2274, 2275, 5, 115, 0, 0, + 2275, 300, 1, 0, 0, 0, 2276, 2277, 5, 103, 0, 0, 2277, 2278, 5, 101, 0, + 0, 2278, 2279, 5, 116, 0, 0, 2279, 2280, 5, 75, 0, 0, 2280, 2281, 5, 101, + 0, 0, 2281, 2282, 5, 121, 0, 0, 2282, 2283, 5, 86, 0, 0, 2283, 2284, 5, + 97, 0, 0, 2284, 2285, 5, 117, 0, 0, 2285, 2286, 5, 108, 0, 0, 2286, 2287, + 5, 116, 0, 0, 2287, 302, 1, 0, 0, 0, 2288, 2289, 5, 103, 0, 0, 2289, 2290, + 5, 101, 0, 0, 2290, 2291, 5, 116, 0, 0, 2291, 2292, 5, 67, 0, 0, 2292, + 2293, 5, 108, 0, 0, 2293, 2294, 5, 105, 0, 0, 2294, 2295, 5, 101, 0, 0, + 2295, 2296, 5, 110, 0, 0, 2296, 2297, 5, 116, 0, 0, 2297, 2298, 5, 69, + 0, 0, 2298, 2299, 5, 110, 0, 0, 2299, 2300, 5, 99, 0, 0, 2300, 2301, 5, + 114, 0, 0, 2301, 2302, 5, 121, 0, 0, 2302, 2303, 5, 112, 0, 0, 2303, 2304, + 5, 116, 0, 0, 2304, 2305, 5, 105, 0, 0, 2305, 2306, 5, 111, 0, 0, 2306, + 2307, 5, 110, 0, 0, 2307, 304, 1, 0, 0, 0, 2308, 2309, 5, 103, 0, 0, 2309, + 2310, 5, 101, 0, 0, 2310, 2311, 5, 116, 0, 0, 2311, 2312, 5, 80, 0, 0, + 2312, 2313, 5, 108, 0, 0, 2313, 2314, 5, 97, 0, 0, 2314, 2315, 5, 110, + 0, 0, 2315, 2316, 5, 67, 0, 0, 2316, 2317, 5, 97, 0, 0, 2317, 2318, 5, + 99, 0, 0, 2318, 2319, 5, 104, 0, 0, 2319, 2320, 5, 101, 0, 0, 2320, 306, + 1, 0, 0, 0, 2321, 2322, 5, 115, 0, 0, 2322, 2323, 5, 111, 0, 0, 2323, 2324, + 5, 114, 0, 0, 2324, 2325, 5, 116, 0, 0, 2325, 308, 1, 0, 0, 0, 2326, 2327, + 5, 108, 0, 0, 2327, 2328, 5, 105, 0, 0, 2328, 2329, 5, 109, 0, 0, 2329, + 2330, 5, 105, 0, 0, 2330, 2331, 5, 116, 0, 0, 2331, 310, 1, 0, 0, 0, 2332, + 2333, 5, 115, 0, 0, 2333, 2334, 5, 107, 0, 0, 2334, 2335, 5, 105, 0, 0, + 2335, 2336, 5, 112, 0, 0, 2336, 312, 1, 0, 0, 0, 2337, 2338, 5, 112, 0, + 0, 2338, 2339, 5, 114, 0, 0, 2339, 2340, 5, 111, 0, 0, 2340, 2341, 5, 106, + 0, 0, 2341, 2342, 5, 101, 0, 0, 2342, 2343, 5, 99, 0, 0, 2343, 2344, 5, + 116, 0, 0, 2344, 2345, 5, 105, 0, 0, 2345, 2346, 5, 111, 0, 0, 2346, 2347, + 5, 110, 0, 0, 2347, 314, 1, 0, 0, 0, 2348, 2349, 5, 112, 0, 0, 2349, 2350, + 5, 114, 0, 0, 2350, 2351, 5, 111, 0, 0, 2351, 2352, 5, 106, 0, 0, 2352, + 2353, 5, 101, 0, 0, 2353, 2354, 5, 99, 0, 0, 2354, 2355, 5, 116, 0, 0, + 2355, 316, 1, 0, 0, 0, 2356, 2357, 5, 99, 0, 0, 2357, 2358, 5, 111, 0, + 0, 2358, 2359, 5, 117, 0, 0, 2359, 2360, 5, 110, 0, 0, 2360, 2361, 5, 116, + 0, 0, 2361, 318, 1, 0, 0, 0, 2362, 2363, 5, 105, 0, 0, 2363, 2364, 5, 110, + 0, 0, 2364, 2365, 5, 105, 0, 0, 2365, 2366, 5, 116, 0, 0, 2366, 2367, 5, + 105, 0, 0, 2367, 2368, 5, 97, 0, 0, 2368, 2369, 5, 108, 0, 0, 2369, 2370, + 5, 105, 0, 0, 2370, 2371, 5, 122, 0, 0, 2371, 2372, 5, 101, 0, 0, 2372, + 2373, 5, 79, 0, 0, 2373, 2374, 5, 114, 0, 0, 2374, 2375, 5, 100, 0, 0, + 2375, 2376, 5, 101, 0, 0, 2376, 2377, 5, 114, 0, 0, 2377, 2378, 5, 101, + 0, 0, 2378, 2379, 5, 100, 0, 0, 2379, 2380, 5, 66, 0, 0, 2380, 2381, 5, + 117, 0, 0, 2381, 2382, 5, 108, 0, 0, 2382, 2383, 5, 107, 0, 0, 2383, 2384, + 5, 79, 0, 0, 2384, 2385, 5, 112, 0, 0, 2385, 320, 1, 0, 0, 0, 2386, 2387, + 5, 105, 0, 0, 2387, 2388, 5, 110, 0, 0, 2388, 2389, 5, 105, 0, 0, 2389, + 2390, 5, 116, 0, 0, 2390, 2391, 5, 105, 0, 0, 2391, 2392, 5, 97, 0, 0, + 2392, 2393, 5, 108, 0, 0, 2393, 2394, 5, 105, 0, 0, 2394, 2395, 5, 122, + 0, 0, 2395, 2396, 5, 101, 0, 0, 2396, 2397, 5, 85, 0, 0, 2397, 2398, 5, + 110, 0, 0, 2398, 2399, 5, 111, 0, 0, 2399, 2400, 5, 114, 0, 0, 2400, 2401, + 5, 100, 0, 0, 2401, 2402, 5, 101, 0, 0, 2402, 2403, 5, 114, 0, 0, 2403, + 2404, 5, 101, 0, 0, 2404, 2405, 5, 100, 0, 0, 2405, 2406, 5, 66, 0, 0, + 2406, 2407, 5, 117, 0, 0, 2407, 2408, 5, 108, 0, 0, 2408, 2409, 5, 107, + 0, 0, 2409, 2410, 5, 79, 0, 0, 2410, 2411, 5, 112, 0, 0, 2411, 322, 1, + 0, 0, 0, 2412, 2413, 5, 101, 0, 0, 2413, 2414, 5, 120, 0, 0, 2414, 2415, + 5, 101, 0, 0, 2415, 2416, 5, 99, 0, 0, 2416, 2417, 5, 117, 0, 0, 2417, + 2418, 5, 116, 0, 0, 2418, 2419, 5, 101, 0, 0, 2419, 324, 1, 0, 0, 0, 2420, + 2421, 5, 103, 0, 0, 2421, 2422, 5, 101, 0, 0, 2422, 2423, 5, 116, 0, 0, + 2423, 2424, 5, 79, 0, 0, 2424, 2425, 5, 112, 0, 0, 2425, 2426, 5, 101, + 0, 0, 2426, 2427, 5, 114, 0, 0, 2427, 2428, 5, 97, 0, 0, 2428, 2429, 5, + 116, 0, 0, 2429, 2430, 5, 105, 0, 0, 2430, 2431, 5, 111, 0, 0, 2431, 2432, + 5, 110, 0, 0, 2432, 2433, 5, 115, 0, 0, 2433, 326, 1, 0, 0, 0, 2434, 2435, + 5, 116, 0, 0, 2435, 2436, 5, 111, 0, 0, 2436, 2437, 5, 83, 0, 0, 2437, + 2438, 5, 116, 0, 0, 2438, 2439, 5, 114, 0, 0, 2439, 2440, 5, 105, 0, 0, + 2440, 2441, 5, 110, 0, 0, 2441, 2442, 5, 103, 0, 0, 2442, 328, 1, 0, 0, + 0, 2443, 2444, 5, 105, 0, 0, 2444, 2445, 5, 110, 0, 0, 2445, 2446, 5, 115, + 0, 0, 2446, 2447, 5, 101, 0, 0, 2447, 2448, 5, 114, 0, 0, 2448, 2449, 5, + 116, 0, 0, 2449, 330, 1, 0, 0, 0, 2450, 2451, 5, 114, 0, 0, 2451, 2452, + 5, 101, 0, 0, 2452, 2453, 5, 109, 0, 0, 2453, 2454, 5, 111, 0, 0, 2454, + 2455, 5, 118, 0, 0, 2455, 2456, 5, 101, 0, 0, 2456, 332, 1, 0, 0, 0, 2457, + 2458, 5, 98, 0, 0, 2458, 2459, 5, 97, 0, 0, 2459, 2460, 5, 116, 0, 0, 2460, + 2461, 5, 99, 0, 0, 2461, 2462, 5, 104, 0, 0, 2462, 2463, 5, 83, 0, 0, 2463, + 2464, 5, 105, 0, 0, 2464, 2465, 5, 122, 0, 0, 2465, 2466, 5, 101, 0, 0, + 2466, 334, 1, 0, 0, 0, 2467, 2468, 5, 99, 0, 0, 2468, 2469, 5, 108, 0, + 0, 2469, 2470, 5, 111, 0, 0, 2470, 2471, 5, 115, 0, 0, 2471, 2472, 5, 101, + 0, 0, 2472, 336, 1, 0, 0, 0, 2473, 2474, 5, 99, 0, 0, 2474, 2475, 5, 111, + 0, 0, 2475, 2476, 5, 108, 0, 0, 2476, 2477, 5, 108, 0, 0, 2477, 2478, 5, + 97, 0, 0, 2478, 2479, 5, 116, 0, 0, 2479, 2480, 5, 105, 0, 0, 2480, 2481, + 5, 111, 0, 0, 2481, 2482, 5, 110, 0, 0, 2482, 338, 1, 0, 0, 0, 2483, 2484, + 5, 99, 0, 0, 2484, 2485, 5, 111, 0, 0, 2485, 2486, 5, 109, 0, 0, 2486, + 2487, 5, 109, 0, 0, 2487, 2488, 5, 101, 0, 0, 2488, 2489, 5, 110, 0, 0, + 2489, 2490, 5, 116, 0, 0, 2490, 340, 1, 0, 0, 0, 2491, 2492, 5, 101, 0, + 0, 2492, 2493, 5, 120, 0, 0, 2493, 2494, 5, 112, 0, 0, 2494, 2495, 5, 108, + 0, 0, 2495, 2496, 5, 97, 0, 0, 2496, 2497, 5, 105, 0, 0, 2497, 2498, 5, + 110, 0, 0, 2498, 342, 1, 0, 0, 0, 2499, 2500, 5, 102, 0, 0, 2500, 2501, + 5, 111, 0, 0, 2501, 2502, 5, 114, 0, 0, 2502, 2503, 5, 69, 0, 0, 2503, + 2504, 5, 97, 0, 0, 2504, 2505, 5, 99, 0, 0, 2505, 2506, 5, 104, 0, 0, 2506, + 344, 1, 0, 0, 0, 2507, 2508, 5, 104, 0, 0, 2508, 2509, 5, 97, 0, 0, 2509, + 2510, 5, 115, 0, 0, 2510, 2511, 5, 78, 0, 0, 2511, 2512, 5, 101, 0, 0, + 2512, 2513, 5, 120, 0, 0, 2513, 2514, 5, 116, 0, 0, 2514, 346, 1, 0, 0, + 0, 2515, 2516, 5, 104, 0, 0, 2516, 2517, 5, 105, 0, 0, 2517, 2518, 5, 110, + 0, 0, 2518, 2519, 5, 116, 0, 0, 2519, 348, 1, 0, 0, 0, 2520, 2521, 5, 105, + 0, 0, 2521, 2522, 5, 115, 0, 0, 2522, 2523, 5, 67, 0, 0, 2523, 2524, 5, + 108, 0, 0, 2524, 2525, 5, 111, 0, 0, 2525, 2526, 5, 115, 0, 0, 2526, 2527, + 5, 101, 0, 0, 2527, 2528, 5, 100, 0, 0, 2528, 350, 1, 0, 0, 0, 2529, 2530, + 5, 105, 0, 0, 2530, 2531, 5, 115, 0, 0, 2531, 2532, 5, 69, 0, 0, 2532, + 2533, 5, 120, 0, 0, 2533, 2534, 5, 104, 0, 0, 2534, 2535, 5, 97, 0, 0, + 2535, 2536, 5, 117, 0, 0, 2536, 2537, 5, 115, 0, 0, 2537, 2538, 5, 116, + 0, 0, 2538, 2539, 5, 101, 0, 0, 2539, 2540, 5, 100, 0, 0, 2540, 352, 1, + 0, 0, 0, 2541, 2542, 5, 105, 0, 0, 2542, 2543, 5, 116, 0, 0, 2543, 2544, + 5, 99, 0, 0, 2544, 2545, 5, 111, 0, 0, 2545, 2546, 5, 117, 0, 0, 2546, + 2547, 5, 110, 0, 0, 2547, 2548, 5, 116, 0, 0, 2548, 354, 1, 0, 0, 0, 2549, + 2550, 5, 109, 0, 0, 2550, 2551, 5, 97, 0, 0, 2551, 2552, 5, 112, 0, 0, + 2552, 356, 1, 0, 0, 0, 2553, 2554, 5, 109, 0, 0, 2554, 2555, 5, 97, 0, + 0, 2555, 2556, 5, 120, 0, 0, 2556, 358, 1, 0, 0, 0, 2557, 2558, 5, 109, + 0, 0, 2558, 2559, 5, 97, 0, 0, 2559, 2560, 5, 120, 0, 0, 2560, 2561, 5, + 65, 0, 0, 2561, 2562, 5, 119, 0, 0, 2562, 2563, 5, 97, 0, 0, 2563, 2564, + 5, 105, 0, 0, 2564, 2565, 5, 116, 0, 0, 2565, 2566, 5, 84, 0, 0, 2566, + 2567, 5, 105, 0, 0, 2567, 2568, 5, 109, 0, 0, 2568, 2569, 5, 101, 0, 0, + 2569, 2570, 5, 77, 0, 0, 2570, 2571, 5, 83, 0, 0, 2571, 360, 1, 0, 0, 0, + 2572, 2573, 5, 109, 0, 0, 2573, 2574, 5, 97, 0, 0, 2574, 2575, 5, 120, + 0, 0, 2575, 2576, 5, 84, 0, 0, 2576, 2577, 5, 105, 0, 0, 2577, 2578, 5, + 109, 0, 0, 2578, 2579, 5, 101, 0, 0, 2579, 2580, 5, 77, 0, 0, 2580, 2581, + 5, 83, 0, 0, 2581, 362, 1, 0, 0, 0, 2582, 2583, 5, 109, 0, 0, 2583, 2584, + 5, 105, 0, 0, 2584, 2585, 5, 110, 0, 0, 2585, 364, 1, 0, 0, 0, 2586, 2587, + 5, 110, 0, 0, 2587, 2588, 5, 101, 0, 0, 2588, 2589, 5, 120, 0, 0, 2589, + 2590, 5, 116, 0, 0, 2590, 366, 1, 0, 0, 0, 2591, 2592, 5, 110, 0, 0, 2592, + 2593, 5, 111, 0, 0, 2593, 2594, 5, 67, 0, 0, 2594, 2595, 5, 117, 0, 0, + 2595, 2596, 5, 114, 0, 0, 2596, 2597, 5, 115, 0, 0, 2597, 2598, 5, 111, + 0, 0, 2598, 2599, 5, 114, 0, 0, 2599, 2600, 5, 84, 0, 0, 2600, 2601, 5, + 105, 0, 0, 2601, 2602, 5, 109, 0, 0, 2602, 2603, 5, 101, 0, 0, 2603, 2604, + 5, 111, 0, 0, 2604, 2605, 5, 117, 0, 0, 2605, 2606, 5, 116, 0, 0, 2606, + 368, 1, 0, 0, 0, 2607, 2608, 5, 111, 0, 0, 2608, 2609, 5, 98, 0, 0, 2609, + 2610, 5, 106, 0, 0, 2610, 2611, 5, 115, 0, 0, 2611, 2612, 5, 76, 0, 0, + 2612, 2613, 5, 101, 0, 0, 2613, 2614, 5, 102, 0, 0, 2614, 2615, 5, 116, + 0, 0, 2615, 2616, 5, 73, 0, 0, 2616, 2617, 5, 110, 0, 0, 2617, 2618, 5, + 66, 0, 0, 2618, 2619, 5, 97, 0, 0, 2619, 2620, 5, 116, 0, 0, 2620, 2621, + 5, 99, 0, 0, 2621, 2622, 5, 104, 0, 0, 2622, 370, 1, 0, 0, 0, 2623, 2624, + 5, 112, 0, 0, 2624, 2625, 5, 114, 0, 0, 2625, 2626, 5, 101, 0, 0, 2626, + 2627, 5, 116, 0, 0, 2627, 2628, 5, 116, 0, 0, 2628, 2629, 5, 121, 0, 0, + 2629, 372, 1, 0, 0, 0, 2630, 2631, 5, 114, 0, 0, 2631, 2632, 5, 101, 0, + 0, 2632, 2633, 5, 97, 0, 0, 2633, 2634, 5, 100, 0, 0, 2634, 2635, 5, 67, + 0, 0, 2635, 2636, 5, 111, 0, 0, 2636, 2637, 5, 110, 0, 0, 2637, 2638, 5, + 99, 0, 0, 2638, 2639, 5, 101, 0, 0, 2639, 2640, 5, 114, 0, 0, 2640, 2641, + 5, 110, 0, 0, 2641, 374, 1, 0, 0, 0, 2642, 2643, 5, 114, 0, 0, 2643, 2644, + 5, 101, 0, 0, 2644, 2645, 5, 97, 0, 0, 2645, 2646, 5, 100, 0, 0, 2646, + 2647, 5, 80, 0, 0, 2647, 2648, 5, 114, 0, 0, 2648, 2649, 5, 101, 0, 0, + 2649, 2650, 5, 102, 0, 0, 2650, 376, 1, 0, 0, 0, 2651, 2652, 5, 114, 0, + 0, 2652, 2653, 5, 101, 0, 0, 2653, 2654, 5, 116, 0, 0, 2654, 2655, 5, 117, + 0, 0, 2655, 2656, 5, 114, 0, 0, 2656, 2657, 5, 110, 0, 0, 2657, 2658, 5, + 75, 0, 0, 2658, 2659, 5, 101, 0, 0, 2659, 2660, 5, 121, 0, 0, 2660, 378, + 1, 0, 0, 0, 2661, 2662, 5, 115, 0, 0, 2662, 2663, 5, 104, 0, 0, 2663, 2664, + 5, 111, 0, 0, 2664, 2665, 5, 119, 0, 0, 2665, 2666, 5, 82, 0, 0, 2666, + 2667, 5, 101, 0, 0, 2667, 2668, 5, 99, 0, 0, 2668, 2669, 5, 111, 0, 0, + 2669, 2670, 5, 114, 0, 0, 2670, 2671, 5, 100, 0, 0, 2671, 2672, 5, 73, + 0, 0, 2672, 2673, 5, 100, 0, 0, 2673, 380, 1, 0, 0, 0, 2674, 2675, 5, 115, + 0, 0, 2675, 2676, 5, 105, 0, 0, 2676, 2677, 5, 122, 0, 0, 2677, 2678, 5, + 101, 0, 0, 2678, 382, 1, 0, 0, 0, 2679, 2680, 5, 116, 0, 0, 2680, 2681, + 5, 97, 0, 0, 2681, 2682, 5, 105, 0, 0, 2682, 2683, 5, 108, 0, 0, 2683, + 2684, 5, 97, 0, 0, 2684, 2685, 5, 98, 0, 0, 2685, 2686, 5, 108, 0, 0, 2686, + 2687, 5, 101, 0, 0, 2687, 384, 1, 0, 0, 0, 2688, 2689, 5, 116, 0, 0, 2689, + 2690, 5, 111, 0, 0, 2690, 2691, 5, 65, 0, 0, 2691, 2692, 5, 114, 0, 0, + 2692, 2693, 5, 114, 0, 0, 2693, 2694, 5, 97, 0, 0, 2694, 2695, 5, 121, + 0, 0, 2695, 386, 1, 0, 0, 0, 2696, 2697, 5, 116, 0, 0, 2697, 2698, 5, 114, + 0, 0, 2698, 2699, 5, 121, 0, 0, 2699, 2700, 5, 78, 0, 0, 2700, 2701, 5, + 101, 0, 0, 2701, 2702, 5, 120, 0, 0, 2702, 2703, 5, 116, 0, 0, 2703, 388, + 1, 0, 0, 0, 2704, 2705, 5, 97, 0, 0, 2705, 2706, 5, 108, 0, 0, 2706, 2707, + 5, 108, 0, 0, 2707, 2708, 5, 111, 0, 0, 2708, 2709, 5, 119, 0, 0, 2709, + 2710, 5, 68, 0, 0, 2710, 2711, 5, 105, 0, 0, 2711, 2712, 5, 115, 0, 0, + 2712, 2713, 5, 107, 0, 0, 2713, 2714, 5, 85, 0, 0, 2714, 2715, 5, 115, + 0, 0, 2715, 2716, 5, 101, 0, 0, 2716, 390, 1, 0, 0, 0, 2717, 2718, 5, 97, + 0, 0, 2718, 2719, 5, 100, 0, 0, 2719, 2720, 5, 100, 0, 0, 2720, 2721, 5, + 79, 0, 0, 2721, 2722, 5, 112, 0, 0, 2722, 2723, 5, 116, 0, 0, 2723, 2724, + 5, 105, 0, 0, 2724, 2725, 5, 111, 0, 0, 2725, 2726, 5, 110, 0, 0, 2726, + 392, 1, 0, 0, 0, 2727, 2728, 5, 40, 0, 0, 2728, 394, 1, 0, 0, 0, 2729, + 2730, 5, 41, 0, 0, 2730, 396, 1, 0, 0, 0, 2731, 2732, 5, 123, 0, 0, 2732, + 398, 1, 0, 0, 0, 2733, 2734, 5, 125, 0, 0, 2734, 400, 1, 0, 0, 0, 2735, + 2736, 5, 91, 0, 0, 2736, 402, 1, 0, 0, 0, 2737, 2738, 5, 93, 0, 0, 2738, + 404, 1, 0, 0, 0, 2739, 2740, 5, 58, 0, 0, 2740, 406, 1, 0, 0, 0, 2741, + 2742, 5, 44, 0, 0, 2742, 408, 1, 0, 0, 0, 2743, 2744, 5, 46, 0, 0, 2744, + 410, 1, 0, 0, 0, 2745, 2746, 5, 59, 0, 0, 2746, 412, 1, 0, 0, 0, 2747, + 2748, 5, 36, 0, 0, 2748, 414, 1, 0, 0, 0, 2749, 2750, 5, 47, 0, 0, 2750, + 2751, 5, 47, 0, 0, 2751, 2755, 1, 0, 0, 0, 2752, 2754, 8, 0, 0, 0, 2753, + 2752, 1, 0, 0, 0, 2754, 2757, 1, 0, 0, 0, 2755, 2753, 1, 0, 0, 0, 2755, + 2756, 1, 0, 0, 0, 2756, 2758, 1, 0, 0, 0, 2757, 2755, 1, 0, 0, 0, 2758, + 2759, 6, 207, 0, 0, 2759, 416, 1, 0, 0, 0, 2760, 2761, 5, 47, 0, 0, 2761, + 2762, 5, 42, 0, 0, 2762, 2766, 1, 0, 0, 0, 2763, 2765, 9, 0, 0, 0, 2764, + 2763, 1, 0, 0, 0, 2765, 2768, 1, 0, 0, 0, 2766, 2767, 1, 0, 0, 0, 2766, + 2764, 1, 0, 0, 0, 2767, 2769, 1, 0, 0, 0, 2768, 2766, 1, 0, 0, 0, 2769, + 2770, 5, 42, 0, 0, 2770, 2771, 5, 47, 0, 0, 2771, 2772, 1, 0, 0, 0, 2772, + 2773, 6, 208, 0, 0, 2773, 418, 1, 0, 0, 0, 2774, 2775, 5, 47, 0, 0, 2775, + 2776, 3, 421, 210, 0, 2776, 2778, 5, 47, 0, 0, 2777, 2779, 3, 425, 212, + 0, 2778, 2777, 1, 0, 0, 0, 2778, 2779, 1, 0, 0, 0, 2779, 420, 1, 0, 0, + 0, 2780, 2782, 3, 423, 211, 0, 2781, 2780, 1, 0, 0, 0, 2782, 2783, 1, 0, + 0, 0, 2783, 2781, 1, 0, 0, 0, 2783, 2784, 1, 0, 0, 0, 2784, 422, 1, 0, + 0, 0, 2785, 2789, 8, 1, 0, 0, 2786, 2787, 5, 92, 0, 0, 2787, 2789, 9, 0, + 0, 0, 2788, 2785, 1, 0, 0, 0, 2788, 2786, 1, 0, 0, 0, 2789, 424, 1, 0, + 0, 0, 2790, 2792, 7, 2, 0, 0, 2791, 2790, 1, 0, 0, 0, 2792, 2793, 1, 0, + 0, 0, 2793, 2791, 1, 0, 0, 0, 2793, 2794, 1, 0, 0, 0, 2794, 426, 1, 0, + 0, 0, 2795, 2797, 5, 45, 0, 0, 2796, 2795, 1, 0, 0, 0, 2796, 2797, 1, 0, + 0, 0, 2797, 2798, 1, 0, 0, 0, 2798, 2805, 3, 429, 214, 0, 2799, 2801, 5, + 46, 0, 0, 2800, 2802, 7, 3, 0, 0, 2801, 2800, 1, 0, 0, 0, 2802, 2803, 1, + 0, 0, 0, 2803, 2801, 1, 0, 0, 0, 2803, 2804, 1, 0, 0, 0, 2804, 2806, 1, + 0, 0, 0, 2805, 2799, 1, 0, 0, 0, 2805, 2806, 1, 0, 0, 0, 2806, 2808, 1, + 0, 0, 0, 2807, 2809, 3, 431, 215, 0, 2808, 2807, 1, 0, 0, 0, 2808, 2809, + 1, 0, 0, 0, 2809, 2823, 1, 0, 0, 0, 2810, 2812, 5, 45, 0, 0, 2811, 2810, + 1, 0, 0, 0, 2811, 2812, 1, 0, 0, 0, 2812, 2813, 1, 0, 0, 0, 2813, 2815, + 5, 46, 0, 0, 2814, 2816, 7, 3, 0, 0, 2815, 2814, 1, 0, 0, 0, 2816, 2817, + 1, 0, 0, 0, 2817, 2815, 1, 0, 0, 0, 2817, 2818, 1, 0, 0, 0, 2818, 2820, + 1, 0, 0, 0, 2819, 2821, 3, 431, 215, 0, 2820, 2819, 1, 0, 0, 0, 2820, 2821, + 1, 0, 0, 0, 2821, 2823, 1, 0, 0, 0, 2822, 2796, 1, 0, 0, 0, 2822, 2811, + 1, 0, 0, 0, 2823, 428, 1, 0, 0, 0, 2824, 2833, 5, 48, 0, 0, 2825, 2829, + 7, 4, 0, 0, 2826, 2828, 7, 3, 0, 0, 2827, 2826, 1, 0, 0, 0, 2828, 2831, + 1, 0, 0, 0, 2829, 2827, 1, 0, 0, 0, 2829, 2830, 1, 0, 0, 0, 2830, 2833, + 1, 0, 0, 0, 2831, 2829, 1, 0, 0, 0, 2832, 2824, 1, 0, 0, 0, 2832, 2825, + 1, 0, 0, 0, 2833, 430, 1, 0, 0, 0, 2834, 2836, 7, 5, 0, 0, 2835, 2837, + 7, 6, 0, 0, 2836, 2835, 1, 0, 0, 0, 2836, 2837, 1, 0, 0, 0, 2837, 2839, + 1, 0, 0, 0, 2838, 2840, 7, 3, 0, 0, 2839, 2838, 1, 0, 0, 0, 2840, 2841, + 1, 0, 0, 0, 2841, 2839, 1, 0, 0, 0, 2841, 2842, 1, 0, 0, 0, 2842, 432, + 1, 0, 0, 0, 2843, 2848, 5, 34, 0, 0, 2844, 2847, 3, 437, 218, 0, 2845, + 2847, 8, 7, 0, 0, 2846, 2844, 1, 0, 0, 0, 2846, 2845, 1, 0, 0, 0, 2847, + 2850, 1, 0, 0, 0, 2848, 2846, 1, 0, 0, 0, 2848, 2849, 1, 0, 0, 0, 2849, + 2851, 1, 0, 0, 0, 2850, 2848, 1, 0, 0, 0, 2851, 2852, 5, 34, 0, 0, 2852, + 434, 1, 0, 0, 0, 2853, 2858, 5, 39, 0, 0, 2854, 2857, 3, 437, 218, 0, 2855, + 2857, 8, 8, 0, 0, 2856, 2854, 1, 0, 0, 0, 2856, 2855, 1, 0, 0, 0, 2857, + 2860, 1, 0, 0, 0, 2858, 2856, 1, 0, 0, 0, 2858, 2859, 1, 0, 0, 0, 2859, + 2861, 1, 0, 0, 0, 2860, 2858, 1, 0, 0, 0, 2861, 2862, 5, 39, 0, 0, 2862, + 436, 1, 0, 0, 0, 2863, 2867, 5, 92, 0, 0, 2864, 2868, 7, 9, 0, 0, 2865, + 2868, 3, 439, 219, 0, 2866, 2868, 5, 39, 0, 0, 2867, 2864, 1, 0, 0, 0, + 2867, 2865, 1, 0, 0, 0, 2867, 2866, 1, 0, 0, 0, 2868, 438, 1, 0, 0, 0, + 2869, 2870, 5, 117, 0, 0, 2870, 2871, 3, 441, 220, 0, 2871, 2872, 3, 441, + 220, 0, 2872, 2873, 3, 441, 220, 0, 2873, 2874, 3, 441, 220, 0, 2874, 440, + 1, 0, 0, 0, 2875, 2876, 7, 10, 0, 0, 2876, 442, 1, 0, 0, 0, 2877, 2881, + 7, 11, 0, 0, 2878, 2880, 7, 12, 0, 0, 2879, 2878, 1, 0, 0, 0, 2880, 2883, + 1, 0, 0, 0, 2881, 2879, 1, 0, 0, 0, 2881, 2882, 1, 0, 0, 0, 2882, 444, + 1, 0, 0, 0, 2883, 2881, 1, 0, 0, 0, 2884, 2886, 7, 13, 0, 0, 2885, 2884, + 1, 0, 0, 0, 2886, 2887, 1, 0, 0, 0, 2887, 2885, 1, 0, 0, 0, 2887, 2888, + 1, 0, 0, 0, 2888, 2889, 1, 0, 0, 0, 2889, 2890, 6, 222, 0, 0, 2890, 446, + 1, 0, 0, 0, 26, 0, 2755, 2766, 2778, 2783, 2788, 2793, 2796, 2803, 2805, + 2808, 2811, 2817, 2820, 2822, 2829, 2832, 2836, 2841, 2846, 2848, 2856, + 2858, 2867, 2881, 2887, 1, 0, 1, 0, } deserializer := antlr.NewATNDeserializer(nil) staticData.atn = deserializer.Deserialize(staticData.serializedATN) @@ -1021,158 +1542,219 @@ func NewMongoShellLexer(input antlr.CharStream) *MongoShellLexer { // MongoShellLexer tokens. const ( - MongoShellLexerSHOW = 1 - MongoShellLexerDBS = 2 - MongoShellLexerDATABASES = 3 - MongoShellLexerCOLLECTIONS = 4 - MongoShellLexerDB = 5 - MongoShellLexerNEW = 6 - MongoShellLexerTRUE = 7 - MongoShellLexerFALSE = 8 - MongoShellLexerNULL = 9 - MongoShellLexerGET_COLLECTION = 10 - MongoShellLexerGET_COLLECTION_NAMES = 11 - MongoShellLexerGET_COLLECTION_INFOS = 12 - MongoShellLexerOBJECT_ID = 13 - MongoShellLexerISO_DATE = 14 - MongoShellLexerDATE = 15 - MongoShellLexerUUID = 16 - MongoShellLexerLONG = 17 - MongoShellLexerNUMBER_LONG = 18 - MongoShellLexerINT32 = 19 - MongoShellLexerNUMBER_INT = 20 - MongoShellLexerDOUBLE = 21 - MongoShellLexerDECIMAL128 = 22 - MongoShellLexerNUMBER_DECIMAL = 23 - MongoShellLexerTIMESTAMP = 24 - MongoShellLexerREG_EXP = 25 - MongoShellLexerBIN_DATA = 26 - MongoShellLexerBINARY = 27 - MongoShellLexerBSON_REG_EXP = 28 - MongoShellLexerHEX_DATA = 29 - MongoShellLexerFIND = 30 - MongoShellLexerFIND_ONE = 31 - MongoShellLexerCOUNT_DOCUMENTS = 32 - MongoShellLexerESTIMATED_DOCUMENT_COUNT = 33 - MongoShellLexerDISTINCT = 34 - MongoShellLexerAGGREGATE = 35 - MongoShellLexerGET_INDEXES = 36 - MongoShellLexerINSERT_ONE = 37 - MongoShellLexerINSERT_MANY = 38 - MongoShellLexerUPDATE_ONE = 39 - MongoShellLexerUPDATE_MANY = 40 - MongoShellLexerDELETE_ONE = 41 - MongoShellLexerDELETE_MANY = 42 - MongoShellLexerREPLACE_ONE = 43 - MongoShellLexerFIND_ONE_AND_UPDATE = 44 - MongoShellLexerFIND_ONE_AND_REPLACE = 45 - MongoShellLexerFIND_ONE_AND_DELETE = 46 - MongoShellLexerCREATE_INDEX = 47 - MongoShellLexerCREATE_INDEXES = 48 - MongoShellLexerDROP_INDEX = 49 - MongoShellLexerDROP_INDEXES = 50 - MongoShellLexerDROP = 51 - MongoShellLexerRENAME_COLLECTION = 52 - MongoShellLexerSTATS = 53 - MongoShellLexerSTORAGE_SIZE = 54 - MongoShellLexerTOTAL_INDEX_SIZE = 55 - MongoShellLexerTOTAL_SIZE = 56 - MongoShellLexerDATA_SIZE = 57 - MongoShellLexerIS_CAPPED = 58 - MongoShellLexerVALIDATE = 59 - MongoShellLexerLATENCY_STATS = 60 - MongoShellLexerCREATE_COLLECTION = 61 - MongoShellLexerDROP_DATABASE = 62 - MongoShellLexerHOST_INFO = 63 - MongoShellLexerLIST_COMMANDS = 64 - MongoShellLexerSERVER_BUILD_INFO = 65 - MongoShellLexerSERVER_STATUS = 66 - MongoShellLexerVERSION = 67 - MongoShellLexerRUN_COMMAND = 68 - MongoShellLexerADMIN_COMMAND = 69 - MongoShellLexerGET_NAME = 70 - MongoShellLexerGET_MONGO = 71 - MongoShellLexerGET_SIBLING_DB = 72 - MongoShellLexerMONGO = 73 - MongoShellLexerCONNECT = 74 - MongoShellLexerRS = 75 - MongoShellLexerSH = 76 - MongoShellLexerSP = 77 - MongoShellLexerGET_DB = 78 - MongoShellLexerGET_READ_CONCERN = 79 - MongoShellLexerGET_READ_PREF = 80 - MongoShellLexerGET_READ_PREF_MODE = 81 - MongoShellLexerGET_READ_PREF_TAG_SET = 82 - MongoShellLexerGET_WRITE_CONCERN = 83 - MongoShellLexerSET_READ_PREF = 84 - MongoShellLexerSET_READ_CONCERN = 85 - MongoShellLexerSET_WRITE_CONCERN = 86 - MongoShellLexerSTART_SESSION = 87 - MongoShellLexerWATCH = 88 - MongoShellLexerGET_DB_NAMES = 89 - MongoShellLexerGET_KEY_VAULT = 90 - MongoShellLexerGET_CLIENT_ENCRYPTION = 91 - MongoShellLexerGET_PLAN_CACHE = 92 - MongoShellLexerSORT = 93 - MongoShellLexerLIMIT = 94 - MongoShellLexerSKIP_ = 95 - MongoShellLexerPROJECTION = 96 - MongoShellLexerPROJECT = 97 - MongoShellLexerCOUNT = 98 - MongoShellLexerINITIALIZE_ORDERED_BULK_OP = 99 - MongoShellLexerINITIALIZE_UNORDERED_BULK_OP = 100 - MongoShellLexerEXECUTE = 101 - MongoShellLexerGET_OPERATIONS = 102 - MongoShellLexerTO_STRING = 103 - MongoShellLexerINSERT = 104 - MongoShellLexerREMOVE = 105 - MongoShellLexerBATCH_SIZE = 106 - MongoShellLexerCLOSE = 107 - MongoShellLexerCOLLATION = 108 - MongoShellLexerCOMMENT = 109 - MongoShellLexerEXPLAIN = 110 - MongoShellLexerFOR_EACH = 111 - MongoShellLexerHAS_NEXT = 112 - MongoShellLexerHINT = 113 - MongoShellLexerIS_CLOSED = 114 - MongoShellLexerIS_EXHAUSTED = 115 - MongoShellLexerIT_COUNT = 116 - MongoShellLexerMAP = 117 - MongoShellLexerMAX = 118 - MongoShellLexerMAX_AWAIT_TIME_MS = 119 - MongoShellLexerMAX_TIME_MS = 120 - MongoShellLexerMIN = 121 - MongoShellLexerNEXT = 122 - MongoShellLexerNO_CURSOR_TIMEOUT = 123 - MongoShellLexerOBJS_LEFT_IN_BATCH = 124 - MongoShellLexerPRETTY = 125 - MongoShellLexerREAD_CONCERN = 126 - MongoShellLexerREAD_PREF = 127 - MongoShellLexerRETURN_KEY = 128 - MongoShellLexerSHOW_RECORD_ID = 129 - MongoShellLexerSIZE = 130 - MongoShellLexerTAILABLE = 131 - MongoShellLexerTO_ARRAY = 132 - MongoShellLexerTRY_NEXT = 133 - MongoShellLexerALLOW_DISK_USE = 134 - MongoShellLexerADD_OPTION = 135 - MongoShellLexerLPAREN = 136 - MongoShellLexerRPAREN = 137 - MongoShellLexerLBRACE = 138 - MongoShellLexerRBRACE = 139 - MongoShellLexerLBRACKET = 140 - MongoShellLexerRBRACKET = 141 - MongoShellLexerCOLON = 142 - MongoShellLexerCOMMA = 143 - MongoShellLexerDOT = 144 - MongoShellLexerSEMI = 145 - MongoShellLexerDOLLAR = 146 - MongoShellLexerLINE_COMMENT = 147 - MongoShellLexerBLOCK_COMMENT = 148 - MongoShellLexerREGEX_LITERAL = 149 - MongoShellLexerNUMBER = 150 - MongoShellLexerDOUBLE_QUOTED_STRING = 151 - MongoShellLexerSINGLE_QUOTED_STRING = 152 - MongoShellLexerIDENTIFIER = 153 - MongoShellLexerWS = 154 + MongoShellLexerSHOW = 1 + MongoShellLexerDBS = 2 + MongoShellLexerDATABASES = 3 + MongoShellLexerCOLLECTIONS = 4 + MongoShellLexerDB = 5 + MongoShellLexerNEW = 6 + MongoShellLexerTRUE = 7 + MongoShellLexerFALSE = 8 + MongoShellLexerNULL = 9 + MongoShellLexerGET_COLLECTION = 10 + MongoShellLexerGET_COLLECTION_NAMES = 11 + MongoShellLexerGET_COLLECTION_INFOS = 12 + MongoShellLexerOBJECT_ID = 13 + MongoShellLexerISO_DATE = 14 + MongoShellLexerDATE = 15 + MongoShellLexerUUID = 16 + MongoShellLexerLONG = 17 + MongoShellLexerNUMBER_LONG = 18 + MongoShellLexerINT32 = 19 + MongoShellLexerNUMBER_INT = 20 + MongoShellLexerDOUBLE = 21 + MongoShellLexerDECIMAL128 = 22 + MongoShellLexerNUMBER_DECIMAL = 23 + MongoShellLexerTIMESTAMP = 24 + MongoShellLexerREG_EXP = 25 + MongoShellLexerBIN_DATA = 26 + MongoShellLexerBINARY = 27 + MongoShellLexerBSON_REG_EXP = 28 + MongoShellLexerHEX_DATA = 29 + MongoShellLexerFIND = 30 + MongoShellLexerFIND_ONE = 31 + MongoShellLexerCOUNT_DOCUMENTS = 32 + MongoShellLexerESTIMATED_DOCUMENT_COUNT = 33 + MongoShellLexerDISTINCT = 34 + MongoShellLexerAGGREGATE = 35 + MongoShellLexerGET_INDEXES = 36 + MongoShellLexerINSERT_ONE = 37 + MongoShellLexerINSERT_MANY = 38 + MongoShellLexerUPDATE_ONE = 39 + MongoShellLexerUPDATE_MANY = 40 + MongoShellLexerDELETE_ONE = 41 + MongoShellLexerDELETE_MANY = 42 + MongoShellLexerREPLACE_ONE = 43 + MongoShellLexerFIND_ONE_AND_UPDATE = 44 + MongoShellLexerFIND_ONE_AND_REPLACE = 45 + MongoShellLexerFIND_ONE_AND_DELETE = 46 + MongoShellLexerCREATE_INDEX = 47 + MongoShellLexerCREATE_INDEXES = 48 + MongoShellLexerDROP_INDEX = 49 + MongoShellLexerDROP_INDEXES = 50 + MongoShellLexerDROP = 51 + MongoShellLexerRENAME_COLLECTION = 52 + MongoShellLexerSTATS = 53 + MongoShellLexerSTORAGE_SIZE = 54 + MongoShellLexerTOTAL_INDEX_SIZE = 55 + MongoShellLexerTOTAL_SIZE = 56 + MongoShellLexerDATA_SIZE = 57 + MongoShellLexerIS_CAPPED = 58 + MongoShellLexerVALIDATE = 59 + MongoShellLexerLATENCY_STATS = 60 + MongoShellLexerBULK_WRITE = 61 + MongoShellLexerUPDATE = 62 + MongoShellLexerMAP_REDUCE = 63 + MongoShellLexerFIND_AND_MODIFY = 64 + MongoShellLexerANALYZE_SHARD_KEY = 65 + MongoShellLexerCONFIGURE_QUERY_ANALYZER = 66 + MongoShellLexerCOMPACT_STRUCTURED_ENCRYPTION_DATA = 67 + MongoShellLexerHIDE_INDEX = 68 + MongoShellLexerUNHIDE_INDEX = 69 + MongoShellLexerRE_INDEX = 70 + MongoShellLexerGET_SHARD_DISTRIBUTION = 71 + MongoShellLexerGET_SHARD_VERSION = 72 + MongoShellLexerCREATE_SEARCH_INDEX = 73 + MongoShellLexerCREATE_SEARCH_INDEXES = 74 + MongoShellLexerDROP_SEARCH_INDEX = 75 + MongoShellLexerUPDATE_SEARCH_INDEX = 76 + MongoShellLexerCREATE_COLLECTION = 77 + MongoShellLexerDROP_DATABASE = 78 + MongoShellLexerHOST_INFO = 79 + MongoShellLexerLIST_COMMANDS = 80 + MongoShellLexerSERVER_BUILD_INFO = 81 + MongoShellLexerSERVER_STATUS = 82 + MongoShellLexerVERSION = 83 + MongoShellLexerRUN_COMMAND = 84 + MongoShellLexerADMIN_COMMAND = 85 + MongoShellLexerGET_NAME = 86 + MongoShellLexerGET_MONGO = 87 + MongoShellLexerGET_SIBLING_DB = 88 + MongoShellLexerAUTH = 89 + MongoShellLexerCHANGE_USER_PASSWORD = 90 + MongoShellLexerCLONE_DATABASE = 91 + MongoShellLexerCOMMAND_HELP = 92 + MongoShellLexerCOPY_DATABASE = 93 + MongoShellLexerCREATE_ROLE = 94 + MongoShellLexerCREATE_USER = 95 + MongoShellLexerCREATE_VIEW = 96 + MongoShellLexerCURRENT_OP = 97 + MongoShellLexerDROP_ALL_ROLES = 98 + MongoShellLexerDROP_ALL_USERS = 99 + MongoShellLexerDROP_ROLE = 100 + MongoShellLexerDROP_USER = 101 + MongoShellLexerFSYNC_LOCK = 102 + MongoShellLexerFSYNC_UNLOCK = 103 + MongoShellLexerGET_LOG_COMPONENTS = 104 + MongoShellLexerGET_PROFILING_LEVEL = 105 + MongoShellLexerGET_PROFILING_STATUS = 106 + MongoShellLexerGET_REPLICATION_INFO = 107 + MongoShellLexerGET_ROLE = 108 + MongoShellLexerGET_ROLES = 109 + MongoShellLexerGET_USER = 110 + MongoShellLexerGET_USERS = 111 + MongoShellLexerGRANT_PRIVILEGES_TO_ROLE = 112 + MongoShellLexerGRANT_ROLES_TO_ROLE = 113 + MongoShellLexerGRANT_ROLES_TO_USER = 114 + MongoShellLexerHELLO = 115 + MongoShellLexerIS_MASTER = 116 + MongoShellLexerKILL_OP = 117 + MongoShellLexerLOGOUT = 118 + MongoShellLexerPRINT_COLLECTION_STATS = 119 + MongoShellLexerPRINT_REPLICATION_INFO = 120 + MongoShellLexerPRINT_SECONDARY_REPLICATION_INFO = 121 + MongoShellLexerPRINT_SHARDING_STATUS = 122 + MongoShellLexerPRINT_SLAVE_REPLICATION_INFO = 123 + MongoShellLexerREVOKE_PRIVILEGES_FROM_ROLE = 124 + MongoShellLexerREVOKE_ROLES_FROM_ROLE = 125 + MongoShellLexerREVOKE_ROLES_FROM_USER = 126 + MongoShellLexerROTATE_CERTIFICATES = 127 + MongoShellLexerSET_LOG_LEVEL = 128 + MongoShellLexerSET_PROFILING_LEVEL = 129 + MongoShellLexerSET_SECONDARY_OK = 130 + MongoShellLexerSHUTDOWN_SERVER = 131 + MongoShellLexerUPDATE_ROLE = 132 + MongoShellLexerUPDATE_USER = 133 + MongoShellLexerMONGO = 134 + MongoShellLexerCONNECT = 135 + MongoShellLexerRS = 136 + MongoShellLexerSH = 137 + MongoShellLexerSP = 138 + MongoShellLexerGET_DB = 139 + MongoShellLexerGET_READ_CONCERN = 140 + MongoShellLexerGET_READ_PREF = 141 + MongoShellLexerGET_READ_PREF_MODE = 142 + MongoShellLexerGET_READ_PREF_TAG_SET = 143 + MongoShellLexerGET_WRITE_CONCERN = 144 + MongoShellLexerSET_READ_PREF = 145 + MongoShellLexerSET_READ_CONCERN = 146 + MongoShellLexerSET_WRITE_CONCERN = 147 + MongoShellLexerSTART_SESSION = 148 + MongoShellLexerWATCH = 149 + MongoShellLexerGET_DB_NAMES = 150 + MongoShellLexerGET_KEY_VAULT = 151 + MongoShellLexerGET_CLIENT_ENCRYPTION = 152 + MongoShellLexerGET_PLAN_CACHE = 153 + MongoShellLexerSORT = 154 + MongoShellLexerLIMIT = 155 + MongoShellLexerSKIP_ = 156 + MongoShellLexerPROJECTION = 157 + MongoShellLexerPROJECT = 158 + MongoShellLexerCOUNT = 159 + MongoShellLexerINITIALIZE_ORDERED_BULK_OP = 160 + MongoShellLexerINITIALIZE_UNORDERED_BULK_OP = 161 + MongoShellLexerEXECUTE = 162 + MongoShellLexerGET_OPERATIONS = 163 + MongoShellLexerTO_STRING = 164 + MongoShellLexerINSERT = 165 + MongoShellLexerREMOVE = 166 + MongoShellLexerBATCH_SIZE = 167 + MongoShellLexerCLOSE = 168 + MongoShellLexerCOLLATION = 169 + MongoShellLexerCOMMENT = 170 + MongoShellLexerEXPLAIN = 171 + MongoShellLexerFOR_EACH = 172 + MongoShellLexerHAS_NEXT = 173 + MongoShellLexerHINT = 174 + MongoShellLexerIS_CLOSED = 175 + MongoShellLexerIS_EXHAUSTED = 176 + MongoShellLexerIT_COUNT = 177 + MongoShellLexerMAP = 178 + MongoShellLexerMAX = 179 + MongoShellLexerMAX_AWAIT_TIME_MS = 180 + MongoShellLexerMAX_TIME_MS = 181 + MongoShellLexerMIN = 182 + MongoShellLexerNEXT = 183 + MongoShellLexerNO_CURSOR_TIMEOUT = 184 + MongoShellLexerOBJS_LEFT_IN_BATCH = 185 + MongoShellLexerPRETTY = 186 + MongoShellLexerREAD_CONCERN = 187 + MongoShellLexerREAD_PREF = 188 + MongoShellLexerRETURN_KEY = 189 + MongoShellLexerSHOW_RECORD_ID = 190 + MongoShellLexerSIZE = 191 + MongoShellLexerTAILABLE = 192 + MongoShellLexerTO_ARRAY = 193 + MongoShellLexerTRY_NEXT = 194 + MongoShellLexerALLOW_DISK_USE = 195 + MongoShellLexerADD_OPTION = 196 + MongoShellLexerLPAREN = 197 + MongoShellLexerRPAREN = 198 + MongoShellLexerLBRACE = 199 + MongoShellLexerRBRACE = 200 + MongoShellLexerLBRACKET = 201 + MongoShellLexerRBRACKET = 202 + MongoShellLexerCOLON = 203 + MongoShellLexerCOMMA = 204 + MongoShellLexerDOT = 205 + MongoShellLexerSEMI = 206 + MongoShellLexerDOLLAR = 207 + MongoShellLexerLINE_COMMENT = 208 + MongoShellLexerBLOCK_COMMENT = 209 + MongoShellLexerREGEX_LITERAL = 210 + MongoShellLexerNUMBER = 211 + MongoShellLexerDOUBLE_QUOTED_STRING = 212 + MongoShellLexerSINGLE_QUOTED_STRING = 213 + MongoShellLexerIDENTIFIER = 214 + MongoShellLexerWS = 215 ) diff --git a/mongodb/mongoshell_parser.go b/mongodb/mongoshell_parser.go index bd4b021..e1f918f 100644 --- a/mongodb/mongoshell_parser.go +++ b/mongodb/mongoshell_parser.go @@ -44,23 +44,38 @@ func mongoshellparserParserInit() { "'findOneAndDelete'", "'createIndex'", "'createIndexes'", "'dropIndex'", "'dropIndexes'", "'drop'", "'renameCollection'", "'stats'", "'storageSize'", "'totalIndexSize'", "'totalSize'", "'dataSize'", "'isCapped'", "'validate'", - "'latencyStats'", "'createCollection'", "'dropDatabase'", "'hostInfo'", - "'listCommands'", "'serverBuildInfo'", "'serverStatus'", "'version'", - "'runCommand'", "'adminCommand'", "'getName'", "'getMongo'", "'getSiblingDB'", - "'Mongo'", "'connect'", "'rs'", "'sh'", "'sp'", "'getDB'", "'getReadConcern'", - "'getReadPref'", "'getReadPrefMode'", "'getReadPrefTagSet'", "'getWriteConcern'", - "'setReadPref'", "'setReadConcern'", "'setWriteConcern'", "'startSession'", - "'watch'", "'getDBNames'", "'getKeyVault'", "'getClientEncryption'", - "'getPlanCache'", "'sort'", "'limit'", "'skip'", "'projection'", "'project'", - "'count'", "'initializeOrderedBulkOp'", "'initializeUnorderedBulkOp'", - "'execute'", "'getOperations'", "'toString'", "'insert'", "'remove'", - "'batchSize'", "'close'", "'collation'", "'comment'", "'explain'", "'forEach'", - "'hasNext'", "'hint'", "'isClosed'", "'isExhausted'", "'itcount'", "'map'", - "'max'", "'maxAwaitTimeMS'", "'maxTimeMS'", "'min'", "'next'", "'noCursorTimeout'", - "'objsLeftInBatch'", "'pretty'", "'readConcern'", "'readPref'", "'returnKey'", - "'showRecordId'", "'size'", "'tailable'", "'toArray'", "'tryNext'", - "'allowDiskUse'", "'addOption'", "'('", "')'", "'{'", "'}'", "'['", - "']'", "':'", "','", "'.'", "';'", "'$'", + "'latencyStats'", "'bulkWrite'", "'update'", "'mapReduce'", "'findAndModify'", + "'analyzeShardKey'", "'configureQueryAnalyzer'", "'compactStructuredEncryptionData'", + "'hideIndex'", "'unhideIndex'", "'reIndex'", "'getShardDistribution'", + "'getShardVersion'", "'createSearchIndex'", "'createSearchIndexes'", + "'dropSearchIndex'", "'updateSearchIndex'", "'createCollection'", "'dropDatabase'", + "'hostInfo'", "'listCommands'", "'serverBuildInfo'", "'serverStatus'", + "'version'", "'runCommand'", "'adminCommand'", "'getName'", "'getMongo'", + "'getSiblingDB'", "'auth'", "'changeUserPassword'", "'cloneDatabase'", + "'commandHelp'", "'copyDatabase'", "'createRole'", "'createUser'", "'createView'", + "'currentOp'", "'dropAllRoles'", "'dropAllUsers'", "'dropRole'", "'dropUser'", + "'fsyncLock'", "'fsyncUnlock'", "'getLogComponents'", "'getProfilingLevel'", + "'getProfilingStatus'", "'getReplicationInfo'", "'getRole'", "'getRoles'", + "'getUser'", "'getUsers'", "'grantPrivilegesToRole'", "'grantRolesToRole'", + "'grantRolesToUser'", "'hello'", "'isMaster'", "'killOp'", "'logout'", + "'printCollectionStats'", "'printReplicationInfo'", "'printSecondaryReplicationInfo'", + "'printShardingStatus'", "'printSlaveReplicationInfo'", "'revokePrivilegesFromRole'", + "'revokeRolesFromRole'", "'revokeRolesFromUser'", "'rotateCertificates'", + "'setLogLevel'", "'setProfilingLevel'", "'setSecondaryOk'", "'shutdownServer'", + "'updateRole'", "'updateUser'", "'Mongo'", "'connect'", "'rs'", "'sh'", + "'sp'", "'getDB'", "'getReadConcern'", "'getReadPref'", "'getReadPrefMode'", + "'getReadPrefTagSet'", "'getWriteConcern'", "'setReadPref'", "'setReadConcern'", + "'setWriteConcern'", "'startSession'", "'watch'", "'getDBNames'", "'getKeyVault'", + "'getClientEncryption'", "'getPlanCache'", "'sort'", "'limit'", "'skip'", + "'projection'", "'project'", "'count'", "'initializeOrderedBulkOp'", + "'initializeUnorderedBulkOp'", "'execute'", "'getOperations'", "'toString'", + "'insert'", "'remove'", "'batchSize'", "'close'", "'collation'", "'comment'", + "'explain'", "'forEach'", "'hasNext'", "'hint'", "'isClosed'", "'isExhausted'", + "'itcount'", "'map'", "'max'", "'maxAwaitTimeMS'", "'maxTimeMS'", "'min'", + "'next'", "'noCursorTimeout'", "'objsLeftInBatch'", "'pretty'", "'readConcern'", + "'readPref'", "'returnKey'", "'showRecordId'", "'size'", "'tailable'", + "'toArray'", "'tryNext'", "'allowDiskUse'", "'addOption'", "'('", "')'", + "'{'", "'}'", "'['", "']'", "':'", "','", "'.'", "';'", "'$'", } staticData.SymbolicNames = []string{ "", "SHOW", "DBS", "DATABASES", "COLLECTIONS", "DB", "NEW", "TRUE", @@ -74,11 +89,26 @@ func mongoshellparserParserInit() { "FIND_ONE_AND_REPLACE", "FIND_ONE_AND_DELETE", "CREATE_INDEX", "CREATE_INDEXES", "DROP_INDEX", "DROP_INDEXES", "DROP", "RENAME_COLLECTION", "STATS", "STORAGE_SIZE", "TOTAL_INDEX_SIZE", "TOTAL_SIZE", "DATA_SIZE", "IS_CAPPED", - "VALIDATE", "LATENCY_STATS", "CREATE_COLLECTION", "DROP_DATABASE", "HOST_INFO", - "LIST_COMMANDS", "SERVER_BUILD_INFO", "SERVER_STATUS", "VERSION", "RUN_COMMAND", - "ADMIN_COMMAND", "GET_NAME", "GET_MONGO", "GET_SIBLING_DB", "MONGO", - "CONNECT", "RS", "SH", "SP", "GET_DB", "GET_READ_CONCERN", "GET_READ_PREF", - "GET_READ_PREF_MODE", "GET_READ_PREF_TAG_SET", "GET_WRITE_CONCERN", + "VALIDATE", "LATENCY_STATS", "BULK_WRITE", "UPDATE", "MAP_REDUCE", "FIND_AND_MODIFY", + "ANALYZE_SHARD_KEY", "CONFIGURE_QUERY_ANALYZER", "COMPACT_STRUCTURED_ENCRYPTION_DATA", + "HIDE_INDEX", "UNHIDE_INDEX", "RE_INDEX", "GET_SHARD_DISTRIBUTION", + "GET_SHARD_VERSION", "CREATE_SEARCH_INDEX", "CREATE_SEARCH_INDEXES", + "DROP_SEARCH_INDEX", "UPDATE_SEARCH_INDEX", "CREATE_COLLECTION", "DROP_DATABASE", + "HOST_INFO", "LIST_COMMANDS", "SERVER_BUILD_INFO", "SERVER_STATUS", + "VERSION", "RUN_COMMAND", "ADMIN_COMMAND", "GET_NAME", "GET_MONGO", + "GET_SIBLING_DB", "AUTH", "CHANGE_USER_PASSWORD", "CLONE_DATABASE", + "COMMAND_HELP", "COPY_DATABASE", "CREATE_ROLE", "CREATE_USER", "CREATE_VIEW", + "CURRENT_OP", "DROP_ALL_ROLES", "DROP_ALL_USERS", "DROP_ROLE", "DROP_USER", + "FSYNC_LOCK", "FSYNC_UNLOCK", "GET_LOG_COMPONENTS", "GET_PROFILING_LEVEL", + "GET_PROFILING_STATUS", "GET_REPLICATION_INFO", "GET_ROLE", "GET_ROLES", + "GET_USER", "GET_USERS", "GRANT_PRIVILEGES_TO_ROLE", "GRANT_ROLES_TO_ROLE", + "GRANT_ROLES_TO_USER", "HELLO", "IS_MASTER", "KILL_OP", "LOGOUT", "PRINT_COLLECTION_STATS", + "PRINT_REPLICATION_INFO", "PRINT_SECONDARY_REPLICATION_INFO", "PRINT_SHARDING_STATUS", + "PRINT_SLAVE_REPLICATION_INFO", "REVOKE_PRIVILEGES_FROM_ROLE", "REVOKE_ROLES_FROM_ROLE", + "REVOKE_ROLES_FROM_USER", "ROTATE_CERTIFICATES", "SET_LOG_LEVEL", "SET_PROFILING_LEVEL", + "SET_SECONDARY_OK", "SHUTDOWN_SERVER", "UPDATE_ROLE", "UPDATE_USER", + "MONGO", "CONNECT", "RS", "SH", "SP", "GET_DB", "GET_READ_CONCERN", + "GET_READ_PREF", "GET_READ_PREF_MODE", "GET_READ_PREF_TAG_SET", "GET_WRITE_CONCERN", "SET_READ_PREF", "SET_READ_CONCERN", "SET_WRITE_CONCERN", "START_SESSION", "WATCH", "GET_DB_NAMES", "GET_KEY_VAULT", "GET_CLIENT_ENCRYPTION", "GET_PLAN_CACHE", "SORT", "LIMIT", "SKIP_", "PROJECTION", "PROJECT", "COUNT", "INITIALIZE_ORDERED_BULK_OP", @@ -94,11 +124,11 @@ func mongoshellparserParserInit() { "IDENTIFIER", "WS", } staticData.RuleNames = []string{ - "program", "statement", "shellCommand", "dbStatement", "genericDbMethod", - "bulkStatement", "bulkInitMethod", "bulkMethodChain", "bulkMethod", - "connectionStatement", "connectionMethodChain", "rsStatement", "shStatement", - "encryptionStatement", "planCacheStatement", "spStatement", "nativeFunctionCall", - "connectionMethod", "collectionAccess", "methodChain", "methodCall", + "program", "statement", "shellCommand", "dbStatement", "bulkStatement", + "bulkInitMethod", "bulkMethodChain", "bulkMethod", "connectionStatement", + "connectionMethodChain", "rsStatement", "shStatement", "encryptionStatement", + "planCacheStatement", "spStatement", "nativeFunctionCall", "connectionMethod", + "collectionAccess", "methodChain", "collectionMethodCall", "cursorMethodCall", "findMethod", "findOneMethod", "countDocumentsMethod", "estimatedDocumentCountMethod", "distinctMethod", "aggregateMethod", "getIndexesMethod", "insertOneMethod", "insertManyMethod", "updateOneMethod", "updateManyMethod", "deleteOneMethod", @@ -107,24 +137,30 @@ func mongoshellparserParserInit() { "dropIndexMethod", "dropIndexesMethod", "dropMethod", "renameCollectionMethod", "statsMethod", "storageSizeMethod", "totalIndexSizeMethod", "totalSizeMethod", "dataSizeMethod", "isCappedMethod", "validateMethod", "latencyStatsMethod", - "sortMethod", "limitMethod", "skipMethod", "countMethod", "projectionMethod", - "batchSizeMethod", "closeMethod", "collationMethod", "commentMethod", - "explainMethod", "forEachMethod", "hasNextMethod", "hintMethod", "isClosedMethod", - "isExhaustedMethod", "itcountMethod", "mapMethod", "maxMethod", "maxAwaitTimeMSMethod", - "maxTimeMSMethod", "minMethod", "nextMethod", "noCursorTimeoutMethod", - "objsLeftInBatchMethod", "prettyMethod", "readConcernMethod", "readPrefMethod", - "returnKeyMethod", "showRecordIdMethod", "sizeMethod", "tailableMethod", - "toArrayMethod", "tryNextMethod", "allowDiskUseMethod", "addOptionMethod", - "genericMethod", "arguments", "argument", "document", "pair", "key", - "value", "newKeywordError", "array", "helperFunction", "objectIdHelper", - "isoDateHelper", "dateHelper", "uuidHelper", "longHelper", "int32Helper", - "doubleHelper", "decimal128Helper", "timestampHelper", "regExpConstructor", - "binDataHelper", "binaryHelper", "bsonRegExpHelper", "hexDataHelper", - "literal", "stringLiteral", "identifier", + "watchMethod", "bulkWriteMethod", "collectionCountMethod", "collectionInsertMethod", + "collectionRemoveMethod", "updateMethod", "mapReduceMethod", "findAndModifyMethod", + "collectionExplainMethod", "analyzeShardKeyMethod", "configureQueryAnalyzerMethod", + "compactStructuredEncryptionDataMethod", "hideIndexMethod", "unhideIndexMethod", + "reIndexMethod", "getShardDistributionMethod", "getShardVersionMethod", + "createSearchIndexMethod", "createSearchIndexesMethod", "dropSearchIndexMethod", + "updateSearchIndexMethod", "sortMethod", "limitMethod", "skipMethod", + "countMethod", "projectionMethod", "batchSizeMethod", "closeMethod", + "collationMethod", "commentMethod", "explainMethod", "forEachMethod", + "hasNextMethod", "hintMethod", "isClosedMethod", "isExhaustedMethod", + "itcountMethod", "mapMethod", "maxMethod", "maxAwaitTimeMSMethod", "maxTimeMSMethod", + "minMethod", "nextMethod", "noCursorTimeoutMethod", "objsLeftInBatchMethod", + "prettyMethod", "readConcernMethod", "readPrefMethod", "returnKeyMethod", + "showRecordIdMethod", "sizeMethod", "tailableMethod", "toArrayMethod", + "tryNextMethod", "allowDiskUseMethod", "addOptionMethod", "arguments", + "argument", "document", "pair", "key", "value", "newKeywordError", "array", + "helperFunction", "objectIdHelper", "isoDateHelper", "dateHelper", "uuidHelper", + "longHelper", "int32Helper", "doubleHelper", "decimal128Helper", "timestampHelper", + "regExpConstructor", "binDataHelper", "binaryHelper", "bsonRegExpHelper", + "hexDataHelper", "literal", "stringLiteral", "identifier", } staticData.PredictionContextCache = antlr.NewPredictionContextCache() staticData.serializedATN = []int32{ - 4, 1, 154, 1461, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, + 4, 1, 215, 2074, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, @@ -146,706 +182,1044 @@ func mongoshellparserParserInit() { 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, - 113, 7, 113, 1, 0, 5, 0, 230, 8, 0, 10, 0, 12, 0, 233, 9, 0, 1, 0, 1, 0, - 1, 1, 1, 1, 3, 1, 239, 8, 1, 1, 1, 1, 1, 3, 1, 243, 8, 1, 1, 1, 1, 1, 3, - 1, 247, 8, 1, 1, 1, 1, 1, 3, 1, 251, 8, 1, 1, 1, 1, 1, 3, 1, 255, 8, 1, - 1, 1, 1, 1, 3, 1, 259, 8, 1, 1, 1, 1, 1, 3, 1, 263, 8, 1, 1, 1, 1, 1, 3, - 1, 267, 8, 1, 1, 1, 1, 1, 3, 1, 271, 8, 1, 1, 1, 1, 1, 3, 1, 275, 8, 1, - 3, 1, 277, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 283, 8, 2, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 3, 3, 291, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, - 3, 298, 8, 3, 1, 3, 1, 3, 3, 3, 302, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 3, 3, 321, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 329, 8, 3, 1, + 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, + 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, + 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, + 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, + 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 1, 0, 5, 0, 270, 8, 0, 10, + 0, 12, 0, 273, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 279, 8, 1, 1, 1, 1, + 1, 3, 1, 283, 8, 1, 1, 1, 1, 1, 3, 1, 287, 8, 1, 1, 1, 1, 1, 3, 1, 291, + 8, 1, 1, 1, 1, 1, 3, 1, 295, 8, 1, 1, 1, 1, 1, 3, 1, 299, 8, 1, 1, 1, 1, + 1, 3, 1, 303, 8, 1, 1, 1, 1, 1, 3, 1, 307, 8, 1, 1, 1, 1, 1, 3, 1, 311, + 8, 1, 1, 1, 1, 1, 3, 1, 315, 8, 1, 3, 1, 317, 8, 1, 1, 2, 1, 2, 1, 2, 1, + 2, 3, 2, 323, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 331, 8, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 338, 8, 3, 1, 3, 1, 3, 3, 3, 342, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 361, 8, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 3, 3, 369, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 390, - 8, 3, 1, 4, 1, 4, 1, 4, 3, 4, 395, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, - 1, 5, 1, 5, 3, 5, 404, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, - 412, 8, 6, 1, 7, 1, 7, 4, 7, 416, 8, 7, 11, 7, 12, 7, 417, 1, 8, 1, 8, - 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, - 1, 8, 1, 8, 3, 8, 436, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, - 1, 8, 1, 8, 1, 8, 3, 8, 448, 8, 8, 1, 8, 1, 8, 3, 8, 452, 8, 8, 1, 9, 1, - 9, 1, 9, 3, 9, 457, 8, 9, 1, 9, 1, 9, 3, 9, 461, 8, 9, 1, 9, 1, 9, 1, 9, - 3, 9, 466, 8, 9, 1, 9, 1, 9, 3, 9, 470, 8, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, - 9, 1, 9, 3, 9, 478, 8, 9, 1, 10, 1, 10, 4, 10, 482, 8, 10, 11, 10, 12, - 10, 483, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 491, 8, 11, 1, 11, 1, - 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 500, 8, 12, 1, 12, 1, 12, - 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, - 13, 1, 13, 1, 13, 3, 13, 517, 8, 13, 1, 13, 1, 13, 5, 13, 521, 8, 13, 10, - 13, 12, 13, 524, 9, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, - 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 539, 8, 13, 1, 13, 1, - 13, 5, 13, 543, 8, 13, 10, 13, 12, 13, 546, 9, 13, 3, 13, 548, 8, 13, 1, - 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, - 560, 8, 14, 1, 14, 1, 14, 5, 14, 564, 8, 14, 10, 14, 12, 14, 567, 9, 14, - 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 574, 8, 15, 1, 15, 1, 15, 1, - 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 585, 8, 15, 1, 15, - 1, 15, 3, 15, 589, 8, 15, 1, 16, 1, 16, 1, 16, 3, 16, 594, 8, 16, 1, 16, - 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, - 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 3, 3, 428, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, + 3, 436, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 444, 8, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 452, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 3, 3, 460, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, + 468, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 476, 8, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 484, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 3, 3, 492, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 500, + 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 508, 8, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 516, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 3, 3, 524, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 532, 8, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 540, 8, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 3, 3, 548, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 3, 3, 556, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 564, 8, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 572, 8, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 3, 3, 580, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 3, 3, 588, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 596, 8, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 604, 8, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 3, 3, 612, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, + 3, 620, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 628, 8, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 636, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 3, 3, 644, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, + 652, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 660, 8, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 668, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 3, 3, 676, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 684, + 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 692, 8, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 700, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 3, 3, 708, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 716, 8, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 724, 8, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 3, 3, 732, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 3, 3, 740, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 748, 8, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 756, 8, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 3, 3, 764, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 3, 3, 772, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 780, 8, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 788, 8, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 3, 3, 796, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, + 3, 804, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 811, 8, 3, 1, 4, 1, 4, + 1, 4, 1, 4, 1, 4, 3, 4, 818, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, + 3, 5, 826, 8, 5, 1, 6, 1, 6, 4, 6, 830, 8, 6, 11, 6, 12, 6, 831, 1, 7, + 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, + 1, 7, 1, 7, 1, 7, 3, 7, 850, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, + 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 862, 8, 7, 1, 7, 1, 7, 3, 7, 866, 8, 7, 1, + 8, 1, 8, 1, 8, 3, 8, 871, 8, 8, 1, 8, 1, 8, 3, 8, 875, 8, 8, 1, 8, 1, 8, + 1, 8, 3, 8, 880, 8, 8, 1, 8, 1, 8, 3, 8, 884, 8, 8, 1, 8, 1, 8, 1, 8, 1, + 8, 1, 8, 1, 8, 3, 8, 892, 8, 8, 1, 9, 1, 9, 4, 9, 896, 8, 9, 11, 9, 12, + 9, 897, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 905, 8, 10, 1, 10, 1, + 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 914, 8, 11, 1, 11, 1, 11, + 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, + 12, 1, 12, 1, 12, 3, 12, 931, 8, 12, 1, 12, 1, 12, 5, 12, 935, 8, 12, 10, + 12, 12, 12, 938, 9, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, + 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 953, 8, 12, 1, 12, 1, + 12, 5, 12, 957, 8, 12, 10, 12, 12, 12, 960, 9, 12, 3, 12, 962, 8, 12, 1, + 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, + 974, 8, 13, 1, 13, 1, 13, 5, 13, 978, 8, 13, 10, 13, 12, 13, 981, 9, 13, + 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 988, 8, 14, 1, 14, 1, 14, 1, + 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 999, 8, 14, 1, 14, + 1, 14, 3, 14, 1003, 8, 14, 1, 15, 1, 15, 1, 15, 3, 15, 1008, 8, 15, 1, + 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, + 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, + 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, + 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 1050, 8, + 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 1056, 8, 16, 1, 16, 1, 16, 1, 16, + 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, + 16, 1, 16, 3, 16, 1073, 8, 16, 1, 16, 1, 16, 3, 16, 1077, 8, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, - 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 636, 8, 17, - 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 642, 8, 17, 1, 17, 1, 17, 1, 17, 1, - 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, - 1, 17, 3, 17, 659, 8, 17, 1, 17, 1, 17, 3, 17, 663, 8, 17, 1, 18, 1, 18, - 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, - 18, 677, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 683, 8, 19, 10, 19, - 12, 19, 686, 9, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, - 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, - 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, + 17, 3, 17, 1091, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 5, 18, + 1099, 8, 18, 10, 18, 12, 18, 1102, 9, 18, 1, 18, 1, 18, 1, 18, 1, 18, 5, + 18, 1108, 8, 18, 10, 18, 12, 18, 1111, 9, 18, 3, 18, 1113, 8, 18, 1, 19, + 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, + 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, + 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, + 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, + 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 1167, + 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, - 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, - 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 755, 8, 20, 1, - 21, 1, 21, 1, 21, 3, 21, 760, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, - 3, 22, 767, 8, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 3, 23, 774, 8, 23, - 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 3, 24, 781, 8, 24, 1, 24, 1, 24, 1, - 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 3, 26, 793, 8, 26, - 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, - 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, - 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, - 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, - 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, - 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, - 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, - 41, 3, 41, 869, 8, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 3, 42, 876, 8, - 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, - 3, 44, 888, 8, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, - 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, - 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 3, 50, 915, 8, 50, 1, - 50, 1, 50, 1, 51, 1, 51, 1, 51, 3, 51, 922, 8, 51, 1, 51, 1, 51, 1, 52, - 1, 52, 1, 52, 3, 52, 929, 8, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, - 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, - 1, 56, 1, 56, 1, 56, 3, 56, 950, 8, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, - 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 3, 59, - 966, 8, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 3, 60, 973, 8, 60, 1, 60, - 1, 60, 1, 61, 1, 61, 1, 61, 3, 61, 980, 8, 61, 1, 61, 1, 61, 1, 62, 1, - 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, - 3, 64, 996, 8, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, - 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, - 1, 68, 1, 69, 1, 69, 1, 69, 3, 69, 1020, 8, 69, 1, 69, 1, 69, 1, 70, 1, - 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, - 1, 72, 3, 72, 1037, 8, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, - 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, - 1, 76, 1, 77, 1, 77, 1, 77, 3, 77, 1060, 8, 77, 1, 77, 1, 77, 1, 78, 1, - 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 3, 79, 1072, 8, 79, 1, 79, - 1, 79, 1, 80, 1, 80, 1, 80, 3, 80, 1079, 8, 80, 1, 80, 1, 80, 1, 81, 1, - 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 3, 82, 1090, 8, 82, 1, 82, 1, 82, - 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, - 85, 3, 85, 1105, 8, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, - 1, 87, 1, 87, 1, 87, 3, 87, 1117, 8, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, - 88, 5, 88, 1124, 8, 88, 10, 88, 12, 88, 1127, 9, 88, 1, 88, 3, 88, 1130, - 8, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 5, 90, 1138, 8, 90, 10, - 90, 12, 90, 1141, 9, 90, 1, 90, 3, 90, 1144, 8, 90, 3, 90, 1146, 8, 90, - 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 3, 92, 1156, 8, - 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 3, 93, 1165, 8, 93, - 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 3, 94, 1172, 8, 94, 1, 94, 1, 94, 1, - 95, 1, 95, 1, 95, 1, 95, 5, 95, 1180, 8, 95, 10, 95, 12, 95, 1183, 9, 95, - 1, 95, 3, 95, 1186, 8, 95, 3, 95, 1188, 8, 95, 1, 95, 1, 95, 1, 96, 1, - 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, - 1, 96, 3, 96, 1205, 8, 96, 1, 97, 1, 97, 1, 97, 3, 97, 1210, 8, 97, 1, - 97, 1, 97, 1, 98, 1, 98, 1, 98, 3, 98, 1217, 8, 98, 1, 98, 1, 98, 1, 99, - 1, 99, 1, 99, 1, 99, 3, 99, 1225, 8, 99, 1, 99, 1, 99, 1, 100, 1, 100, - 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1238, 8, - 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, - 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, - 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, - 105, 1, 105, 3, 105, 1268, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, - 3, 106, 1275, 8, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, - 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, - 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 3, 108, 1298, 8, 108, 1, 109, - 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, - 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 3, 111, 1317, 8, - 111, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 3, 113, 1459, 8, 113, 1, 113, - 0, 0, 114, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, - 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, - 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, - 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, - 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, - 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, - 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, - 226, 0, 8, 1, 0, 2, 3, 1, 0, 96, 97, 1, 0, 7, 8, 1, 0, 13, 29, 1, 0, 17, - 18, 1, 0, 19, 20, 1, 0, 22, 23, 1, 0, 151, 152, 1706, 0, 231, 1, 0, 0, - 0, 2, 276, 1, 0, 0, 0, 4, 282, 1, 0, 0, 0, 6, 389, 1, 0, 0, 0, 8, 391, - 1, 0, 0, 0, 10, 398, 1, 0, 0, 0, 12, 411, 1, 0, 0, 0, 14, 415, 1, 0, 0, - 0, 16, 451, 1, 0, 0, 0, 18, 477, 1, 0, 0, 0, 20, 481, 1, 0, 0, 0, 22, 485, - 1, 0, 0, 0, 24, 494, 1, 0, 0, 0, 26, 547, 1, 0, 0, 0, 28, 549, 1, 0, 0, - 0, 30, 588, 1, 0, 0, 0, 32, 590, 1, 0, 0, 0, 34, 662, 1, 0, 0, 0, 36, 676, - 1, 0, 0, 0, 38, 678, 1, 0, 0, 0, 40, 754, 1, 0, 0, 0, 42, 756, 1, 0, 0, - 0, 44, 763, 1, 0, 0, 0, 46, 770, 1, 0, 0, 0, 48, 777, 1, 0, 0, 0, 50, 784, - 1, 0, 0, 0, 52, 789, 1, 0, 0, 0, 54, 796, 1, 0, 0, 0, 56, 800, 1, 0, 0, - 0, 58, 805, 1, 0, 0, 0, 60, 810, 1, 0, 0, 0, 62, 815, 1, 0, 0, 0, 64, 820, - 1, 0, 0, 0, 66, 825, 1, 0, 0, 0, 68, 830, 1, 0, 0, 0, 70, 835, 1, 0, 0, - 0, 72, 840, 1, 0, 0, 0, 74, 845, 1, 0, 0, 0, 76, 850, 1, 0, 0, 0, 78, 855, - 1, 0, 0, 0, 80, 860, 1, 0, 0, 0, 82, 865, 1, 0, 0, 0, 84, 872, 1, 0, 0, - 0, 86, 879, 1, 0, 0, 0, 88, 884, 1, 0, 0, 0, 90, 891, 1, 0, 0, 0, 92, 895, - 1, 0, 0, 0, 94, 899, 1, 0, 0, 0, 96, 903, 1, 0, 0, 0, 98, 907, 1, 0, 0, - 0, 100, 911, 1, 0, 0, 0, 102, 918, 1, 0, 0, 0, 104, 925, 1, 0, 0, 0, 106, - 932, 1, 0, 0, 0, 108, 937, 1, 0, 0, 0, 110, 942, 1, 0, 0, 0, 112, 946, - 1, 0, 0, 0, 114, 953, 1, 0, 0, 0, 116, 958, 1, 0, 0, 0, 118, 962, 1, 0, - 0, 0, 120, 969, 1, 0, 0, 0, 122, 976, 1, 0, 0, 0, 124, 983, 1, 0, 0, 0, - 126, 988, 1, 0, 0, 0, 128, 992, 1, 0, 0, 0, 130, 999, 1, 0, 0, 0, 132, - 1003, 1, 0, 0, 0, 134, 1007, 1, 0, 0, 0, 136, 1011, 1, 0, 0, 0, 138, 1016, - 1, 0, 0, 0, 140, 1023, 1, 0, 0, 0, 142, 1028, 1, 0, 0, 0, 144, 1033, 1, - 0, 0, 0, 146, 1040, 1, 0, 0, 0, 148, 1044, 1, 0, 0, 0, 150, 1048, 1, 0, - 0, 0, 152, 1052, 1, 0, 0, 0, 154, 1056, 1, 0, 0, 0, 156, 1063, 1, 0, 0, - 0, 158, 1068, 1, 0, 0, 0, 160, 1075, 1, 0, 0, 0, 162, 1082, 1, 0, 0, 0, - 164, 1086, 1, 0, 0, 0, 166, 1093, 1, 0, 0, 0, 168, 1097, 1, 0, 0, 0, 170, - 1101, 1, 0, 0, 0, 172, 1108, 1, 0, 0, 0, 174, 1113, 1, 0, 0, 0, 176, 1120, - 1, 0, 0, 0, 178, 1131, 1, 0, 0, 0, 180, 1133, 1, 0, 0, 0, 182, 1149, 1, - 0, 0, 0, 184, 1155, 1, 0, 0, 0, 186, 1164, 1, 0, 0, 0, 188, 1166, 1, 0, - 0, 0, 190, 1175, 1, 0, 0, 0, 192, 1204, 1, 0, 0, 0, 194, 1206, 1, 0, 0, - 0, 196, 1213, 1, 0, 0, 0, 198, 1220, 1, 0, 0, 0, 200, 1228, 1, 0, 0, 0, - 202, 1233, 1, 0, 0, 0, 204, 1241, 1, 0, 0, 0, 206, 1246, 1, 0, 0, 0, 208, - 1251, 1, 0, 0, 0, 210, 1267, 1, 0, 0, 0, 212, 1269, 1, 0, 0, 0, 214, 1278, - 1, 0, 0, 0, 216, 1297, 1, 0, 0, 0, 218, 1299, 1, 0, 0, 0, 220, 1304, 1, - 0, 0, 0, 222, 1316, 1, 0, 0, 0, 224, 1318, 1, 0, 0, 0, 226, 1458, 1, 0, - 0, 0, 228, 230, 3, 2, 1, 0, 229, 228, 1, 0, 0, 0, 230, 233, 1, 0, 0, 0, - 231, 229, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 234, 1, 0, 0, 0, 233, - 231, 1, 0, 0, 0, 234, 235, 5, 0, 0, 1, 235, 1, 1, 0, 0, 0, 236, 238, 3, - 4, 2, 0, 237, 239, 5, 145, 0, 0, 238, 237, 1, 0, 0, 0, 238, 239, 1, 0, - 0, 0, 239, 277, 1, 0, 0, 0, 240, 242, 3, 6, 3, 0, 241, 243, 5, 145, 0, - 0, 242, 241, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 277, 1, 0, 0, 0, 244, - 246, 3, 10, 5, 0, 245, 247, 5, 145, 0, 0, 246, 245, 1, 0, 0, 0, 246, 247, - 1, 0, 0, 0, 247, 277, 1, 0, 0, 0, 248, 250, 3, 18, 9, 0, 249, 251, 5, 145, - 0, 0, 250, 249, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 277, 1, 0, 0, 0, - 252, 254, 3, 22, 11, 0, 253, 255, 5, 145, 0, 0, 254, 253, 1, 0, 0, 0, 254, - 255, 1, 0, 0, 0, 255, 277, 1, 0, 0, 0, 256, 258, 3, 24, 12, 0, 257, 259, - 5, 145, 0, 0, 258, 257, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 277, 1, - 0, 0, 0, 260, 262, 3, 26, 13, 0, 261, 263, 5, 145, 0, 0, 262, 261, 1, 0, - 0, 0, 262, 263, 1, 0, 0, 0, 263, 277, 1, 0, 0, 0, 264, 266, 3, 28, 14, - 0, 265, 267, 5, 145, 0, 0, 266, 265, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, - 267, 277, 1, 0, 0, 0, 268, 270, 3, 30, 15, 0, 269, 271, 5, 145, 0, 0, 270, - 269, 1, 0, 0, 0, 270, 271, 1, 0, 0, 0, 271, 277, 1, 0, 0, 0, 272, 274, - 3, 32, 16, 0, 273, 275, 5, 145, 0, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, - 0, 0, 0, 275, 277, 1, 0, 0, 0, 276, 236, 1, 0, 0, 0, 276, 240, 1, 0, 0, - 0, 276, 244, 1, 0, 0, 0, 276, 248, 1, 0, 0, 0, 276, 252, 1, 0, 0, 0, 276, - 256, 1, 0, 0, 0, 276, 260, 1, 0, 0, 0, 276, 264, 1, 0, 0, 0, 276, 268, - 1, 0, 0, 0, 276, 272, 1, 0, 0, 0, 277, 3, 1, 0, 0, 0, 278, 279, 5, 1, 0, - 0, 279, 283, 7, 0, 0, 0, 280, 281, 5, 1, 0, 0, 281, 283, 5, 4, 0, 0, 282, - 278, 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 283, 5, 1, 0, 0, 0, 284, 285, 5, - 5, 0, 0, 285, 286, 5, 144, 0, 0, 286, 287, 5, 11, 0, 0, 287, 288, 5, 136, - 0, 0, 288, 290, 5, 137, 0, 0, 289, 291, 3, 38, 19, 0, 290, 289, 1, 0, 0, - 0, 290, 291, 1, 0, 0, 0, 291, 390, 1, 0, 0, 0, 292, 293, 5, 5, 0, 0, 293, - 294, 5, 144, 0, 0, 294, 295, 5, 12, 0, 0, 295, 297, 5, 136, 0, 0, 296, - 298, 3, 176, 88, 0, 297, 296, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298, 299, - 1, 0, 0, 0, 299, 301, 5, 137, 0, 0, 300, 302, 3, 38, 19, 0, 301, 300, 1, - 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 390, 1, 0, 0, 0, 303, 304, 5, 5, 0, - 0, 304, 305, 5, 144, 0, 0, 305, 306, 5, 61, 0, 0, 306, 307, 5, 136, 0, - 0, 307, 308, 3, 176, 88, 0, 308, 309, 5, 137, 0, 0, 309, 390, 1, 0, 0, - 0, 310, 311, 5, 5, 0, 0, 311, 312, 5, 144, 0, 0, 312, 313, 5, 62, 0, 0, - 313, 314, 5, 136, 0, 0, 314, 390, 5, 137, 0, 0, 315, 316, 5, 5, 0, 0, 316, - 317, 5, 144, 0, 0, 317, 318, 5, 53, 0, 0, 318, 320, 5, 136, 0, 0, 319, - 321, 3, 178, 89, 0, 320, 319, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 322, - 1, 0, 0, 0, 322, 390, 5, 137, 0, 0, 323, 324, 5, 5, 0, 0, 324, 325, 5, - 144, 0, 0, 325, 326, 5, 66, 0, 0, 326, 328, 5, 136, 0, 0, 327, 329, 3, - 178, 89, 0, 328, 327, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 330, 1, 0, - 0, 0, 330, 390, 5, 137, 0, 0, 331, 332, 5, 5, 0, 0, 332, 333, 5, 144, 0, - 0, 333, 334, 5, 65, 0, 0, 334, 335, 5, 136, 0, 0, 335, 390, 5, 137, 0, - 0, 336, 337, 5, 5, 0, 0, 337, 338, 5, 144, 0, 0, 338, 339, 5, 67, 0, 0, - 339, 340, 5, 136, 0, 0, 340, 390, 5, 137, 0, 0, 341, 342, 5, 5, 0, 0, 342, - 343, 5, 144, 0, 0, 343, 344, 5, 63, 0, 0, 344, 345, 5, 136, 0, 0, 345, - 390, 5, 137, 0, 0, 346, 347, 5, 5, 0, 0, 347, 348, 5, 144, 0, 0, 348, 349, - 5, 64, 0, 0, 349, 350, 5, 136, 0, 0, 350, 390, 5, 137, 0, 0, 351, 352, - 5, 5, 0, 0, 352, 353, 5, 144, 0, 0, 353, 354, 5, 68, 0, 0, 354, 355, 5, - 136, 0, 0, 355, 356, 3, 176, 88, 0, 356, 357, 5, 137, 0, 0, 357, 390, 1, - 0, 0, 0, 358, 359, 5, 5, 0, 0, 359, 360, 5, 144, 0, 0, 360, 361, 5, 69, - 0, 0, 361, 362, 5, 136, 0, 0, 362, 363, 3, 176, 88, 0, 363, 364, 5, 137, - 0, 0, 364, 390, 1, 0, 0, 0, 365, 366, 5, 5, 0, 0, 366, 367, 5, 144, 0, - 0, 367, 368, 5, 70, 0, 0, 368, 369, 5, 136, 0, 0, 369, 390, 5, 137, 0, - 0, 370, 371, 5, 5, 0, 0, 371, 372, 5, 144, 0, 0, 372, 373, 5, 71, 0, 0, - 373, 374, 5, 136, 0, 0, 374, 390, 5, 137, 0, 0, 375, 376, 5, 5, 0, 0, 376, - 377, 5, 144, 0, 0, 377, 378, 5, 72, 0, 0, 378, 379, 5, 136, 0, 0, 379, - 380, 3, 178, 89, 0, 380, 381, 5, 137, 0, 0, 381, 390, 1, 0, 0, 0, 382, - 383, 5, 5, 0, 0, 383, 384, 5, 144, 0, 0, 384, 390, 3, 8, 4, 0, 385, 386, - 5, 5, 0, 0, 386, 387, 3, 36, 18, 0, 387, 388, 3, 38, 19, 0, 388, 390, 1, - 0, 0, 0, 389, 284, 1, 0, 0, 0, 389, 292, 1, 0, 0, 0, 389, 303, 1, 0, 0, - 0, 389, 310, 1, 0, 0, 0, 389, 315, 1, 0, 0, 0, 389, 323, 1, 0, 0, 0, 389, - 331, 1, 0, 0, 0, 389, 336, 1, 0, 0, 0, 389, 341, 1, 0, 0, 0, 389, 346, - 1, 0, 0, 0, 389, 351, 1, 0, 0, 0, 389, 358, 1, 0, 0, 0, 389, 365, 1, 0, - 0, 0, 389, 370, 1, 0, 0, 0, 389, 375, 1, 0, 0, 0, 389, 382, 1, 0, 0, 0, - 389, 385, 1, 0, 0, 0, 390, 7, 1, 0, 0, 0, 391, 392, 3, 226, 113, 0, 392, - 394, 5, 136, 0, 0, 393, 395, 3, 176, 88, 0, 394, 393, 1, 0, 0, 0, 394, - 395, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 397, 5, 137, 0, 0, 397, 9, - 1, 0, 0, 0, 398, 399, 5, 5, 0, 0, 399, 400, 3, 36, 18, 0, 400, 401, 5, - 144, 0, 0, 401, 403, 3, 12, 6, 0, 402, 404, 3, 14, 7, 0, 403, 402, 1, 0, - 0, 0, 403, 404, 1, 0, 0, 0, 404, 11, 1, 0, 0, 0, 405, 406, 5, 99, 0, 0, - 406, 407, 5, 136, 0, 0, 407, 412, 5, 137, 0, 0, 408, 409, 5, 100, 0, 0, - 409, 410, 5, 136, 0, 0, 410, 412, 5, 137, 0, 0, 411, 405, 1, 0, 0, 0, 411, - 408, 1, 0, 0, 0, 412, 13, 1, 0, 0, 0, 413, 414, 5, 144, 0, 0, 414, 416, - 3, 16, 8, 0, 415, 413, 1, 0, 0, 0, 416, 417, 1, 0, 0, 0, 417, 415, 1, 0, - 0, 0, 417, 418, 1, 0, 0, 0, 418, 15, 1, 0, 0, 0, 419, 420, 5, 30, 0, 0, - 420, 421, 5, 136, 0, 0, 421, 422, 3, 178, 89, 0, 422, 423, 5, 137, 0, 0, - 423, 452, 1, 0, 0, 0, 424, 425, 5, 104, 0, 0, 425, 426, 5, 136, 0, 0, 426, - 427, 3, 178, 89, 0, 427, 428, 5, 137, 0, 0, 428, 452, 1, 0, 0, 0, 429, - 430, 5, 105, 0, 0, 430, 431, 5, 136, 0, 0, 431, 452, 5, 137, 0, 0, 432, - 433, 5, 101, 0, 0, 433, 435, 5, 136, 0, 0, 434, 436, 3, 178, 89, 0, 435, - 434, 1, 0, 0, 0, 435, 436, 1, 0, 0, 0, 436, 437, 1, 0, 0, 0, 437, 452, - 5, 137, 0, 0, 438, 439, 5, 102, 0, 0, 439, 440, 5, 136, 0, 0, 440, 452, - 5, 137, 0, 0, 441, 442, 5, 103, 0, 0, 442, 443, 5, 136, 0, 0, 443, 452, - 5, 137, 0, 0, 444, 445, 3, 226, 113, 0, 445, 447, 5, 136, 0, 0, 446, 448, - 3, 176, 88, 0, 447, 446, 1, 0, 0, 0, 447, 448, 1, 0, 0, 0, 448, 449, 1, - 0, 0, 0, 449, 450, 5, 137, 0, 0, 450, 452, 1, 0, 0, 0, 451, 419, 1, 0, - 0, 0, 451, 424, 1, 0, 0, 0, 451, 429, 1, 0, 0, 0, 451, 432, 1, 0, 0, 0, - 451, 438, 1, 0, 0, 0, 451, 441, 1, 0, 0, 0, 451, 444, 1, 0, 0, 0, 452, - 17, 1, 0, 0, 0, 453, 454, 5, 73, 0, 0, 454, 456, 5, 136, 0, 0, 455, 457, - 3, 176, 88, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 458, 1, - 0, 0, 0, 458, 460, 5, 137, 0, 0, 459, 461, 3, 20, 10, 0, 460, 459, 1, 0, - 0, 0, 460, 461, 1, 0, 0, 0, 461, 478, 1, 0, 0, 0, 462, 463, 5, 74, 0, 0, - 463, 465, 5, 136, 0, 0, 464, 466, 3, 176, 88, 0, 465, 464, 1, 0, 0, 0, - 465, 466, 1, 0, 0, 0, 466, 467, 1, 0, 0, 0, 467, 469, 5, 137, 0, 0, 468, - 470, 3, 20, 10, 0, 469, 468, 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 478, - 1, 0, 0, 0, 471, 472, 5, 5, 0, 0, 472, 473, 5, 144, 0, 0, 473, 474, 5, - 71, 0, 0, 474, 475, 5, 136, 0, 0, 475, 476, 5, 137, 0, 0, 476, 478, 3, - 20, 10, 0, 477, 453, 1, 0, 0, 0, 477, 462, 1, 0, 0, 0, 477, 471, 1, 0, - 0, 0, 478, 19, 1, 0, 0, 0, 479, 480, 5, 144, 0, 0, 480, 482, 3, 34, 17, - 0, 481, 479, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 483, - 484, 1, 0, 0, 0, 484, 21, 1, 0, 0, 0, 485, 486, 5, 75, 0, 0, 486, 487, - 5, 144, 0, 0, 487, 488, 3, 226, 113, 0, 488, 490, 5, 136, 0, 0, 489, 491, - 3, 176, 88, 0, 490, 489, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 492, 1, - 0, 0, 0, 492, 493, 5, 137, 0, 0, 493, 23, 1, 0, 0, 0, 494, 495, 5, 76, - 0, 0, 495, 496, 5, 144, 0, 0, 496, 497, 3, 226, 113, 0, 497, 499, 5, 136, - 0, 0, 498, 500, 3, 176, 88, 0, 499, 498, 1, 0, 0, 0, 499, 500, 1, 0, 0, - 0, 500, 501, 1, 0, 0, 0, 501, 502, 5, 137, 0, 0, 502, 25, 1, 0, 0, 0, 503, - 504, 5, 5, 0, 0, 504, 505, 5, 144, 0, 0, 505, 506, 5, 71, 0, 0, 506, 507, - 5, 136, 0, 0, 507, 508, 5, 137, 0, 0, 508, 509, 5, 144, 0, 0, 509, 510, - 5, 90, 0, 0, 510, 511, 5, 136, 0, 0, 511, 522, 5, 137, 0, 0, 512, 513, - 5, 144, 0, 0, 513, 514, 3, 226, 113, 0, 514, 516, 5, 136, 0, 0, 515, 517, - 3, 176, 88, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 518, 1, - 0, 0, 0, 518, 519, 5, 137, 0, 0, 519, 521, 1, 0, 0, 0, 520, 512, 1, 0, - 0, 0, 521, 524, 1, 0, 0, 0, 522, 520, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, - 523, 548, 1, 0, 0, 0, 524, 522, 1, 0, 0, 0, 525, 526, 5, 5, 0, 0, 526, - 527, 5, 144, 0, 0, 527, 528, 5, 71, 0, 0, 528, 529, 5, 136, 0, 0, 529, - 530, 5, 137, 0, 0, 530, 531, 5, 144, 0, 0, 531, 532, 5, 91, 0, 0, 532, - 533, 5, 136, 0, 0, 533, 544, 5, 137, 0, 0, 534, 535, 5, 144, 0, 0, 535, - 536, 3, 226, 113, 0, 536, 538, 5, 136, 0, 0, 537, 539, 3, 176, 88, 0, 538, - 537, 1, 0, 0, 0, 538, 539, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, 541, - 5, 137, 0, 0, 541, 543, 1, 0, 0, 0, 542, 534, 1, 0, 0, 0, 543, 546, 1, - 0, 0, 0, 544, 542, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 548, 1, 0, 0, - 0, 546, 544, 1, 0, 0, 0, 547, 503, 1, 0, 0, 0, 547, 525, 1, 0, 0, 0, 548, - 27, 1, 0, 0, 0, 549, 550, 5, 5, 0, 0, 550, 551, 3, 36, 18, 0, 551, 552, - 5, 144, 0, 0, 552, 553, 5, 92, 0, 0, 553, 554, 5, 136, 0, 0, 554, 565, - 5, 137, 0, 0, 555, 556, 5, 144, 0, 0, 556, 557, 3, 226, 113, 0, 557, 559, - 5, 136, 0, 0, 558, 560, 3, 176, 88, 0, 559, 558, 1, 0, 0, 0, 559, 560, - 1, 0, 0, 0, 560, 561, 1, 0, 0, 0, 561, 562, 5, 137, 0, 0, 562, 564, 1, - 0, 0, 0, 563, 555, 1, 0, 0, 0, 564, 567, 1, 0, 0, 0, 565, 563, 1, 0, 0, - 0, 565, 566, 1, 0, 0, 0, 566, 29, 1, 0, 0, 0, 567, 565, 1, 0, 0, 0, 568, - 569, 5, 77, 0, 0, 569, 570, 5, 144, 0, 0, 570, 571, 3, 226, 113, 0, 571, - 573, 5, 136, 0, 0, 572, 574, 3, 176, 88, 0, 573, 572, 1, 0, 0, 0, 573, - 574, 1, 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 576, 5, 137, 0, 0, 576, 589, - 1, 0, 0, 0, 577, 578, 5, 77, 0, 0, 578, 579, 5, 144, 0, 0, 579, 580, 3, - 226, 113, 0, 580, 581, 5, 144, 0, 0, 581, 582, 3, 226, 113, 0, 582, 584, - 5, 136, 0, 0, 583, 585, 3, 176, 88, 0, 584, 583, 1, 0, 0, 0, 584, 585, - 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 587, 5, 137, 0, 0, 587, 589, 1, - 0, 0, 0, 588, 568, 1, 0, 0, 0, 588, 577, 1, 0, 0, 0, 589, 31, 1, 0, 0, - 0, 590, 591, 3, 226, 113, 0, 591, 593, 5, 136, 0, 0, 592, 594, 3, 176, - 88, 0, 593, 592, 1, 0, 0, 0, 593, 594, 1, 0, 0, 0, 594, 595, 1, 0, 0, 0, - 595, 596, 5, 137, 0, 0, 596, 33, 1, 0, 0, 0, 597, 598, 5, 78, 0, 0, 598, - 599, 5, 136, 0, 0, 599, 600, 3, 178, 89, 0, 600, 601, 5, 137, 0, 0, 601, - 663, 1, 0, 0, 0, 602, 603, 5, 79, 0, 0, 603, 604, 5, 136, 0, 0, 604, 663, - 5, 137, 0, 0, 605, 606, 5, 80, 0, 0, 606, 607, 5, 136, 0, 0, 607, 663, - 5, 137, 0, 0, 608, 609, 5, 81, 0, 0, 609, 610, 5, 136, 0, 0, 610, 663, - 5, 137, 0, 0, 611, 612, 5, 82, 0, 0, 612, 613, 5, 136, 0, 0, 613, 663, - 5, 137, 0, 0, 614, 615, 5, 83, 0, 0, 615, 616, 5, 136, 0, 0, 616, 663, - 5, 137, 0, 0, 617, 618, 5, 84, 0, 0, 618, 619, 5, 136, 0, 0, 619, 620, - 3, 176, 88, 0, 620, 621, 5, 137, 0, 0, 621, 663, 1, 0, 0, 0, 622, 623, - 5, 85, 0, 0, 623, 624, 5, 136, 0, 0, 624, 625, 3, 178, 89, 0, 625, 626, - 5, 137, 0, 0, 626, 663, 1, 0, 0, 0, 627, 628, 5, 86, 0, 0, 628, 629, 5, - 136, 0, 0, 629, 630, 3, 178, 89, 0, 630, 631, 5, 137, 0, 0, 631, 663, 1, - 0, 0, 0, 632, 633, 5, 87, 0, 0, 633, 635, 5, 136, 0, 0, 634, 636, 3, 178, - 89, 0, 635, 634, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, 1, 0, 0, 0, - 637, 663, 5, 137, 0, 0, 638, 639, 5, 88, 0, 0, 639, 641, 5, 136, 0, 0, - 640, 642, 3, 176, 88, 0, 641, 640, 1, 0, 0, 0, 641, 642, 1, 0, 0, 0, 642, - 643, 1, 0, 0, 0, 643, 663, 5, 137, 0, 0, 644, 645, 5, 107, 0, 0, 645, 646, - 5, 136, 0, 0, 646, 663, 5, 137, 0, 0, 647, 648, 5, 69, 0, 0, 648, 649, - 5, 136, 0, 0, 649, 650, 3, 176, 88, 0, 650, 651, 5, 137, 0, 0, 651, 663, - 1, 0, 0, 0, 652, 653, 5, 89, 0, 0, 653, 654, 5, 136, 0, 0, 654, 663, 5, - 137, 0, 0, 655, 656, 3, 226, 113, 0, 656, 658, 5, 136, 0, 0, 657, 659, - 3, 176, 88, 0, 658, 657, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 660, 1, - 0, 0, 0, 660, 661, 5, 137, 0, 0, 661, 663, 1, 0, 0, 0, 662, 597, 1, 0, - 0, 0, 662, 602, 1, 0, 0, 0, 662, 605, 1, 0, 0, 0, 662, 608, 1, 0, 0, 0, - 662, 611, 1, 0, 0, 0, 662, 614, 1, 0, 0, 0, 662, 617, 1, 0, 0, 0, 662, - 622, 1, 0, 0, 0, 662, 627, 1, 0, 0, 0, 662, 632, 1, 0, 0, 0, 662, 638, - 1, 0, 0, 0, 662, 644, 1, 0, 0, 0, 662, 647, 1, 0, 0, 0, 662, 652, 1, 0, - 0, 0, 662, 655, 1, 0, 0, 0, 663, 35, 1, 0, 0, 0, 664, 665, 5, 144, 0, 0, - 665, 677, 3, 226, 113, 0, 666, 667, 5, 140, 0, 0, 667, 668, 3, 224, 112, - 0, 668, 669, 5, 141, 0, 0, 669, 677, 1, 0, 0, 0, 670, 671, 5, 144, 0, 0, - 671, 672, 5, 10, 0, 0, 672, 673, 5, 136, 0, 0, 673, 674, 3, 224, 112, 0, - 674, 675, 5, 137, 0, 0, 675, 677, 1, 0, 0, 0, 676, 664, 1, 0, 0, 0, 676, - 666, 1, 0, 0, 0, 676, 670, 1, 0, 0, 0, 677, 37, 1, 0, 0, 0, 678, 679, 5, - 144, 0, 0, 679, 684, 3, 40, 20, 0, 680, 681, 5, 144, 0, 0, 681, 683, 3, - 40, 20, 0, 682, 680, 1, 0, 0, 0, 683, 686, 1, 0, 0, 0, 684, 682, 1, 0, - 0, 0, 684, 685, 1, 0, 0, 0, 685, 39, 1, 0, 0, 0, 686, 684, 1, 0, 0, 0, - 687, 755, 3, 42, 21, 0, 688, 755, 3, 44, 22, 0, 689, 755, 3, 46, 23, 0, - 690, 755, 3, 48, 24, 0, 691, 755, 3, 50, 25, 0, 692, 755, 3, 52, 26, 0, - 693, 755, 3, 54, 27, 0, 694, 755, 3, 56, 28, 0, 695, 755, 3, 58, 29, 0, - 696, 755, 3, 60, 30, 0, 697, 755, 3, 62, 31, 0, 698, 755, 3, 64, 32, 0, - 699, 755, 3, 66, 33, 0, 700, 755, 3, 68, 34, 0, 701, 755, 3, 70, 35, 0, - 702, 755, 3, 72, 36, 0, 703, 755, 3, 74, 37, 0, 704, 755, 3, 76, 38, 0, - 705, 755, 3, 78, 39, 0, 706, 755, 3, 80, 40, 0, 707, 755, 3, 82, 41, 0, - 708, 755, 3, 84, 42, 0, 709, 755, 3, 86, 43, 0, 710, 755, 3, 88, 44, 0, - 711, 755, 3, 90, 45, 0, 712, 755, 3, 92, 46, 0, 713, 755, 3, 94, 47, 0, - 714, 755, 3, 96, 48, 0, 715, 755, 3, 98, 49, 0, 716, 755, 3, 100, 50, 0, - 717, 755, 3, 102, 51, 0, 718, 755, 3, 104, 52, 0, 719, 755, 3, 106, 53, - 0, 720, 755, 3, 108, 54, 0, 721, 755, 3, 110, 55, 0, 722, 755, 3, 112, - 56, 0, 723, 755, 3, 114, 57, 0, 724, 755, 3, 116, 58, 0, 725, 755, 3, 118, - 59, 0, 726, 755, 3, 120, 60, 0, 727, 755, 3, 122, 61, 0, 728, 755, 3, 124, - 62, 0, 729, 755, 3, 126, 63, 0, 730, 755, 3, 128, 64, 0, 731, 755, 3, 130, - 65, 0, 732, 755, 3, 132, 66, 0, 733, 755, 3, 134, 67, 0, 734, 755, 3, 136, - 68, 0, 735, 755, 3, 138, 69, 0, 736, 755, 3, 140, 70, 0, 737, 755, 3, 142, - 71, 0, 738, 755, 3, 144, 72, 0, 739, 755, 3, 146, 73, 0, 740, 755, 3, 148, - 74, 0, 741, 755, 3, 150, 75, 0, 742, 755, 3, 152, 76, 0, 743, 755, 3, 154, - 77, 0, 744, 755, 3, 156, 78, 0, 745, 755, 3, 158, 79, 0, 746, 755, 3, 160, - 80, 0, 747, 755, 3, 162, 81, 0, 748, 755, 3, 164, 82, 0, 749, 755, 3, 166, - 83, 0, 750, 755, 3, 168, 84, 0, 751, 755, 3, 170, 85, 0, 752, 755, 3, 172, - 86, 0, 753, 755, 3, 174, 87, 0, 754, 687, 1, 0, 0, 0, 754, 688, 1, 0, 0, - 0, 754, 689, 1, 0, 0, 0, 754, 690, 1, 0, 0, 0, 754, 691, 1, 0, 0, 0, 754, - 692, 1, 0, 0, 0, 754, 693, 1, 0, 0, 0, 754, 694, 1, 0, 0, 0, 754, 695, - 1, 0, 0, 0, 754, 696, 1, 0, 0, 0, 754, 697, 1, 0, 0, 0, 754, 698, 1, 0, - 0, 0, 754, 699, 1, 0, 0, 0, 754, 700, 1, 0, 0, 0, 754, 701, 1, 0, 0, 0, - 754, 702, 1, 0, 0, 0, 754, 703, 1, 0, 0, 0, 754, 704, 1, 0, 0, 0, 754, - 705, 1, 0, 0, 0, 754, 706, 1, 0, 0, 0, 754, 707, 1, 0, 0, 0, 754, 708, - 1, 0, 0, 0, 754, 709, 1, 0, 0, 0, 754, 710, 1, 0, 0, 0, 754, 711, 1, 0, - 0, 0, 754, 712, 1, 0, 0, 0, 754, 713, 1, 0, 0, 0, 754, 714, 1, 0, 0, 0, - 754, 715, 1, 0, 0, 0, 754, 716, 1, 0, 0, 0, 754, 717, 1, 0, 0, 0, 754, - 718, 1, 0, 0, 0, 754, 719, 1, 0, 0, 0, 754, 720, 1, 0, 0, 0, 754, 721, - 1, 0, 0, 0, 754, 722, 1, 0, 0, 0, 754, 723, 1, 0, 0, 0, 754, 724, 1, 0, - 0, 0, 754, 725, 1, 0, 0, 0, 754, 726, 1, 0, 0, 0, 754, 727, 1, 0, 0, 0, - 754, 728, 1, 0, 0, 0, 754, 729, 1, 0, 0, 0, 754, 730, 1, 0, 0, 0, 754, - 731, 1, 0, 0, 0, 754, 732, 1, 0, 0, 0, 754, 733, 1, 0, 0, 0, 754, 734, - 1, 0, 0, 0, 754, 735, 1, 0, 0, 0, 754, 736, 1, 0, 0, 0, 754, 737, 1, 0, - 0, 0, 754, 738, 1, 0, 0, 0, 754, 739, 1, 0, 0, 0, 754, 740, 1, 0, 0, 0, - 754, 741, 1, 0, 0, 0, 754, 742, 1, 0, 0, 0, 754, 743, 1, 0, 0, 0, 754, - 744, 1, 0, 0, 0, 754, 745, 1, 0, 0, 0, 754, 746, 1, 0, 0, 0, 754, 747, - 1, 0, 0, 0, 754, 748, 1, 0, 0, 0, 754, 749, 1, 0, 0, 0, 754, 750, 1, 0, - 0, 0, 754, 751, 1, 0, 0, 0, 754, 752, 1, 0, 0, 0, 754, 753, 1, 0, 0, 0, - 755, 41, 1, 0, 0, 0, 756, 757, 5, 30, 0, 0, 757, 759, 5, 136, 0, 0, 758, - 760, 3, 176, 88, 0, 759, 758, 1, 0, 0, 0, 759, 760, 1, 0, 0, 0, 760, 761, - 1, 0, 0, 0, 761, 762, 5, 137, 0, 0, 762, 43, 1, 0, 0, 0, 763, 764, 5, 31, - 0, 0, 764, 766, 5, 136, 0, 0, 765, 767, 3, 176, 88, 0, 766, 765, 1, 0, - 0, 0, 766, 767, 1, 0, 0, 0, 767, 768, 1, 0, 0, 0, 768, 769, 5, 137, 0, - 0, 769, 45, 1, 0, 0, 0, 770, 771, 5, 32, 0, 0, 771, 773, 5, 136, 0, 0, - 772, 774, 3, 176, 88, 0, 773, 772, 1, 0, 0, 0, 773, 774, 1, 0, 0, 0, 774, - 775, 1, 0, 0, 0, 775, 776, 5, 137, 0, 0, 776, 47, 1, 0, 0, 0, 777, 778, - 5, 33, 0, 0, 778, 780, 5, 136, 0, 0, 779, 781, 3, 178, 89, 0, 780, 779, - 1, 0, 0, 0, 780, 781, 1, 0, 0, 0, 781, 782, 1, 0, 0, 0, 782, 783, 5, 137, - 0, 0, 783, 49, 1, 0, 0, 0, 784, 785, 5, 34, 0, 0, 785, 786, 5, 136, 0, - 0, 786, 787, 3, 176, 88, 0, 787, 788, 5, 137, 0, 0, 788, 51, 1, 0, 0, 0, - 789, 790, 5, 35, 0, 0, 790, 792, 5, 136, 0, 0, 791, 793, 3, 176, 88, 0, - 792, 791, 1, 0, 0, 0, 792, 793, 1, 0, 0, 0, 793, 794, 1, 0, 0, 0, 794, - 795, 5, 137, 0, 0, 795, 53, 1, 0, 0, 0, 796, 797, 5, 36, 0, 0, 797, 798, - 5, 136, 0, 0, 798, 799, 5, 137, 0, 0, 799, 55, 1, 0, 0, 0, 800, 801, 5, - 37, 0, 0, 801, 802, 5, 136, 0, 0, 802, 803, 3, 176, 88, 0, 803, 804, 5, - 137, 0, 0, 804, 57, 1, 0, 0, 0, 805, 806, 5, 38, 0, 0, 806, 807, 5, 136, - 0, 0, 807, 808, 3, 176, 88, 0, 808, 809, 5, 137, 0, 0, 809, 59, 1, 0, 0, - 0, 810, 811, 5, 39, 0, 0, 811, 812, 5, 136, 0, 0, 812, 813, 3, 176, 88, - 0, 813, 814, 5, 137, 0, 0, 814, 61, 1, 0, 0, 0, 815, 816, 5, 40, 0, 0, - 816, 817, 5, 136, 0, 0, 817, 818, 3, 176, 88, 0, 818, 819, 5, 137, 0, 0, - 819, 63, 1, 0, 0, 0, 820, 821, 5, 41, 0, 0, 821, 822, 5, 136, 0, 0, 822, - 823, 3, 176, 88, 0, 823, 824, 5, 137, 0, 0, 824, 65, 1, 0, 0, 0, 825, 826, - 5, 42, 0, 0, 826, 827, 5, 136, 0, 0, 827, 828, 3, 176, 88, 0, 828, 829, - 5, 137, 0, 0, 829, 67, 1, 0, 0, 0, 830, 831, 5, 43, 0, 0, 831, 832, 5, - 136, 0, 0, 832, 833, 3, 176, 88, 0, 833, 834, 5, 137, 0, 0, 834, 69, 1, - 0, 0, 0, 835, 836, 5, 44, 0, 0, 836, 837, 5, 136, 0, 0, 837, 838, 3, 176, - 88, 0, 838, 839, 5, 137, 0, 0, 839, 71, 1, 0, 0, 0, 840, 841, 5, 45, 0, - 0, 841, 842, 5, 136, 0, 0, 842, 843, 3, 176, 88, 0, 843, 844, 5, 137, 0, - 0, 844, 73, 1, 0, 0, 0, 845, 846, 5, 46, 0, 0, 846, 847, 5, 136, 0, 0, - 847, 848, 3, 176, 88, 0, 848, 849, 5, 137, 0, 0, 849, 75, 1, 0, 0, 0, 850, - 851, 5, 47, 0, 0, 851, 852, 5, 136, 0, 0, 852, 853, 3, 176, 88, 0, 853, - 854, 5, 137, 0, 0, 854, 77, 1, 0, 0, 0, 855, 856, 5, 48, 0, 0, 856, 857, - 5, 136, 0, 0, 857, 858, 3, 176, 88, 0, 858, 859, 5, 137, 0, 0, 859, 79, - 1, 0, 0, 0, 860, 861, 5, 49, 0, 0, 861, 862, 5, 136, 0, 0, 862, 863, 3, - 178, 89, 0, 863, 864, 5, 137, 0, 0, 864, 81, 1, 0, 0, 0, 865, 866, 5, 50, - 0, 0, 866, 868, 5, 136, 0, 0, 867, 869, 3, 178, 89, 0, 868, 867, 1, 0, - 0, 0, 868, 869, 1, 0, 0, 0, 869, 870, 1, 0, 0, 0, 870, 871, 5, 137, 0, - 0, 871, 83, 1, 0, 0, 0, 872, 873, 5, 51, 0, 0, 873, 875, 5, 136, 0, 0, - 874, 876, 3, 178, 89, 0, 875, 874, 1, 0, 0, 0, 875, 876, 1, 0, 0, 0, 876, - 877, 1, 0, 0, 0, 877, 878, 5, 137, 0, 0, 878, 85, 1, 0, 0, 0, 879, 880, - 5, 52, 0, 0, 880, 881, 5, 136, 0, 0, 881, 882, 3, 176, 88, 0, 882, 883, - 5, 137, 0, 0, 883, 87, 1, 0, 0, 0, 884, 885, 5, 53, 0, 0, 885, 887, 5, - 136, 0, 0, 886, 888, 3, 178, 89, 0, 887, 886, 1, 0, 0, 0, 887, 888, 1, - 0, 0, 0, 888, 889, 1, 0, 0, 0, 889, 890, 5, 137, 0, 0, 890, 89, 1, 0, 0, - 0, 891, 892, 5, 54, 0, 0, 892, 893, 5, 136, 0, 0, 893, 894, 5, 137, 0, - 0, 894, 91, 1, 0, 0, 0, 895, 896, 5, 55, 0, 0, 896, 897, 5, 136, 0, 0, - 897, 898, 5, 137, 0, 0, 898, 93, 1, 0, 0, 0, 899, 900, 5, 56, 0, 0, 900, - 901, 5, 136, 0, 0, 901, 902, 5, 137, 0, 0, 902, 95, 1, 0, 0, 0, 903, 904, - 5, 57, 0, 0, 904, 905, 5, 136, 0, 0, 905, 906, 5, 137, 0, 0, 906, 97, 1, - 0, 0, 0, 907, 908, 5, 58, 0, 0, 908, 909, 5, 136, 0, 0, 909, 910, 5, 137, - 0, 0, 910, 99, 1, 0, 0, 0, 911, 912, 5, 59, 0, 0, 912, 914, 5, 136, 0, - 0, 913, 915, 3, 178, 89, 0, 914, 913, 1, 0, 0, 0, 914, 915, 1, 0, 0, 0, - 915, 916, 1, 0, 0, 0, 916, 917, 5, 137, 0, 0, 917, 101, 1, 0, 0, 0, 918, - 919, 5, 60, 0, 0, 919, 921, 5, 136, 0, 0, 920, 922, 3, 178, 89, 0, 921, - 920, 1, 0, 0, 0, 921, 922, 1, 0, 0, 0, 922, 923, 1, 0, 0, 0, 923, 924, - 5, 137, 0, 0, 924, 103, 1, 0, 0, 0, 925, 926, 5, 93, 0, 0, 926, 928, 5, - 136, 0, 0, 927, 929, 3, 180, 90, 0, 928, 927, 1, 0, 0, 0, 928, 929, 1, - 0, 0, 0, 929, 930, 1, 0, 0, 0, 930, 931, 5, 137, 0, 0, 931, 105, 1, 0, - 0, 0, 932, 933, 5, 94, 0, 0, 933, 934, 5, 136, 0, 0, 934, 935, 5, 150, - 0, 0, 935, 936, 5, 137, 0, 0, 936, 107, 1, 0, 0, 0, 937, 938, 5, 95, 0, - 0, 938, 939, 5, 136, 0, 0, 939, 940, 5, 150, 0, 0, 940, 941, 5, 137, 0, - 0, 941, 109, 1, 0, 0, 0, 942, 943, 5, 98, 0, 0, 943, 944, 5, 136, 0, 0, - 944, 945, 5, 137, 0, 0, 945, 111, 1, 0, 0, 0, 946, 947, 7, 1, 0, 0, 947, - 949, 5, 136, 0, 0, 948, 950, 3, 180, 90, 0, 949, 948, 1, 0, 0, 0, 949, - 950, 1, 0, 0, 0, 950, 951, 1, 0, 0, 0, 951, 952, 5, 137, 0, 0, 952, 113, - 1, 0, 0, 0, 953, 954, 5, 106, 0, 0, 954, 955, 5, 136, 0, 0, 955, 956, 5, - 150, 0, 0, 956, 957, 5, 137, 0, 0, 957, 115, 1, 0, 0, 0, 958, 959, 5, 107, - 0, 0, 959, 960, 5, 136, 0, 0, 960, 961, 5, 137, 0, 0, 961, 117, 1, 0, 0, - 0, 962, 963, 5, 108, 0, 0, 963, 965, 5, 136, 0, 0, 964, 966, 3, 180, 90, - 0, 965, 964, 1, 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 967, 1, 0, 0, 0, 967, - 968, 5, 137, 0, 0, 968, 119, 1, 0, 0, 0, 969, 970, 5, 109, 0, 0, 970, 972, - 5, 136, 0, 0, 971, 973, 3, 224, 112, 0, 972, 971, 1, 0, 0, 0, 972, 973, - 1, 0, 0, 0, 973, 974, 1, 0, 0, 0, 974, 975, 5, 137, 0, 0, 975, 121, 1, - 0, 0, 0, 976, 977, 5, 110, 0, 0, 977, 979, 5, 136, 0, 0, 978, 980, 3, 224, - 112, 0, 979, 978, 1, 0, 0, 0, 979, 980, 1, 0, 0, 0, 980, 981, 1, 0, 0, - 0, 981, 982, 5, 137, 0, 0, 982, 123, 1, 0, 0, 0, 983, 984, 5, 111, 0, 0, - 984, 985, 5, 136, 0, 0, 985, 986, 3, 178, 89, 0, 986, 987, 5, 137, 0, 0, - 987, 125, 1, 0, 0, 0, 988, 989, 5, 112, 0, 0, 989, 990, 5, 136, 0, 0, 990, - 991, 5, 137, 0, 0, 991, 127, 1, 0, 0, 0, 992, 993, 5, 113, 0, 0, 993, 995, - 5, 136, 0, 0, 994, 996, 3, 178, 89, 0, 995, 994, 1, 0, 0, 0, 995, 996, - 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 998, 5, 137, 0, 0, 998, 129, 1, - 0, 0, 0, 999, 1000, 5, 114, 0, 0, 1000, 1001, 5, 136, 0, 0, 1001, 1002, - 5, 137, 0, 0, 1002, 131, 1, 0, 0, 0, 1003, 1004, 5, 115, 0, 0, 1004, 1005, - 5, 136, 0, 0, 1005, 1006, 5, 137, 0, 0, 1006, 133, 1, 0, 0, 0, 1007, 1008, - 5, 116, 0, 0, 1008, 1009, 5, 136, 0, 0, 1009, 1010, 5, 137, 0, 0, 1010, - 135, 1, 0, 0, 0, 1011, 1012, 5, 117, 0, 0, 1012, 1013, 5, 136, 0, 0, 1013, - 1014, 3, 178, 89, 0, 1014, 1015, 5, 137, 0, 0, 1015, 137, 1, 0, 0, 0, 1016, - 1017, 5, 118, 0, 0, 1017, 1019, 5, 136, 0, 0, 1018, 1020, 3, 180, 90, 0, - 1019, 1018, 1, 0, 0, 0, 1019, 1020, 1, 0, 0, 0, 1020, 1021, 1, 0, 0, 0, - 1021, 1022, 5, 137, 0, 0, 1022, 139, 1, 0, 0, 0, 1023, 1024, 5, 119, 0, - 0, 1024, 1025, 5, 136, 0, 0, 1025, 1026, 5, 150, 0, 0, 1026, 1027, 5, 137, - 0, 0, 1027, 141, 1, 0, 0, 0, 1028, 1029, 5, 120, 0, 0, 1029, 1030, 5, 136, - 0, 0, 1030, 1031, 5, 150, 0, 0, 1031, 1032, 5, 137, 0, 0, 1032, 143, 1, - 0, 0, 0, 1033, 1034, 5, 121, 0, 0, 1034, 1036, 5, 136, 0, 0, 1035, 1037, - 3, 180, 90, 0, 1036, 1035, 1, 0, 0, 0, 1036, 1037, 1, 0, 0, 0, 1037, 1038, - 1, 0, 0, 0, 1038, 1039, 5, 137, 0, 0, 1039, 145, 1, 0, 0, 0, 1040, 1041, - 5, 122, 0, 0, 1041, 1042, 5, 136, 0, 0, 1042, 1043, 5, 137, 0, 0, 1043, - 147, 1, 0, 0, 0, 1044, 1045, 5, 123, 0, 0, 1045, 1046, 5, 136, 0, 0, 1046, - 1047, 5, 137, 0, 0, 1047, 149, 1, 0, 0, 0, 1048, 1049, 5, 124, 0, 0, 1049, - 1050, 5, 136, 0, 0, 1050, 1051, 5, 137, 0, 0, 1051, 151, 1, 0, 0, 0, 1052, - 1053, 5, 125, 0, 0, 1053, 1054, 5, 136, 0, 0, 1054, 1055, 5, 137, 0, 0, - 1055, 153, 1, 0, 0, 0, 1056, 1057, 5, 126, 0, 0, 1057, 1059, 5, 136, 0, - 0, 1058, 1060, 3, 180, 90, 0, 1059, 1058, 1, 0, 0, 0, 1059, 1060, 1, 0, - 0, 0, 1060, 1061, 1, 0, 0, 0, 1061, 1062, 5, 137, 0, 0, 1062, 155, 1, 0, - 0, 0, 1063, 1064, 5, 127, 0, 0, 1064, 1065, 5, 136, 0, 0, 1065, 1066, 3, - 176, 88, 0, 1066, 1067, 5, 137, 0, 0, 1067, 157, 1, 0, 0, 0, 1068, 1069, - 5, 128, 0, 0, 1069, 1071, 5, 136, 0, 0, 1070, 1072, 7, 2, 0, 0, 1071, 1070, - 1, 0, 0, 0, 1071, 1072, 1, 0, 0, 0, 1072, 1073, 1, 0, 0, 0, 1073, 1074, - 5, 137, 0, 0, 1074, 159, 1, 0, 0, 0, 1075, 1076, 5, 129, 0, 0, 1076, 1078, - 5, 136, 0, 0, 1077, 1079, 7, 2, 0, 0, 1078, 1077, 1, 0, 0, 0, 1078, 1079, - 1, 0, 0, 0, 1079, 1080, 1, 0, 0, 0, 1080, 1081, 5, 137, 0, 0, 1081, 161, - 1, 0, 0, 0, 1082, 1083, 5, 130, 0, 0, 1083, 1084, 5, 136, 0, 0, 1084, 1085, - 5, 137, 0, 0, 1085, 163, 1, 0, 0, 0, 1086, 1087, 5, 131, 0, 0, 1087, 1089, - 5, 136, 0, 0, 1088, 1090, 7, 2, 0, 0, 1089, 1088, 1, 0, 0, 0, 1089, 1090, - 1, 0, 0, 0, 1090, 1091, 1, 0, 0, 0, 1091, 1092, 5, 137, 0, 0, 1092, 165, - 1, 0, 0, 0, 1093, 1094, 5, 132, 0, 0, 1094, 1095, 5, 136, 0, 0, 1095, 1096, - 5, 137, 0, 0, 1096, 167, 1, 0, 0, 0, 1097, 1098, 5, 133, 0, 0, 1098, 1099, - 5, 136, 0, 0, 1099, 1100, 5, 137, 0, 0, 1100, 169, 1, 0, 0, 0, 1101, 1102, - 5, 134, 0, 0, 1102, 1104, 5, 136, 0, 0, 1103, 1105, 7, 2, 0, 0, 1104, 1103, - 1, 0, 0, 0, 1104, 1105, 1, 0, 0, 0, 1105, 1106, 1, 0, 0, 0, 1106, 1107, - 5, 137, 0, 0, 1107, 171, 1, 0, 0, 0, 1108, 1109, 5, 135, 0, 0, 1109, 1110, - 5, 136, 0, 0, 1110, 1111, 5, 150, 0, 0, 1111, 1112, 5, 137, 0, 0, 1112, - 173, 1, 0, 0, 0, 1113, 1114, 3, 226, 113, 0, 1114, 1116, 5, 136, 0, 0, - 1115, 1117, 3, 176, 88, 0, 1116, 1115, 1, 0, 0, 0, 1116, 1117, 1, 0, 0, - 0, 1117, 1118, 1, 0, 0, 0, 1118, 1119, 5, 137, 0, 0, 1119, 175, 1, 0, 0, - 0, 1120, 1125, 3, 178, 89, 0, 1121, 1122, 5, 143, 0, 0, 1122, 1124, 3, - 178, 89, 0, 1123, 1121, 1, 0, 0, 0, 1124, 1127, 1, 0, 0, 0, 1125, 1123, - 1, 0, 0, 0, 1125, 1126, 1, 0, 0, 0, 1126, 1129, 1, 0, 0, 0, 1127, 1125, - 1, 0, 0, 0, 1128, 1130, 5, 143, 0, 0, 1129, 1128, 1, 0, 0, 0, 1129, 1130, - 1, 0, 0, 0, 1130, 177, 1, 0, 0, 0, 1131, 1132, 3, 186, 93, 0, 1132, 179, - 1, 0, 0, 0, 1133, 1145, 5, 138, 0, 0, 1134, 1139, 3, 182, 91, 0, 1135, - 1136, 5, 143, 0, 0, 1136, 1138, 3, 182, 91, 0, 1137, 1135, 1, 0, 0, 0, - 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, 1, 0, 0, 0, - 1140, 1143, 1, 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1144, 5, 143, 0, - 0, 1143, 1142, 1, 0, 0, 0, 1143, 1144, 1, 0, 0, 0, 1144, 1146, 1, 0, 0, - 0, 1145, 1134, 1, 0, 0, 0, 1145, 1146, 1, 0, 0, 0, 1146, 1147, 1, 0, 0, - 0, 1147, 1148, 5, 139, 0, 0, 1148, 181, 1, 0, 0, 0, 1149, 1150, 3, 184, - 92, 0, 1150, 1151, 5, 142, 0, 0, 1151, 1152, 3, 186, 93, 0, 1152, 183, - 1, 0, 0, 0, 1153, 1156, 3, 226, 113, 0, 1154, 1156, 3, 224, 112, 0, 1155, - 1153, 1, 0, 0, 0, 1155, 1154, 1, 0, 0, 0, 1156, 185, 1, 0, 0, 0, 1157, - 1165, 3, 180, 90, 0, 1158, 1165, 3, 190, 95, 0, 1159, 1165, 3, 192, 96, - 0, 1160, 1165, 5, 149, 0, 0, 1161, 1165, 3, 212, 106, 0, 1162, 1165, 3, - 222, 111, 0, 1163, 1165, 3, 188, 94, 0, 1164, 1157, 1, 0, 0, 0, 1164, 1158, - 1, 0, 0, 0, 1164, 1159, 1, 0, 0, 0, 1164, 1160, 1, 0, 0, 0, 1164, 1161, - 1, 0, 0, 0, 1164, 1162, 1, 0, 0, 0, 1164, 1163, 1, 0, 0, 0, 1165, 187, - 1, 0, 0, 0, 1166, 1167, 5, 6, 0, 0, 1167, 1168, 7, 3, 0, 0, 1168, 1169, - 6, 94, -1, 0, 1169, 1171, 5, 136, 0, 0, 1170, 1172, 3, 176, 88, 0, 1171, - 1170, 1, 0, 0, 0, 1171, 1172, 1, 0, 0, 0, 1172, 1173, 1, 0, 0, 0, 1173, - 1174, 5, 137, 0, 0, 1174, 189, 1, 0, 0, 0, 1175, 1187, 5, 140, 0, 0, 1176, - 1181, 3, 186, 93, 0, 1177, 1178, 5, 143, 0, 0, 1178, 1180, 3, 186, 93, - 0, 1179, 1177, 1, 0, 0, 0, 1180, 1183, 1, 0, 0, 0, 1181, 1179, 1, 0, 0, - 0, 1181, 1182, 1, 0, 0, 0, 1182, 1185, 1, 0, 0, 0, 1183, 1181, 1, 0, 0, - 0, 1184, 1186, 5, 143, 0, 0, 1185, 1184, 1, 0, 0, 0, 1185, 1186, 1, 0, - 0, 0, 1186, 1188, 1, 0, 0, 0, 1187, 1176, 1, 0, 0, 0, 1187, 1188, 1, 0, - 0, 0, 1188, 1189, 1, 0, 0, 0, 1189, 1190, 5, 141, 0, 0, 1190, 191, 1, 0, - 0, 0, 1191, 1205, 3, 194, 97, 0, 1192, 1205, 3, 196, 98, 0, 1193, 1205, - 3, 198, 99, 0, 1194, 1205, 3, 200, 100, 0, 1195, 1205, 3, 202, 101, 0, - 1196, 1205, 3, 204, 102, 0, 1197, 1205, 3, 206, 103, 0, 1198, 1205, 3, - 208, 104, 0, 1199, 1205, 3, 210, 105, 0, 1200, 1205, 3, 214, 107, 0, 1201, - 1205, 3, 216, 108, 0, 1202, 1205, 3, 218, 109, 0, 1203, 1205, 3, 220, 110, - 0, 1204, 1191, 1, 0, 0, 0, 1204, 1192, 1, 0, 0, 0, 1204, 1193, 1, 0, 0, - 0, 1204, 1194, 1, 0, 0, 0, 1204, 1195, 1, 0, 0, 0, 1204, 1196, 1, 0, 0, - 0, 1204, 1197, 1, 0, 0, 0, 1204, 1198, 1, 0, 0, 0, 1204, 1199, 1, 0, 0, - 0, 1204, 1200, 1, 0, 0, 0, 1204, 1201, 1, 0, 0, 0, 1204, 1202, 1, 0, 0, - 0, 1204, 1203, 1, 0, 0, 0, 1205, 193, 1, 0, 0, 0, 1206, 1207, 5, 13, 0, - 0, 1207, 1209, 5, 136, 0, 0, 1208, 1210, 3, 224, 112, 0, 1209, 1208, 1, - 0, 0, 0, 1209, 1210, 1, 0, 0, 0, 1210, 1211, 1, 0, 0, 0, 1211, 1212, 5, - 137, 0, 0, 1212, 195, 1, 0, 0, 0, 1213, 1214, 5, 14, 0, 0, 1214, 1216, - 5, 136, 0, 0, 1215, 1217, 3, 224, 112, 0, 1216, 1215, 1, 0, 0, 0, 1216, - 1217, 1, 0, 0, 0, 1217, 1218, 1, 0, 0, 0, 1218, 1219, 5, 137, 0, 0, 1219, - 197, 1, 0, 0, 0, 1220, 1221, 5, 15, 0, 0, 1221, 1224, 5, 136, 0, 0, 1222, - 1225, 3, 224, 112, 0, 1223, 1225, 5, 150, 0, 0, 1224, 1222, 1, 0, 0, 0, - 1224, 1223, 1, 0, 0, 0, 1224, 1225, 1, 0, 0, 0, 1225, 1226, 1, 0, 0, 0, - 1226, 1227, 5, 137, 0, 0, 1227, 199, 1, 0, 0, 0, 1228, 1229, 5, 16, 0, - 0, 1229, 1230, 5, 136, 0, 0, 1230, 1231, 3, 224, 112, 0, 1231, 1232, 5, - 137, 0, 0, 1232, 201, 1, 0, 0, 0, 1233, 1234, 7, 4, 0, 0, 1234, 1237, 5, - 136, 0, 0, 1235, 1238, 5, 150, 0, 0, 1236, 1238, 3, 224, 112, 0, 1237, - 1235, 1, 0, 0, 0, 1237, 1236, 1, 0, 0, 0, 1238, 1239, 1, 0, 0, 0, 1239, - 1240, 5, 137, 0, 0, 1240, 203, 1, 0, 0, 0, 1241, 1242, 7, 5, 0, 0, 1242, - 1243, 5, 136, 0, 0, 1243, 1244, 5, 150, 0, 0, 1244, 1245, 5, 137, 0, 0, - 1245, 205, 1, 0, 0, 0, 1246, 1247, 5, 21, 0, 0, 1247, 1248, 5, 136, 0, - 0, 1248, 1249, 5, 150, 0, 0, 1249, 1250, 5, 137, 0, 0, 1250, 207, 1, 0, - 0, 0, 1251, 1252, 7, 6, 0, 0, 1252, 1253, 5, 136, 0, 0, 1253, 1254, 3, - 224, 112, 0, 1254, 1255, 5, 137, 0, 0, 1255, 209, 1, 0, 0, 0, 1256, 1257, - 5, 24, 0, 0, 1257, 1258, 5, 136, 0, 0, 1258, 1259, 3, 180, 90, 0, 1259, - 1260, 5, 137, 0, 0, 1260, 1268, 1, 0, 0, 0, 1261, 1262, 5, 24, 0, 0, 1262, - 1263, 5, 136, 0, 0, 1263, 1264, 5, 150, 0, 0, 1264, 1265, 5, 143, 0, 0, - 1265, 1266, 5, 150, 0, 0, 1266, 1268, 5, 137, 0, 0, 1267, 1256, 1, 0, 0, - 0, 1267, 1261, 1, 0, 0, 0, 1268, 211, 1, 0, 0, 0, 1269, 1270, 5, 25, 0, - 0, 1270, 1271, 5, 136, 0, 0, 1271, 1274, 3, 224, 112, 0, 1272, 1273, 5, - 143, 0, 0, 1273, 1275, 3, 224, 112, 0, 1274, 1272, 1, 0, 0, 0, 1274, 1275, - 1, 0, 0, 0, 1275, 1276, 1, 0, 0, 0, 1276, 1277, 5, 137, 0, 0, 1277, 213, - 1, 0, 0, 0, 1278, 1279, 5, 26, 0, 0, 1279, 1280, 5, 136, 0, 0, 1280, 1281, - 5, 150, 0, 0, 1281, 1282, 5, 143, 0, 0, 1282, 1283, 3, 224, 112, 0, 1283, - 1284, 5, 137, 0, 0, 1284, 215, 1, 0, 0, 0, 1285, 1286, 5, 27, 0, 0, 1286, - 1287, 5, 136, 0, 0, 1287, 1288, 3, 176, 88, 0, 1288, 1289, 5, 137, 0, 0, - 1289, 1298, 1, 0, 0, 0, 1290, 1291, 5, 27, 0, 0, 1291, 1292, 5, 144, 0, - 0, 1292, 1293, 3, 226, 113, 0, 1293, 1294, 5, 136, 0, 0, 1294, 1295, 3, - 176, 88, 0, 1295, 1296, 5, 137, 0, 0, 1296, 1298, 1, 0, 0, 0, 1297, 1285, - 1, 0, 0, 0, 1297, 1290, 1, 0, 0, 0, 1298, 217, 1, 0, 0, 0, 1299, 1300, - 5, 28, 0, 0, 1300, 1301, 5, 136, 0, 0, 1301, 1302, 3, 176, 88, 0, 1302, - 1303, 5, 137, 0, 0, 1303, 219, 1, 0, 0, 0, 1304, 1305, 5, 29, 0, 0, 1305, - 1306, 5, 136, 0, 0, 1306, 1307, 5, 150, 0, 0, 1307, 1308, 5, 143, 0, 0, - 1308, 1309, 3, 224, 112, 0, 1309, 1310, 5, 137, 0, 0, 1310, 221, 1, 0, - 0, 0, 1311, 1317, 3, 224, 112, 0, 1312, 1317, 5, 150, 0, 0, 1313, 1317, - 5, 7, 0, 0, 1314, 1317, 5, 8, 0, 0, 1315, 1317, 5, 9, 0, 0, 1316, 1311, - 1, 0, 0, 0, 1316, 1312, 1, 0, 0, 0, 1316, 1313, 1, 0, 0, 0, 1316, 1314, - 1, 0, 0, 0, 1316, 1315, 1, 0, 0, 0, 1317, 223, 1, 0, 0, 0, 1318, 1319, - 7, 7, 0, 0, 1319, 225, 1, 0, 0, 0, 1320, 1459, 5, 153, 0, 0, 1321, 1322, - 5, 146, 0, 0, 1322, 1459, 5, 153, 0, 0, 1323, 1459, 5, 1, 0, 0, 1324, 1459, - 5, 2, 0, 0, 1325, 1459, 5, 3, 0, 0, 1326, 1459, 5, 4, 0, 0, 1327, 1459, - 5, 5, 0, 0, 1328, 1459, 5, 6, 0, 0, 1329, 1459, 5, 7, 0, 0, 1330, 1459, - 5, 8, 0, 0, 1331, 1459, 5, 9, 0, 0, 1332, 1459, 5, 30, 0, 0, 1333, 1459, - 5, 31, 0, 0, 1334, 1459, 5, 32, 0, 0, 1335, 1459, 5, 33, 0, 0, 1336, 1459, - 5, 34, 0, 0, 1337, 1459, 5, 35, 0, 0, 1338, 1459, 5, 36, 0, 0, 1339, 1459, - 5, 37, 0, 0, 1340, 1459, 5, 38, 0, 0, 1341, 1459, 5, 39, 0, 0, 1342, 1459, - 5, 40, 0, 0, 1343, 1459, 5, 41, 0, 0, 1344, 1459, 5, 42, 0, 0, 1345, 1459, - 5, 43, 0, 0, 1346, 1459, 5, 44, 0, 0, 1347, 1459, 5, 45, 0, 0, 1348, 1459, - 5, 46, 0, 0, 1349, 1459, 5, 47, 0, 0, 1350, 1459, 5, 48, 0, 0, 1351, 1459, - 5, 49, 0, 0, 1352, 1459, 5, 50, 0, 0, 1353, 1459, 5, 51, 0, 0, 1354, 1459, - 5, 52, 0, 0, 1355, 1459, 5, 53, 0, 0, 1356, 1459, 5, 54, 0, 0, 1357, 1459, - 5, 55, 0, 0, 1358, 1459, 5, 56, 0, 0, 1359, 1459, 5, 57, 0, 0, 1360, 1459, - 5, 58, 0, 0, 1361, 1459, 5, 59, 0, 0, 1362, 1459, 5, 60, 0, 0, 1363, 1459, - 5, 93, 0, 0, 1364, 1459, 5, 94, 0, 0, 1365, 1459, 5, 95, 0, 0, 1366, 1459, - 5, 98, 0, 0, 1367, 1459, 5, 96, 0, 0, 1368, 1459, 5, 97, 0, 0, 1369, 1459, - 5, 10, 0, 0, 1370, 1459, 5, 11, 0, 0, 1371, 1459, 5, 12, 0, 0, 1372, 1459, - 5, 61, 0, 0, 1373, 1459, 5, 62, 0, 0, 1374, 1459, 5, 63, 0, 0, 1375, 1459, - 5, 64, 0, 0, 1376, 1459, 5, 65, 0, 0, 1377, 1459, 5, 66, 0, 0, 1378, 1459, - 5, 67, 0, 0, 1379, 1459, 5, 68, 0, 0, 1380, 1459, 5, 69, 0, 0, 1381, 1459, - 5, 70, 0, 0, 1382, 1459, 5, 71, 0, 0, 1383, 1459, 5, 72, 0, 0, 1384, 1459, - 5, 13, 0, 0, 1385, 1459, 5, 14, 0, 0, 1386, 1459, 5, 15, 0, 0, 1387, 1459, - 5, 16, 0, 0, 1388, 1459, 5, 17, 0, 0, 1389, 1459, 5, 18, 0, 0, 1390, 1459, - 5, 19, 0, 0, 1391, 1459, 5, 20, 0, 0, 1392, 1459, 5, 21, 0, 0, 1393, 1459, - 5, 22, 0, 0, 1394, 1459, 5, 23, 0, 0, 1395, 1459, 5, 24, 0, 0, 1396, 1459, - 5, 25, 0, 0, 1397, 1459, 5, 26, 0, 0, 1398, 1459, 5, 27, 0, 0, 1399, 1459, - 5, 28, 0, 0, 1400, 1459, 5, 29, 0, 0, 1401, 1459, 5, 106, 0, 0, 1402, 1459, - 5, 107, 0, 0, 1403, 1459, 5, 108, 0, 0, 1404, 1459, 5, 109, 0, 0, 1405, - 1459, 5, 110, 0, 0, 1406, 1459, 5, 111, 0, 0, 1407, 1459, 5, 112, 0, 0, - 1408, 1459, 5, 113, 0, 0, 1409, 1459, 5, 114, 0, 0, 1410, 1459, 5, 115, - 0, 0, 1411, 1459, 5, 116, 0, 0, 1412, 1459, 5, 117, 0, 0, 1413, 1459, 5, - 118, 0, 0, 1414, 1459, 5, 119, 0, 0, 1415, 1459, 5, 120, 0, 0, 1416, 1459, - 5, 121, 0, 0, 1417, 1459, 5, 122, 0, 0, 1418, 1459, 5, 123, 0, 0, 1419, - 1459, 5, 124, 0, 0, 1420, 1459, 5, 125, 0, 0, 1421, 1459, 5, 126, 0, 0, - 1422, 1459, 5, 127, 0, 0, 1423, 1459, 5, 128, 0, 0, 1424, 1459, 5, 129, - 0, 0, 1425, 1459, 5, 130, 0, 0, 1426, 1459, 5, 131, 0, 0, 1427, 1459, 5, - 132, 0, 0, 1428, 1459, 5, 133, 0, 0, 1429, 1459, 5, 134, 0, 0, 1430, 1459, - 5, 135, 0, 0, 1431, 1459, 5, 99, 0, 0, 1432, 1459, 5, 100, 0, 0, 1433, - 1459, 5, 101, 0, 0, 1434, 1459, 5, 102, 0, 0, 1435, 1459, 5, 103, 0, 0, - 1436, 1459, 5, 104, 0, 0, 1437, 1459, 5, 105, 0, 0, 1438, 1459, 5, 73, - 0, 0, 1439, 1459, 5, 74, 0, 0, 1440, 1459, 5, 78, 0, 0, 1441, 1459, 5, - 79, 0, 0, 1442, 1459, 5, 80, 0, 0, 1443, 1459, 5, 81, 0, 0, 1444, 1459, - 5, 82, 0, 0, 1445, 1459, 5, 83, 0, 0, 1446, 1459, 5, 84, 0, 0, 1447, 1459, - 5, 85, 0, 0, 1448, 1459, 5, 86, 0, 0, 1449, 1459, 5, 87, 0, 0, 1450, 1459, - 5, 88, 0, 0, 1451, 1459, 5, 89, 0, 0, 1452, 1459, 5, 75, 0, 0, 1453, 1459, - 5, 76, 0, 0, 1454, 1459, 5, 77, 0, 0, 1455, 1459, 5, 90, 0, 0, 1456, 1459, - 5, 91, 0, 0, 1457, 1459, 5, 92, 0, 0, 1458, 1320, 1, 0, 0, 0, 1458, 1321, - 1, 0, 0, 0, 1458, 1323, 1, 0, 0, 0, 1458, 1324, 1, 0, 0, 0, 1458, 1325, - 1, 0, 0, 0, 1458, 1326, 1, 0, 0, 0, 1458, 1327, 1, 0, 0, 0, 1458, 1328, - 1, 0, 0, 0, 1458, 1329, 1, 0, 0, 0, 1458, 1330, 1, 0, 0, 0, 1458, 1331, - 1, 0, 0, 0, 1458, 1332, 1, 0, 0, 0, 1458, 1333, 1, 0, 0, 0, 1458, 1334, - 1, 0, 0, 0, 1458, 1335, 1, 0, 0, 0, 1458, 1336, 1, 0, 0, 0, 1458, 1337, - 1, 0, 0, 0, 1458, 1338, 1, 0, 0, 0, 1458, 1339, 1, 0, 0, 0, 1458, 1340, - 1, 0, 0, 0, 1458, 1341, 1, 0, 0, 0, 1458, 1342, 1, 0, 0, 0, 1458, 1343, - 1, 0, 0, 0, 1458, 1344, 1, 0, 0, 0, 1458, 1345, 1, 0, 0, 0, 1458, 1346, - 1, 0, 0, 0, 1458, 1347, 1, 0, 0, 0, 1458, 1348, 1, 0, 0, 0, 1458, 1349, - 1, 0, 0, 0, 1458, 1350, 1, 0, 0, 0, 1458, 1351, 1, 0, 0, 0, 1458, 1352, - 1, 0, 0, 0, 1458, 1353, 1, 0, 0, 0, 1458, 1354, 1, 0, 0, 0, 1458, 1355, - 1, 0, 0, 0, 1458, 1356, 1, 0, 0, 0, 1458, 1357, 1, 0, 0, 0, 1458, 1358, - 1, 0, 0, 0, 1458, 1359, 1, 0, 0, 0, 1458, 1360, 1, 0, 0, 0, 1458, 1361, - 1, 0, 0, 0, 1458, 1362, 1, 0, 0, 0, 1458, 1363, 1, 0, 0, 0, 1458, 1364, - 1, 0, 0, 0, 1458, 1365, 1, 0, 0, 0, 1458, 1366, 1, 0, 0, 0, 1458, 1367, - 1, 0, 0, 0, 1458, 1368, 1, 0, 0, 0, 1458, 1369, 1, 0, 0, 0, 1458, 1370, - 1, 0, 0, 0, 1458, 1371, 1, 0, 0, 0, 1458, 1372, 1, 0, 0, 0, 1458, 1373, - 1, 0, 0, 0, 1458, 1374, 1, 0, 0, 0, 1458, 1375, 1, 0, 0, 0, 1458, 1376, - 1, 0, 0, 0, 1458, 1377, 1, 0, 0, 0, 1458, 1378, 1, 0, 0, 0, 1458, 1379, - 1, 0, 0, 0, 1458, 1380, 1, 0, 0, 0, 1458, 1381, 1, 0, 0, 0, 1458, 1382, - 1, 0, 0, 0, 1458, 1383, 1, 0, 0, 0, 1458, 1384, 1, 0, 0, 0, 1458, 1385, - 1, 0, 0, 0, 1458, 1386, 1, 0, 0, 0, 1458, 1387, 1, 0, 0, 0, 1458, 1388, - 1, 0, 0, 0, 1458, 1389, 1, 0, 0, 0, 1458, 1390, 1, 0, 0, 0, 1458, 1391, - 1, 0, 0, 0, 1458, 1392, 1, 0, 0, 0, 1458, 1393, 1, 0, 0, 0, 1458, 1394, - 1, 0, 0, 0, 1458, 1395, 1, 0, 0, 0, 1458, 1396, 1, 0, 0, 0, 1458, 1397, - 1, 0, 0, 0, 1458, 1398, 1, 0, 0, 0, 1458, 1399, 1, 0, 0, 0, 1458, 1400, - 1, 0, 0, 0, 1458, 1401, 1, 0, 0, 0, 1458, 1402, 1, 0, 0, 0, 1458, 1403, - 1, 0, 0, 0, 1458, 1404, 1, 0, 0, 0, 1458, 1405, 1, 0, 0, 0, 1458, 1406, - 1, 0, 0, 0, 1458, 1407, 1, 0, 0, 0, 1458, 1408, 1, 0, 0, 0, 1458, 1409, - 1, 0, 0, 0, 1458, 1410, 1, 0, 0, 0, 1458, 1411, 1, 0, 0, 0, 1458, 1412, - 1, 0, 0, 0, 1458, 1413, 1, 0, 0, 0, 1458, 1414, 1, 0, 0, 0, 1458, 1415, - 1, 0, 0, 0, 1458, 1416, 1, 0, 0, 0, 1458, 1417, 1, 0, 0, 0, 1458, 1418, - 1, 0, 0, 0, 1458, 1419, 1, 0, 0, 0, 1458, 1420, 1, 0, 0, 0, 1458, 1421, - 1, 0, 0, 0, 1458, 1422, 1, 0, 0, 0, 1458, 1423, 1, 0, 0, 0, 1458, 1424, - 1, 0, 0, 0, 1458, 1425, 1, 0, 0, 0, 1458, 1426, 1, 0, 0, 0, 1458, 1427, - 1, 0, 0, 0, 1458, 1428, 1, 0, 0, 0, 1458, 1429, 1, 0, 0, 0, 1458, 1430, - 1, 0, 0, 0, 1458, 1431, 1, 0, 0, 0, 1458, 1432, 1, 0, 0, 0, 1458, 1433, - 1, 0, 0, 0, 1458, 1434, 1, 0, 0, 0, 1458, 1435, 1, 0, 0, 0, 1458, 1436, - 1, 0, 0, 0, 1458, 1437, 1, 0, 0, 0, 1458, 1438, 1, 0, 0, 0, 1458, 1439, - 1, 0, 0, 0, 1458, 1440, 1, 0, 0, 0, 1458, 1441, 1, 0, 0, 0, 1458, 1442, - 1, 0, 0, 0, 1458, 1443, 1, 0, 0, 0, 1458, 1444, 1, 0, 0, 0, 1458, 1445, - 1, 0, 0, 0, 1458, 1446, 1, 0, 0, 0, 1458, 1447, 1, 0, 0, 0, 1458, 1448, - 1, 0, 0, 0, 1458, 1449, 1, 0, 0, 0, 1458, 1450, 1, 0, 0, 0, 1458, 1451, - 1, 0, 0, 0, 1458, 1452, 1, 0, 0, 0, 1458, 1453, 1, 0, 0, 0, 1458, 1454, - 1, 0, 0, 0, 1458, 1455, 1, 0, 0, 0, 1458, 1456, 1, 0, 0, 0, 1458, 1457, - 1, 0, 0, 0, 1459, 227, 1, 0, 0, 0, 97, 231, 238, 242, 246, 250, 254, 258, - 262, 266, 270, 274, 276, 282, 290, 297, 301, 320, 328, 389, 394, 403, 411, - 417, 435, 447, 451, 456, 460, 465, 469, 477, 483, 490, 499, 516, 522, 538, - 544, 547, 559, 565, 573, 584, 588, 593, 635, 641, 658, 662, 676, 684, 754, - 759, 766, 773, 780, 792, 868, 875, 887, 914, 921, 928, 949, 965, 972, 979, - 995, 1019, 1036, 1059, 1071, 1078, 1089, 1104, 1116, 1125, 1129, 1139, - 1143, 1145, 1155, 1164, 1171, 1181, 1185, 1187, 1204, 1209, 1216, 1224, - 1237, 1267, 1274, 1297, 1316, 1458, + 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 1204, 8, 20, 1, 21, 1, 21, 1, 21, + 3, 21, 1209, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 3, 22, 1216, 8, + 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 3, 23, 1223, 8, 23, 1, 23, 1, 23, + 1, 24, 1, 24, 1, 24, 3, 24, 1230, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, + 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 3, 26, 1242, 8, 26, 1, 26, 1, 26, + 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, + 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, + 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, + 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, + 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, + 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, + 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 3, 41, 1318, + 8, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 3, 42, 1325, 8, 42, 1, 42, 1, + 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 3, 44, 1337, + 8, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, + 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, + 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 3, 50, 1364, 8, 50, 1, 50, 1, 50, 1, + 51, 1, 51, 1, 51, 3, 51, 1371, 8, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, + 3, 52, 1378, 8, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, + 54, 1, 54, 1, 54, 3, 54, 1390, 8, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, + 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, + 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, + 1, 59, 1, 60, 1, 60, 1, 60, 3, 60, 1422, 8, 60, 1, 60, 1, 60, 1, 61, 1, + 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, + 1, 63, 3, 63, 1439, 8, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, + 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, + 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, + 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, + 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 3, 73, 1488, + 8, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, + 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 3, 77, + 1509, 8, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, + 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 3, 80, 1525, 8, 80, 1, 80, 1, 80, + 1, 81, 1, 81, 1, 81, 3, 81, 1532, 8, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, + 82, 3, 82, 1539, 8, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, + 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 3, 85, 1555, 8, 85, 1, + 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, + 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, + 90, 3, 90, 1579, 8, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, + 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 3, 93, 1596, 8, + 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, + 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, + 98, 3, 98, 1619, 8, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, + 1, 100, 1, 100, 1, 100, 3, 100, 1631, 8, 100, 1, 100, 1, 100, 1, 101, 1, + 101, 1, 101, 3, 101, 1638, 8, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, + 1, 102, 1, 103, 1, 103, 1, 103, 3, 103, 1649, 8, 103, 1, 103, 1, 103, 1, + 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, + 106, 1, 106, 3, 106, 1664, 8, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, + 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 5, 108, 1676, 8, 108, 10, 108, + 12, 108, 1679, 9, 108, 1, 108, 3, 108, 1682, 8, 108, 1, 109, 1, 109, 1, + 110, 1, 110, 1, 110, 1, 110, 5, 110, 1690, 8, 110, 10, 110, 12, 110, 1693, + 9, 110, 1, 110, 3, 110, 1696, 8, 110, 3, 110, 1698, 8, 110, 1, 110, 1, + 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 3, 112, 1708, 8, 112, + 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 3, 113, 1717, 8, + 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 3, 114, 1724, 8, 114, 1, 114, + 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 5, 115, 1732, 8, 115, 10, 115, + 12, 115, 1735, 9, 115, 1, 115, 3, 115, 1738, 8, 115, 3, 115, 1740, 8, 115, + 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, + 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 1757, 8, 116, 1, + 117, 1, 117, 1, 117, 3, 117, 1762, 8, 117, 1, 117, 1, 117, 1, 118, 1, 118, + 1, 118, 3, 118, 1769, 8, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, + 119, 3, 119, 1777, 8, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120, + 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 3, 121, 1790, 8, 121, 1, 121, 1, + 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, + 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, + 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 3, + 125, 1820, 8, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 3, 126, 1827, + 8, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, + 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, + 1, 128, 1, 128, 1, 128, 1, 128, 3, 128, 1850, 8, 128, 1, 129, 1, 129, 1, + 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, + 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 3, 131, 1869, 8, 131, 1, 132, + 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, + 1, 133, 1, 133, 3, 133, 2072, 8, 133, 1, 133, 0, 0, 134, 0, 2, 4, 6, 8, + 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, + 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, + 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, + 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, + 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, + 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, + 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, + 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, + 264, 266, 0, 8, 1, 0, 2, 3, 1, 0, 157, 158, 1, 0, 7, 8, 1, 0, 13, 29, 1, + 0, 17, 18, 1, 0, 19, 20, 1, 0, 22, 23, 1, 0, 212, 213, 2478, 0, 271, 1, + 0, 0, 0, 2, 316, 1, 0, 0, 0, 4, 322, 1, 0, 0, 0, 6, 810, 1, 0, 0, 0, 8, + 812, 1, 0, 0, 0, 10, 825, 1, 0, 0, 0, 12, 829, 1, 0, 0, 0, 14, 865, 1, + 0, 0, 0, 16, 891, 1, 0, 0, 0, 18, 895, 1, 0, 0, 0, 20, 899, 1, 0, 0, 0, + 22, 908, 1, 0, 0, 0, 24, 961, 1, 0, 0, 0, 26, 963, 1, 0, 0, 0, 28, 1002, + 1, 0, 0, 0, 30, 1004, 1, 0, 0, 0, 32, 1076, 1, 0, 0, 0, 34, 1090, 1, 0, + 0, 0, 36, 1112, 1, 0, 0, 0, 38, 1166, 1, 0, 0, 0, 40, 1203, 1, 0, 0, 0, + 42, 1205, 1, 0, 0, 0, 44, 1212, 1, 0, 0, 0, 46, 1219, 1, 0, 0, 0, 48, 1226, + 1, 0, 0, 0, 50, 1233, 1, 0, 0, 0, 52, 1238, 1, 0, 0, 0, 54, 1245, 1, 0, + 0, 0, 56, 1249, 1, 0, 0, 0, 58, 1254, 1, 0, 0, 0, 60, 1259, 1, 0, 0, 0, + 62, 1264, 1, 0, 0, 0, 64, 1269, 1, 0, 0, 0, 66, 1274, 1, 0, 0, 0, 68, 1279, + 1, 0, 0, 0, 70, 1284, 1, 0, 0, 0, 72, 1289, 1, 0, 0, 0, 74, 1294, 1, 0, + 0, 0, 76, 1299, 1, 0, 0, 0, 78, 1304, 1, 0, 0, 0, 80, 1309, 1, 0, 0, 0, + 82, 1314, 1, 0, 0, 0, 84, 1321, 1, 0, 0, 0, 86, 1328, 1, 0, 0, 0, 88, 1333, + 1, 0, 0, 0, 90, 1340, 1, 0, 0, 0, 92, 1344, 1, 0, 0, 0, 94, 1348, 1, 0, + 0, 0, 96, 1352, 1, 0, 0, 0, 98, 1356, 1, 0, 0, 0, 100, 1360, 1, 0, 0, 0, + 102, 1367, 1, 0, 0, 0, 104, 1374, 1, 0, 0, 0, 106, 1381, 1, 0, 0, 0, 108, + 1386, 1, 0, 0, 0, 110, 1393, 1, 0, 0, 0, 112, 1398, 1, 0, 0, 0, 114, 1403, + 1, 0, 0, 0, 116, 1408, 1, 0, 0, 0, 118, 1413, 1, 0, 0, 0, 120, 1418, 1, + 0, 0, 0, 122, 1425, 1, 0, 0, 0, 124, 1430, 1, 0, 0, 0, 126, 1435, 1, 0, + 0, 0, 128, 1442, 1, 0, 0, 0, 130, 1447, 1, 0, 0, 0, 132, 1452, 1, 0, 0, + 0, 134, 1456, 1, 0, 0, 0, 136, 1460, 1, 0, 0, 0, 138, 1464, 1, 0, 0, 0, + 140, 1469, 1, 0, 0, 0, 142, 1474, 1, 0, 0, 0, 144, 1479, 1, 0, 0, 0, 146, + 1484, 1, 0, 0, 0, 148, 1491, 1, 0, 0, 0, 150, 1496, 1, 0, 0, 0, 152, 1501, + 1, 0, 0, 0, 154, 1505, 1, 0, 0, 0, 156, 1512, 1, 0, 0, 0, 158, 1517, 1, + 0, 0, 0, 160, 1521, 1, 0, 0, 0, 162, 1528, 1, 0, 0, 0, 164, 1535, 1, 0, + 0, 0, 166, 1542, 1, 0, 0, 0, 168, 1547, 1, 0, 0, 0, 170, 1551, 1, 0, 0, + 0, 172, 1558, 1, 0, 0, 0, 174, 1562, 1, 0, 0, 0, 176, 1566, 1, 0, 0, 0, + 178, 1570, 1, 0, 0, 0, 180, 1575, 1, 0, 0, 0, 182, 1582, 1, 0, 0, 0, 184, + 1587, 1, 0, 0, 0, 186, 1592, 1, 0, 0, 0, 188, 1599, 1, 0, 0, 0, 190, 1603, + 1, 0, 0, 0, 192, 1607, 1, 0, 0, 0, 194, 1611, 1, 0, 0, 0, 196, 1615, 1, + 0, 0, 0, 198, 1622, 1, 0, 0, 0, 200, 1627, 1, 0, 0, 0, 202, 1634, 1, 0, + 0, 0, 204, 1641, 1, 0, 0, 0, 206, 1645, 1, 0, 0, 0, 208, 1652, 1, 0, 0, + 0, 210, 1656, 1, 0, 0, 0, 212, 1660, 1, 0, 0, 0, 214, 1667, 1, 0, 0, 0, + 216, 1672, 1, 0, 0, 0, 218, 1683, 1, 0, 0, 0, 220, 1685, 1, 0, 0, 0, 222, + 1701, 1, 0, 0, 0, 224, 1707, 1, 0, 0, 0, 226, 1716, 1, 0, 0, 0, 228, 1718, + 1, 0, 0, 0, 230, 1727, 1, 0, 0, 0, 232, 1756, 1, 0, 0, 0, 234, 1758, 1, + 0, 0, 0, 236, 1765, 1, 0, 0, 0, 238, 1772, 1, 0, 0, 0, 240, 1780, 1, 0, + 0, 0, 242, 1785, 1, 0, 0, 0, 244, 1793, 1, 0, 0, 0, 246, 1798, 1, 0, 0, + 0, 248, 1803, 1, 0, 0, 0, 250, 1819, 1, 0, 0, 0, 252, 1821, 1, 0, 0, 0, + 254, 1830, 1, 0, 0, 0, 256, 1849, 1, 0, 0, 0, 258, 1851, 1, 0, 0, 0, 260, + 1856, 1, 0, 0, 0, 262, 1868, 1, 0, 0, 0, 264, 1870, 1, 0, 0, 0, 266, 2071, + 1, 0, 0, 0, 268, 270, 3, 2, 1, 0, 269, 268, 1, 0, 0, 0, 270, 273, 1, 0, + 0, 0, 271, 269, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 274, 1, 0, 0, 0, + 273, 271, 1, 0, 0, 0, 274, 275, 5, 0, 0, 1, 275, 1, 1, 0, 0, 0, 276, 278, + 3, 4, 2, 0, 277, 279, 5, 206, 0, 0, 278, 277, 1, 0, 0, 0, 278, 279, 1, + 0, 0, 0, 279, 317, 1, 0, 0, 0, 280, 282, 3, 6, 3, 0, 281, 283, 5, 206, + 0, 0, 282, 281, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 317, 1, 0, 0, 0, + 284, 286, 3, 8, 4, 0, 285, 287, 5, 206, 0, 0, 286, 285, 1, 0, 0, 0, 286, + 287, 1, 0, 0, 0, 287, 317, 1, 0, 0, 0, 288, 290, 3, 16, 8, 0, 289, 291, + 5, 206, 0, 0, 290, 289, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 317, 1, + 0, 0, 0, 292, 294, 3, 20, 10, 0, 293, 295, 5, 206, 0, 0, 294, 293, 1, 0, + 0, 0, 294, 295, 1, 0, 0, 0, 295, 317, 1, 0, 0, 0, 296, 298, 3, 22, 11, + 0, 297, 299, 5, 206, 0, 0, 298, 297, 1, 0, 0, 0, 298, 299, 1, 0, 0, 0, + 299, 317, 1, 0, 0, 0, 300, 302, 3, 24, 12, 0, 301, 303, 5, 206, 0, 0, 302, + 301, 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303, 317, 1, 0, 0, 0, 304, 306, + 3, 26, 13, 0, 305, 307, 5, 206, 0, 0, 306, 305, 1, 0, 0, 0, 306, 307, 1, + 0, 0, 0, 307, 317, 1, 0, 0, 0, 308, 310, 3, 28, 14, 0, 309, 311, 5, 206, + 0, 0, 310, 309, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 317, 1, 0, 0, 0, + 312, 314, 3, 30, 15, 0, 313, 315, 5, 206, 0, 0, 314, 313, 1, 0, 0, 0, 314, + 315, 1, 0, 0, 0, 315, 317, 1, 0, 0, 0, 316, 276, 1, 0, 0, 0, 316, 280, + 1, 0, 0, 0, 316, 284, 1, 0, 0, 0, 316, 288, 1, 0, 0, 0, 316, 292, 1, 0, + 0, 0, 316, 296, 1, 0, 0, 0, 316, 300, 1, 0, 0, 0, 316, 304, 1, 0, 0, 0, + 316, 308, 1, 0, 0, 0, 316, 312, 1, 0, 0, 0, 317, 3, 1, 0, 0, 0, 318, 319, + 5, 1, 0, 0, 319, 323, 7, 0, 0, 0, 320, 321, 5, 1, 0, 0, 321, 323, 5, 4, + 0, 0, 322, 318, 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 323, 5, 1, 0, 0, 0, 324, + 325, 5, 5, 0, 0, 325, 326, 5, 205, 0, 0, 326, 327, 5, 11, 0, 0, 327, 328, + 5, 197, 0, 0, 328, 330, 5, 198, 0, 0, 329, 331, 3, 36, 18, 0, 330, 329, + 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 811, 1, 0, 0, 0, 332, 333, 5, 5, + 0, 0, 333, 334, 5, 205, 0, 0, 334, 335, 5, 12, 0, 0, 335, 337, 5, 197, + 0, 0, 336, 338, 3, 216, 108, 0, 337, 336, 1, 0, 0, 0, 337, 338, 1, 0, 0, + 0, 338, 339, 1, 0, 0, 0, 339, 341, 5, 198, 0, 0, 340, 342, 3, 36, 18, 0, + 341, 340, 1, 0, 0, 0, 341, 342, 1, 0, 0, 0, 342, 811, 1, 0, 0, 0, 343, + 344, 5, 5, 0, 0, 344, 345, 5, 205, 0, 0, 345, 346, 5, 77, 0, 0, 346, 347, + 5, 197, 0, 0, 347, 348, 3, 216, 108, 0, 348, 349, 5, 198, 0, 0, 349, 811, + 1, 0, 0, 0, 350, 351, 5, 5, 0, 0, 351, 352, 5, 205, 0, 0, 352, 353, 5, + 78, 0, 0, 353, 354, 5, 197, 0, 0, 354, 811, 5, 198, 0, 0, 355, 356, 5, + 5, 0, 0, 356, 357, 5, 205, 0, 0, 357, 358, 5, 53, 0, 0, 358, 360, 5, 197, + 0, 0, 359, 361, 3, 218, 109, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, + 0, 361, 362, 1, 0, 0, 0, 362, 811, 5, 198, 0, 0, 363, 364, 5, 5, 0, 0, + 364, 365, 5, 205, 0, 0, 365, 366, 5, 82, 0, 0, 366, 368, 5, 197, 0, 0, + 367, 369, 3, 218, 109, 0, 368, 367, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, + 370, 1, 0, 0, 0, 370, 811, 5, 198, 0, 0, 371, 372, 5, 5, 0, 0, 372, 373, + 5, 205, 0, 0, 373, 374, 5, 81, 0, 0, 374, 375, 5, 197, 0, 0, 375, 811, + 5, 198, 0, 0, 376, 377, 5, 5, 0, 0, 377, 378, 5, 205, 0, 0, 378, 379, 5, + 83, 0, 0, 379, 380, 5, 197, 0, 0, 380, 811, 5, 198, 0, 0, 381, 382, 5, + 5, 0, 0, 382, 383, 5, 205, 0, 0, 383, 384, 5, 79, 0, 0, 384, 385, 5, 197, + 0, 0, 385, 811, 5, 198, 0, 0, 386, 387, 5, 5, 0, 0, 387, 388, 5, 205, 0, + 0, 388, 389, 5, 80, 0, 0, 389, 390, 5, 197, 0, 0, 390, 811, 5, 198, 0, + 0, 391, 392, 5, 5, 0, 0, 392, 393, 5, 205, 0, 0, 393, 394, 5, 84, 0, 0, + 394, 395, 5, 197, 0, 0, 395, 396, 3, 216, 108, 0, 396, 397, 5, 198, 0, + 0, 397, 811, 1, 0, 0, 0, 398, 399, 5, 5, 0, 0, 399, 400, 5, 205, 0, 0, + 400, 401, 5, 85, 0, 0, 401, 402, 5, 197, 0, 0, 402, 403, 3, 216, 108, 0, + 403, 404, 5, 198, 0, 0, 404, 811, 1, 0, 0, 0, 405, 406, 5, 5, 0, 0, 406, + 407, 5, 205, 0, 0, 407, 408, 5, 86, 0, 0, 408, 409, 5, 197, 0, 0, 409, + 811, 5, 198, 0, 0, 410, 411, 5, 5, 0, 0, 411, 412, 5, 205, 0, 0, 412, 413, + 5, 87, 0, 0, 413, 414, 5, 197, 0, 0, 414, 811, 5, 198, 0, 0, 415, 416, + 5, 5, 0, 0, 416, 417, 5, 205, 0, 0, 417, 418, 5, 88, 0, 0, 418, 419, 5, + 197, 0, 0, 419, 420, 3, 218, 109, 0, 420, 421, 5, 198, 0, 0, 421, 811, + 1, 0, 0, 0, 422, 423, 5, 5, 0, 0, 423, 424, 5, 205, 0, 0, 424, 425, 5, + 35, 0, 0, 425, 427, 5, 197, 0, 0, 426, 428, 3, 216, 108, 0, 427, 426, 1, + 0, 0, 0, 427, 428, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 811, 5, 198, + 0, 0, 430, 431, 5, 5, 0, 0, 431, 432, 5, 205, 0, 0, 432, 433, 5, 89, 0, + 0, 433, 435, 5, 197, 0, 0, 434, 436, 3, 216, 108, 0, 435, 434, 1, 0, 0, + 0, 435, 436, 1, 0, 0, 0, 436, 437, 1, 0, 0, 0, 437, 811, 5, 198, 0, 0, + 438, 439, 5, 5, 0, 0, 439, 440, 5, 205, 0, 0, 440, 441, 5, 90, 0, 0, 441, + 443, 5, 197, 0, 0, 442, 444, 3, 216, 108, 0, 443, 442, 1, 0, 0, 0, 443, + 444, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 811, 5, 198, 0, 0, 446, 447, + 5, 5, 0, 0, 447, 448, 5, 205, 0, 0, 448, 449, 5, 91, 0, 0, 449, 451, 5, + 197, 0, 0, 450, 452, 3, 216, 108, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, + 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 811, 5, 198, 0, 0, 454, 455, 5, 5, + 0, 0, 455, 456, 5, 205, 0, 0, 456, 457, 5, 92, 0, 0, 457, 459, 5, 197, + 0, 0, 458, 460, 3, 216, 108, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, 0, 0, + 0, 460, 461, 1, 0, 0, 0, 461, 811, 5, 198, 0, 0, 462, 463, 5, 5, 0, 0, + 463, 464, 5, 205, 0, 0, 464, 465, 5, 93, 0, 0, 465, 467, 5, 197, 0, 0, + 466, 468, 3, 216, 108, 0, 467, 466, 1, 0, 0, 0, 467, 468, 1, 0, 0, 0, 468, + 469, 1, 0, 0, 0, 469, 811, 5, 198, 0, 0, 470, 471, 5, 5, 0, 0, 471, 472, + 5, 205, 0, 0, 472, 473, 5, 94, 0, 0, 473, 475, 5, 197, 0, 0, 474, 476, + 3, 216, 108, 0, 475, 474, 1, 0, 0, 0, 475, 476, 1, 0, 0, 0, 476, 477, 1, + 0, 0, 0, 477, 811, 5, 198, 0, 0, 478, 479, 5, 5, 0, 0, 479, 480, 5, 205, + 0, 0, 480, 481, 5, 95, 0, 0, 481, 483, 5, 197, 0, 0, 482, 484, 3, 216, + 108, 0, 483, 482, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 485, 1, 0, 0, + 0, 485, 811, 5, 198, 0, 0, 486, 487, 5, 5, 0, 0, 487, 488, 5, 205, 0, 0, + 488, 489, 5, 96, 0, 0, 489, 491, 5, 197, 0, 0, 490, 492, 3, 216, 108, 0, + 491, 490, 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, + 811, 5, 198, 0, 0, 494, 495, 5, 5, 0, 0, 495, 496, 5, 205, 0, 0, 496, 497, + 5, 97, 0, 0, 497, 499, 5, 197, 0, 0, 498, 500, 3, 216, 108, 0, 499, 498, + 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 811, 5, 198, + 0, 0, 502, 503, 5, 5, 0, 0, 503, 504, 5, 205, 0, 0, 504, 505, 5, 98, 0, + 0, 505, 507, 5, 197, 0, 0, 506, 508, 3, 216, 108, 0, 507, 506, 1, 0, 0, + 0, 507, 508, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 811, 5, 198, 0, 0, + 510, 511, 5, 5, 0, 0, 511, 512, 5, 205, 0, 0, 512, 513, 5, 99, 0, 0, 513, + 515, 5, 197, 0, 0, 514, 516, 3, 216, 108, 0, 515, 514, 1, 0, 0, 0, 515, + 516, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 811, 5, 198, 0, 0, 518, 519, + 5, 5, 0, 0, 519, 520, 5, 205, 0, 0, 520, 521, 5, 100, 0, 0, 521, 523, 5, + 197, 0, 0, 522, 524, 3, 216, 108, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, + 0, 0, 0, 524, 525, 1, 0, 0, 0, 525, 811, 5, 198, 0, 0, 526, 527, 5, 5, + 0, 0, 527, 528, 5, 205, 0, 0, 528, 529, 5, 101, 0, 0, 529, 531, 5, 197, + 0, 0, 530, 532, 3, 216, 108, 0, 531, 530, 1, 0, 0, 0, 531, 532, 1, 0, 0, + 0, 532, 533, 1, 0, 0, 0, 533, 811, 5, 198, 0, 0, 534, 535, 5, 5, 0, 0, + 535, 536, 5, 205, 0, 0, 536, 537, 5, 102, 0, 0, 537, 539, 5, 197, 0, 0, + 538, 540, 3, 216, 108, 0, 539, 538, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, + 541, 1, 0, 0, 0, 541, 811, 5, 198, 0, 0, 542, 543, 5, 5, 0, 0, 543, 544, + 5, 205, 0, 0, 544, 545, 5, 103, 0, 0, 545, 547, 5, 197, 0, 0, 546, 548, + 3, 216, 108, 0, 547, 546, 1, 0, 0, 0, 547, 548, 1, 0, 0, 0, 548, 549, 1, + 0, 0, 0, 549, 811, 5, 198, 0, 0, 550, 551, 5, 5, 0, 0, 551, 552, 5, 205, + 0, 0, 552, 553, 5, 104, 0, 0, 553, 555, 5, 197, 0, 0, 554, 556, 3, 216, + 108, 0, 555, 554, 1, 0, 0, 0, 555, 556, 1, 0, 0, 0, 556, 557, 1, 0, 0, + 0, 557, 811, 5, 198, 0, 0, 558, 559, 5, 5, 0, 0, 559, 560, 5, 205, 0, 0, + 560, 561, 5, 105, 0, 0, 561, 563, 5, 197, 0, 0, 562, 564, 3, 216, 108, + 0, 563, 562, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 565, 1, 0, 0, 0, 565, + 811, 5, 198, 0, 0, 566, 567, 5, 5, 0, 0, 567, 568, 5, 205, 0, 0, 568, 569, + 5, 106, 0, 0, 569, 571, 5, 197, 0, 0, 570, 572, 3, 216, 108, 0, 571, 570, + 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 811, 5, 198, + 0, 0, 574, 575, 5, 5, 0, 0, 575, 576, 5, 205, 0, 0, 576, 577, 5, 107, 0, + 0, 577, 579, 5, 197, 0, 0, 578, 580, 3, 216, 108, 0, 579, 578, 1, 0, 0, + 0, 579, 580, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581, 811, 5, 198, 0, 0, + 582, 583, 5, 5, 0, 0, 583, 584, 5, 205, 0, 0, 584, 585, 5, 108, 0, 0, 585, + 587, 5, 197, 0, 0, 586, 588, 3, 216, 108, 0, 587, 586, 1, 0, 0, 0, 587, + 588, 1, 0, 0, 0, 588, 589, 1, 0, 0, 0, 589, 811, 5, 198, 0, 0, 590, 591, + 5, 5, 0, 0, 591, 592, 5, 205, 0, 0, 592, 593, 5, 109, 0, 0, 593, 595, 5, + 197, 0, 0, 594, 596, 3, 216, 108, 0, 595, 594, 1, 0, 0, 0, 595, 596, 1, + 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 811, 5, 198, 0, 0, 598, 599, 5, 5, + 0, 0, 599, 600, 5, 205, 0, 0, 600, 601, 5, 110, 0, 0, 601, 603, 5, 197, + 0, 0, 602, 604, 3, 216, 108, 0, 603, 602, 1, 0, 0, 0, 603, 604, 1, 0, 0, + 0, 604, 605, 1, 0, 0, 0, 605, 811, 5, 198, 0, 0, 606, 607, 5, 5, 0, 0, + 607, 608, 5, 205, 0, 0, 608, 609, 5, 111, 0, 0, 609, 611, 5, 197, 0, 0, + 610, 612, 3, 216, 108, 0, 611, 610, 1, 0, 0, 0, 611, 612, 1, 0, 0, 0, 612, + 613, 1, 0, 0, 0, 613, 811, 5, 198, 0, 0, 614, 615, 5, 5, 0, 0, 615, 616, + 5, 205, 0, 0, 616, 617, 5, 112, 0, 0, 617, 619, 5, 197, 0, 0, 618, 620, + 3, 216, 108, 0, 619, 618, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, 1, + 0, 0, 0, 621, 811, 5, 198, 0, 0, 622, 623, 5, 5, 0, 0, 623, 624, 5, 205, + 0, 0, 624, 625, 5, 113, 0, 0, 625, 627, 5, 197, 0, 0, 626, 628, 3, 216, + 108, 0, 627, 626, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 1, 0, 0, + 0, 629, 811, 5, 198, 0, 0, 630, 631, 5, 5, 0, 0, 631, 632, 5, 205, 0, 0, + 632, 633, 5, 114, 0, 0, 633, 635, 5, 197, 0, 0, 634, 636, 3, 216, 108, + 0, 635, 634, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, 1, 0, 0, 0, 637, + 811, 5, 198, 0, 0, 638, 639, 5, 5, 0, 0, 639, 640, 5, 205, 0, 0, 640, 641, + 5, 115, 0, 0, 641, 643, 5, 197, 0, 0, 642, 644, 3, 216, 108, 0, 643, 642, + 1, 0, 0, 0, 643, 644, 1, 0, 0, 0, 644, 645, 1, 0, 0, 0, 645, 811, 5, 198, + 0, 0, 646, 647, 5, 5, 0, 0, 647, 648, 5, 205, 0, 0, 648, 649, 5, 116, 0, + 0, 649, 651, 5, 197, 0, 0, 650, 652, 3, 216, 108, 0, 651, 650, 1, 0, 0, + 0, 651, 652, 1, 0, 0, 0, 652, 653, 1, 0, 0, 0, 653, 811, 5, 198, 0, 0, + 654, 655, 5, 5, 0, 0, 655, 656, 5, 205, 0, 0, 656, 657, 5, 117, 0, 0, 657, + 659, 5, 197, 0, 0, 658, 660, 3, 216, 108, 0, 659, 658, 1, 0, 0, 0, 659, + 660, 1, 0, 0, 0, 660, 661, 1, 0, 0, 0, 661, 811, 5, 198, 0, 0, 662, 663, + 5, 5, 0, 0, 663, 664, 5, 205, 0, 0, 664, 665, 5, 118, 0, 0, 665, 667, 5, + 197, 0, 0, 666, 668, 3, 216, 108, 0, 667, 666, 1, 0, 0, 0, 667, 668, 1, + 0, 0, 0, 668, 669, 1, 0, 0, 0, 669, 811, 5, 198, 0, 0, 670, 671, 5, 5, + 0, 0, 671, 672, 5, 205, 0, 0, 672, 673, 5, 119, 0, 0, 673, 675, 5, 197, + 0, 0, 674, 676, 3, 216, 108, 0, 675, 674, 1, 0, 0, 0, 675, 676, 1, 0, 0, + 0, 676, 677, 1, 0, 0, 0, 677, 811, 5, 198, 0, 0, 678, 679, 5, 5, 0, 0, + 679, 680, 5, 205, 0, 0, 680, 681, 5, 120, 0, 0, 681, 683, 5, 197, 0, 0, + 682, 684, 3, 216, 108, 0, 683, 682, 1, 0, 0, 0, 683, 684, 1, 0, 0, 0, 684, + 685, 1, 0, 0, 0, 685, 811, 5, 198, 0, 0, 686, 687, 5, 5, 0, 0, 687, 688, + 5, 205, 0, 0, 688, 689, 5, 121, 0, 0, 689, 691, 5, 197, 0, 0, 690, 692, + 3, 216, 108, 0, 691, 690, 1, 0, 0, 0, 691, 692, 1, 0, 0, 0, 692, 693, 1, + 0, 0, 0, 693, 811, 5, 198, 0, 0, 694, 695, 5, 5, 0, 0, 695, 696, 5, 205, + 0, 0, 696, 697, 5, 122, 0, 0, 697, 699, 5, 197, 0, 0, 698, 700, 3, 216, + 108, 0, 699, 698, 1, 0, 0, 0, 699, 700, 1, 0, 0, 0, 700, 701, 1, 0, 0, + 0, 701, 811, 5, 198, 0, 0, 702, 703, 5, 5, 0, 0, 703, 704, 5, 205, 0, 0, + 704, 705, 5, 123, 0, 0, 705, 707, 5, 197, 0, 0, 706, 708, 3, 216, 108, + 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 709, 1, 0, 0, 0, 709, + 811, 5, 198, 0, 0, 710, 711, 5, 5, 0, 0, 711, 712, 5, 205, 0, 0, 712, 713, + 5, 124, 0, 0, 713, 715, 5, 197, 0, 0, 714, 716, 3, 216, 108, 0, 715, 714, + 1, 0, 0, 0, 715, 716, 1, 0, 0, 0, 716, 717, 1, 0, 0, 0, 717, 811, 5, 198, + 0, 0, 718, 719, 5, 5, 0, 0, 719, 720, 5, 205, 0, 0, 720, 721, 5, 125, 0, + 0, 721, 723, 5, 197, 0, 0, 722, 724, 3, 216, 108, 0, 723, 722, 1, 0, 0, + 0, 723, 724, 1, 0, 0, 0, 724, 725, 1, 0, 0, 0, 725, 811, 5, 198, 0, 0, + 726, 727, 5, 5, 0, 0, 727, 728, 5, 205, 0, 0, 728, 729, 5, 126, 0, 0, 729, + 731, 5, 197, 0, 0, 730, 732, 3, 216, 108, 0, 731, 730, 1, 0, 0, 0, 731, + 732, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 811, 5, 198, 0, 0, 734, 735, + 5, 5, 0, 0, 735, 736, 5, 205, 0, 0, 736, 737, 5, 127, 0, 0, 737, 739, 5, + 197, 0, 0, 738, 740, 3, 216, 108, 0, 739, 738, 1, 0, 0, 0, 739, 740, 1, + 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 811, 5, 198, 0, 0, 742, 743, 5, 5, + 0, 0, 743, 744, 5, 205, 0, 0, 744, 745, 5, 128, 0, 0, 745, 747, 5, 197, + 0, 0, 746, 748, 3, 216, 108, 0, 747, 746, 1, 0, 0, 0, 747, 748, 1, 0, 0, + 0, 748, 749, 1, 0, 0, 0, 749, 811, 5, 198, 0, 0, 750, 751, 5, 5, 0, 0, + 751, 752, 5, 205, 0, 0, 752, 753, 5, 129, 0, 0, 753, 755, 5, 197, 0, 0, + 754, 756, 3, 216, 108, 0, 755, 754, 1, 0, 0, 0, 755, 756, 1, 0, 0, 0, 756, + 757, 1, 0, 0, 0, 757, 811, 5, 198, 0, 0, 758, 759, 5, 5, 0, 0, 759, 760, + 5, 205, 0, 0, 760, 761, 5, 130, 0, 0, 761, 763, 5, 197, 0, 0, 762, 764, + 3, 216, 108, 0, 763, 762, 1, 0, 0, 0, 763, 764, 1, 0, 0, 0, 764, 765, 1, + 0, 0, 0, 765, 811, 5, 198, 0, 0, 766, 767, 5, 5, 0, 0, 767, 768, 5, 205, + 0, 0, 768, 769, 5, 147, 0, 0, 769, 771, 5, 197, 0, 0, 770, 772, 3, 216, + 108, 0, 771, 770, 1, 0, 0, 0, 771, 772, 1, 0, 0, 0, 772, 773, 1, 0, 0, + 0, 773, 811, 5, 198, 0, 0, 774, 775, 5, 5, 0, 0, 775, 776, 5, 205, 0, 0, + 776, 777, 5, 131, 0, 0, 777, 779, 5, 197, 0, 0, 778, 780, 3, 216, 108, + 0, 779, 778, 1, 0, 0, 0, 779, 780, 1, 0, 0, 0, 780, 781, 1, 0, 0, 0, 781, + 811, 5, 198, 0, 0, 782, 783, 5, 5, 0, 0, 783, 784, 5, 205, 0, 0, 784, 785, + 5, 132, 0, 0, 785, 787, 5, 197, 0, 0, 786, 788, 3, 216, 108, 0, 787, 786, + 1, 0, 0, 0, 787, 788, 1, 0, 0, 0, 788, 789, 1, 0, 0, 0, 789, 811, 5, 198, + 0, 0, 790, 791, 5, 5, 0, 0, 791, 792, 5, 205, 0, 0, 792, 793, 5, 133, 0, + 0, 793, 795, 5, 197, 0, 0, 794, 796, 3, 216, 108, 0, 795, 794, 1, 0, 0, + 0, 795, 796, 1, 0, 0, 0, 796, 797, 1, 0, 0, 0, 797, 811, 5, 198, 0, 0, + 798, 799, 5, 5, 0, 0, 799, 800, 5, 205, 0, 0, 800, 801, 5, 149, 0, 0, 801, + 803, 5, 197, 0, 0, 802, 804, 3, 216, 108, 0, 803, 802, 1, 0, 0, 0, 803, + 804, 1, 0, 0, 0, 804, 805, 1, 0, 0, 0, 805, 811, 5, 198, 0, 0, 806, 807, + 5, 5, 0, 0, 807, 808, 3, 34, 17, 0, 808, 809, 3, 36, 18, 0, 809, 811, 1, + 0, 0, 0, 810, 324, 1, 0, 0, 0, 810, 332, 1, 0, 0, 0, 810, 343, 1, 0, 0, + 0, 810, 350, 1, 0, 0, 0, 810, 355, 1, 0, 0, 0, 810, 363, 1, 0, 0, 0, 810, + 371, 1, 0, 0, 0, 810, 376, 1, 0, 0, 0, 810, 381, 1, 0, 0, 0, 810, 386, + 1, 0, 0, 0, 810, 391, 1, 0, 0, 0, 810, 398, 1, 0, 0, 0, 810, 405, 1, 0, + 0, 0, 810, 410, 1, 0, 0, 0, 810, 415, 1, 0, 0, 0, 810, 422, 1, 0, 0, 0, + 810, 430, 1, 0, 0, 0, 810, 438, 1, 0, 0, 0, 810, 446, 1, 0, 0, 0, 810, + 454, 1, 0, 0, 0, 810, 462, 1, 0, 0, 0, 810, 470, 1, 0, 0, 0, 810, 478, + 1, 0, 0, 0, 810, 486, 1, 0, 0, 0, 810, 494, 1, 0, 0, 0, 810, 502, 1, 0, + 0, 0, 810, 510, 1, 0, 0, 0, 810, 518, 1, 0, 0, 0, 810, 526, 1, 0, 0, 0, + 810, 534, 1, 0, 0, 0, 810, 542, 1, 0, 0, 0, 810, 550, 1, 0, 0, 0, 810, + 558, 1, 0, 0, 0, 810, 566, 1, 0, 0, 0, 810, 574, 1, 0, 0, 0, 810, 582, + 1, 0, 0, 0, 810, 590, 1, 0, 0, 0, 810, 598, 1, 0, 0, 0, 810, 606, 1, 0, + 0, 0, 810, 614, 1, 0, 0, 0, 810, 622, 1, 0, 0, 0, 810, 630, 1, 0, 0, 0, + 810, 638, 1, 0, 0, 0, 810, 646, 1, 0, 0, 0, 810, 654, 1, 0, 0, 0, 810, + 662, 1, 0, 0, 0, 810, 670, 1, 0, 0, 0, 810, 678, 1, 0, 0, 0, 810, 686, + 1, 0, 0, 0, 810, 694, 1, 0, 0, 0, 810, 702, 1, 0, 0, 0, 810, 710, 1, 0, + 0, 0, 810, 718, 1, 0, 0, 0, 810, 726, 1, 0, 0, 0, 810, 734, 1, 0, 0, 0, + 810, 742, 1, 0, 0, 0, 810, 750, 1, 0, 0, 0, 810, 758, 1, 0, 0, 0, 810, + 766, 1, 0, 0, 0, 810, 774, 1, 0, 0, 0, 810, 782, 1, 0, 0, 0, 810, 790, + 1, 0, 0, 0, 810, 798, 1, 0, 0, 0, 810, 806, 1, 0, 0, 0, 811, 7, 1, 0, 0, + 0, 812, 813, 5, 5, 0, 0, 813, 814, 3, 34, 17, 0, 814, 815, 5, 205, 0, 0, + 815, 817, 3, 10, 5, 0, 816, 818, 3, 12, 6, 0, 817, 816, 1, 0, 0, 0, 817, + 818, 1, 0, 0, 0, 818, 9, 1, 0, 0, 0, 819, 820, 5, 160, 0, 0, 820, 821, + 5, 197, 0, 0, 821, 826, 5, 198, 0, 0, 822, 823, 5, 161, 0, 0, 823, 824, + 5, 197, 0, 0, 824, 826, 5, 198, 0, 0, 825, 819, 1, 0, 0, 0, 825, 822, 1, + 0, 0, 0, 826, 11, 1, 0, 0, 0, 827, 828, 5, 205, 0, 0, 828, 830, 3, 14, + 7, 0, 829, 827, 1, 0, 0, 0, 830, 831, 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, + 831, 832, 1, 0, 0, 0, 832, 13, 1, 0, 0, 0, 833, 834, 5, 30, 0, 0, 834, + 835, 5, 197, 0, 0, 835, 836, 3, 218, 109, 0, 836, 837, 5, 198, 0, 0, 837, + 866, 1, 0, 0, 0, 838, 839, 5, 165, 0, 0, 839, 840, 5, 197, 0, 0, 840, 841, + 3, 218, 109, 0, 841, 842, 5, 198, 0, 0, 842, 866, 1, 0, 0, 0, 843, 844, + 5, 166, 0, 0, 844, 845, 5, 197, 0, 0, 845, 866, 5, 198, 0, 0, 846, 847, + 5, 162, 0, 0, 847, 849, 5, 197, 0, 0, 848, 850, 3, 218, 109, 0, 849, 848, + 1, 0, 0, 0, 849, 850, 1, 0, 0, 0, 850, 851, 1, 0, 0, 0, 851, 866, 5, 198, + 0, 0, 852, 853, 5, 163, 0, 0, 853, 854, 5, 197, 0, 0, 854, 866, 5, 198, + 0, 0, 855, 856, 5, 164, 0, 0, 856, 857, 5, 197, 0, 0, 857, 866, 5, 198, + 0, 0, 858, 859, 3, 266, 133, 0, 859, 861, 5, 197, 0, 0, 860, 862, 3, 216, + 108, 0, 861, 860, 1, 0, 0, 0, 861, 862, 1, 0, 0, 0, 862, 863, 1, 0, 0, + 0, 863, 864, 5, 198, 0, 0, 864, 866, 1, 0, 0, 0, 865, 833, 1, 0, 0, 0, + 865, 838, 1, 0, 0, 0, 865, 843, 1, 0, 0, 0, 865, 846, 1, 0, 0, 0, 865, + 852, 1, 0, 0, 0, 865, 855, 1, 0, 0, 0, 865, 858, 1, 0, 0, 0, 866, 15, 1, + 0, 0, 0, 867, 868, 5, 134, 0, 0, 868, 870, 5, 197, 0, 0, 869, 871, 3, 216, + 108, 0, 870, 869, 1, 0, 0, 0, 870, 871, 1, 0, 0, 0, 871, 872, 1, 0, 0, + 0, 872, 874, 5, 198, 0, 0, 873, 875, 3, 18, 9, 0, 874, 873, 1, 0, 0, 0, + 874, 875, 1, 0, 0, 0, 875, 892, 1, 0, 0, 0, 876, 877, 5, 135, 0, 0, 877, + 879, 5, 197, 0, 0, 878, 880, 3, 216, 108, 0, 879, 878, 1, 0, 0, 0, 879, + 880, 1, 0, 0, 0, 880, 881, 1, 0, 0, 0, 881, 883, 5, 198, 0, 0, 882, 884, + 3, 18, 9, 0, 883, 882, 1, 0, 0, 0, 883, 884, 1, 0, 0, 0, 884, 892, 1, 0, + 0, 0, 885, 886, 5, 5, 0, 0, 886, 887, 5, 205, 0, 0, 887, 888, 5, 87, 0, + 0, 888, 889, 5, 197, 0, 0, 889, 890, 5, 198, 0, 0, 890, 892, 3, 18, 9, + 0, 891, 867, 1, 0, 0, 0, 891, 876, 1, 0, 0, 0, 891, 885, 1, 0, 0, 0, 892, + 17, 1, 0, 0, 0, 893, 894, 5, 205, 0, 0, 894, 896, 3, 32, 16, 0, 895, 893, + 1, 0, 0, 0, 896, 897, 1, 0, 0, 0, 897, 895, 1, 0, 0, 0, 897, 898, 1, 0, + 0, 0, 898, 19, 1, 0, 0, 0, 899, 900, 5, 136, 0, 0, 900, 901, 5, 205, 0, + 0, 901, 902, 3, 266, 133, 0, 902, 904, 5, 197, 0, 0, 903, 905, 3, 216, + 108, 0, 904, 903, 1, 0, 0, 0, 904, 905, 1, 0, 0, 0, 905, 906, 1, 0, 0, + 0, 906, 907, 5, 198, 0, 0, 907, 21, 1, 0, 0, 0, 908, 909, 5, 137, 0, 0, + 909, 910, 5, 205, 0, 0, 910, 911, 3, 266, 133, 0, 911, 913, 5, 197, 0, + 0, 912, 914, 3, 216, 108, 0, 913, 912, 1, 0, 0, 0, 913, 914, 1, 0, 0, 0, + 914, 915, 1, 0, 0, 0, 915, 916, 5, 198, 0, 0, 916, 23, 1, 0, 0, 0, 917, + 918, 5, 5, 0, 0, 918, 919, 5, 205, 0, 0, 919, 920, 5, 87, 0, 0, 920, 921, + 5, 197, 0, 0, 921, 922, 5, 198, 0, 0, 922, 923, 5, 205, 0, 0, 923, 924, + 5, 151, 0, 0, 924, 925, 5, 197, 0, 0, 925, 936, 5, 198, 0, 0, 926, 927, + 5, 205, 0, 0, 927, 928, 3, 266, 133, 0, 928, 930, 5, 197, 0, 0, 929, 931, + 3, 216, 108, 0, 930, 929, 1, 0, 0, 0, 930, 931, 1, 0, 0, 0, 931, 932, 1, + 0, 0, 0, 932, 933, 5, 198, 0, 0, 933, 935, 1, 0, 0, 0, 934, 926, 1, 0, + 0, 0, 935, 938, 1, 0, 0, 0, 936, 934, 1, 0, 0, 0, 936, 937, 1, 0, 0, 0, + 937, 962, 1, 0, 0, 0, 938, 936, 1, 0, 0, 0, 939, 940, 5, 5, 0, 0, 940, + 941, 5, 205, 0, 0, 941, 942, 5, 87, 0, 0, 942, 943, 5, 197, 0, 0, 943, + 944, 5, 198, 0, 0, 944, 945, 5, 205, 0, 0, 945, 946, 5, 152, 0, 0, 946, + 947, 5, 197, 0, 0, 947, 958, 5, 198, 0, 0, 948, 949, 5, 205, 0, 0, 949, + 950, 3, 266, 133, 0, 950, 952, 5, 197, 0, 0, 951, 953, 3, 216, 108, 0, + 952, 951, 1, 0, 0, 0, 952, 953, 1, 0, 0, 0, 953, 954, 1, 0, 0, 0, 954, + 955, 5, 198, 0, 0, 955, 957, 1, 0, 0, 0, 956, 948, 1, 0, 0, 0, 957, 960, + 1, 0, 0, 0, 958, 956, 1, 0, 0, 0, 958, 959, 1, 0, 0, 0, 959, 962, 1, 0, + 0, 0, 960, 958, 1, 0, 0, 0, 961, 917, 1, 0, 0, 0, 961, 939, 1, 0, 0, 0, + 962, 25, 1, 0, 0, 0, 963, 964, 5, 5, 0, 0, 964, 965, 3, 34, 17, 0, 965, + 966, 5, 205, 0, 0, 966, 967, 5, 153, 0, 0, 967, 968, 5, 197, 0, 0, 968, + 979, 5, 198, 0, 0, 969, 970, 5, 205, 0, 0, 970, 971, 3, 266, 133, 0, 971, + 973, 5, 197, 0, 0, 972, 974, 3, 216, 108, 0, 973, 972, 1, 0, 0, 0, 973, + 974, 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 976, 5, 198, 0, 0, 976, 978, + 1, 0, 0, 0, 977, 969, 1, 0, 0, 0, 978, 981, 1, 0, 0, 0, 979, 977, 1, 0, + 0, 0, 979, 980, 1, 0, 0, 0, 980, 27, 1, 0, 0, 0, 981, 979, 1, 0, 0, 0, + 982, 983, 5, 138, 0, 0, 983, 984, 5, 205, 0, 0, 984, 985, 3, 266, 133, + 0, 985, 987, 5, 197, 0, 0, 986, 988, 3, 216, 108, 0, 987, 986, 1, 0, 0, + 0, 987, 988, 1, 0, 0, 0, 988, 989, 1, 0, 0, 0, 989, 990, 5, 198, 0, 0, + 990, 1003, 1, 0, 0, 0, 991, 992, 5, 138, 0, 0, 992, 993, 5, 205, 0, 0, + 993, 994, 3, 266, 133, 0, 994, 995, 5, 205, 0, 0, 995, 996, 3, 266, 133, + 0, 996, 998, 5, 197, 0, 0, 997, 999, 3, 216, 108, 0, 998, 997, 1, 0, 0, + 0, 998, 999, 1, 0, 0, 0, 999, 1000, 1, 0, 0, 0, 1000, 1001, 5, 198, 0, + 0, 1001, 1003, 1, 0, 0, 0, 1002, 982, 1, 0, 0, 0, 1002, 991, 1, 0, 0, 0, + 1003, 29, 1, 0, 0, 0, 1004, 1005, 3, 266, 133, 0, 1005, 1007, 5, 197, 0, + 0, 1006, 1008, 3, 216, 108, 0, 1007, 1006, 1, 0, 0, 0, 1007, 1008, 1, 0, + 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 1010, 5, 198, 0, 0, 1010, 31, 1, 0, + 0, 0, 1011, 1012, 5, 139, 0, 0, 1012, 1013, 5, 197, 0, 0, 1013, 1014, 3, + 218, 109, 0, 1014, 1015, 5, 198, 0, 0, 1015, 1077, 1, 0, 0, 0, 1016, 1017, + 5, 140, 0, 0, 1017, 1018, 5, 197, 0, 0, 1018, 1077, 5, 198, 0, 0, 1019, + 1020, 5, 141, 0, 0, 1020, 1021, 5, 197, 0, 0, 1021, 1077, 5, 198, 0, 0, + 1022, 1023, 5, 142, 0, 0, 1023, 1024, 5, 197, 0, 0, 1024, 1077, 5, 198, + 0, 0, 1025, 1026, 5, 143, 0, 0, 1026, 1027, 5, 197, 0, 0, 1027, 1077, 5, + 198, 0, 0, 1028, 1029, 5, 144, 0, 0, 1029, 1030, 5, 197, 0, 0, 1030, 1077, + 5, 198, 0, 0, 1031, 1032, 5, 145, 0, 0, 1032, 1033, 5, 197, 0, 0, 1033, + 1034, 3, 216, 108, 0, 1034, 1035, 5, 198, 0, 0, 1035, 1077, 1, 0, 0, 0, + 1036, 1037, 5, 146, 0, 0, 1037, 1038, 5, 197, 0, 0, 1038, 1039, 3, 218, + 109, 0, 1039, 1040, 5, 198, 0, 0, 1040, 1077, 1, 0, 0, 0, 1041, 1042, 5, + 147, 0, 0, 1042, 1043, 5, 197, 0, 0, 1043, 1044, 3, 218, 109, 0, 1044, + 1045, 5, 198, 0, 0, 1045, 1077, 1, 0, 0, 0, 1046, 1047, 5, 148, 0, 0, 1047, + 1049, 5, 197, 0, 0, 1048, 1050, 3, 218, 109, 0, 1049, 1048, 1, 0, 0, 0, + 1049, 1050, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1077, 5, 198, 0, + 0, 1052, 1053, 5, 149, 0, 0, 1053, 1055, 5, 197, 0, 0, 1054, 1056, 3, 216, + 108, 0, 1055, 1054, 1, 0, 0, 0, 1055, 1056, 1, 0, 0, 0, 1056, 1057, 1, + 0, 0, 0, 1057, 1077, 5, 198, 0, 0, 1058, 1059, 5, 168, 0, 0, 1059, 1060, + 5, 197, 0, 0, 1060, 1077, 5, 198, 0, 0, 1061, 1062, 5, 85, 0, 0, 1062, + 1063, 5, 197, 0, 0, 1063, 1064, 3, 216, 108, 0, 1064, 1065, 5, 198, 0, + 0, 1065, 1077, 1, 0, 0, 0, 1066, 1067, 5, 150, 0, 0, 1067, 1068, 5, 197, + 0, 0, 1068, 1077, 5, 198, 0, 0, 1069, 1070, 3, 266, 133, 0, 1070, 1072, + 5, 197, 0, 0, 1071, 1073, 3, 216, 108, 0, 1072, 1071, 1, 0, 0, 0, 1072, + 1073, 1, 0, 0, 0, 1073, 1074, 1, 0, 0, 0, 1074, 1075, 5, 198, 0, 0, 1075, + 1077, 1, 0, 0, 0, 1076, 1011, 1, 0, 0, 0, 1076, 1016, 1, 0, 0, 0, 1076, + 1019, 1, 0, 0, 0, 1076, 1022, 1, 0, 0, 0, 1076, 1025, 1, 0, 0, 0, 1076, + 1028, 1, 0, 0, 0, 1076, 1031, 1, 0, 0, 0, 1076, 1036, 1, 0, 0, 0, 1076, + 1041, 1, 0, 0, 0, 1076, 1046, 1, 0, 0, 0, 1076, 1052, 1, 0, 0, 0, 1076, + 1058, 1, 0, 0, 0, 1076, 1061, 1, 0, 0, 0, 1076, 1066, 1, 0, 0, 0, 1076, + 1069, 1, 0, 0, 0, 1077, 33, 1, 0, 0, 0, 1078, 1079, 5, 205, 0, 0, 1079, + 1091, 3, 266, 133, 0, 1080, 1081, 5, 201, 0, 0, 1081, 1082, 3, 264, 132, + 0, 1082, 1083, 5, 202, 0, 0, 1083, 1091, 1, 0, 0, 0, 1084, 1085, 5, 205, + 0, 0, 1085, 1086, 5, 10, 0, 0, 1086, 1087, 5, 197, 0, 0, 1087, 1088, 3, + 264, 132, 0, 1088, 1089, 5, 198, 0, 0, 1089, 1091, 1, 0, 0, 0, 1090, 1078, + 1, 0, 0, 0, 1090, 1080, 1, 0, 0, 0, 1090, 1084, 1, 0, 0, 0, 1091, 35, 1, + 0, 0, 0, 1092, 1093, 5, 205, 0, 0, 1093, 1094, 3, 120, 60, 0, 1094, 1095, + 5, 205, 0, 0, 1095, 1100, 3, 38, 19, 0, 1096, 1097, 5, 205, 0, 0, 1097, + 1099, 3, 40, 20, 0, 1098, 1096, 1, 0, 0, 0, 1099, 1102, 1, 0, 0, 0, 1100, + 1098, 1, 0, 0, 0, 1100, 1101, 1, 0, 0, 0, 1101, 1113, 1, 0, 0, 0, 1102, + 1100, 1, 0, 0, 0, 1103, 1104, 5, 205, 0, 0, 1104, 1109, 3, 38, 19, 0, 1105, + 1106, 5, 205, 0, 0, 1106, 1108, 3, 40, 20, 0, 1107, 1105, 1, 0, 0, 0, 1108, + 1111, 1, 0, 0, 0, 1109, 1107, 1, 0, 0, 0, 1109, 1110, 1, 0, 0, 0, 1110, + 1113, 1, 0, 0, 0, 1111, 1109, 1, 0, 0, 0, 1112, 1092, 1, 0, 0, 0, 1112, + 1103, 1, 0, 0, 0, 1113, 37, 1, 0, 0, 0, 1114, 1167, 3, 42, 21, 0, 1115, + 1167, 3, 44, 22, 0, 1116, 1167, 3, 46, 23, 0, 1117, 1167, 3, 48, 24, 0, + 1118, 1167, 3, 50, 25, 0, 1119, 1167, 3, 52, 26, 0, 1120, 1167, 3, 54, + 27, 0, 1121, 1167, 3, 56, 28, 0, 1122, 1167, 3, 58, 29, 0, 1123, 1167, + 3, 60, 30, 0, 1124, 1167, 3, 62, 31, 0, 1125, 1167, 3, 64, 32, 0, 1126, + 1167, 3, 66, 33, 0, 1127, 1167, 3, 68, 34, 0, 1128, 1167, 3, 70, 35, 0, + 1129, 1167, 3, 72, 36, 0, 1130, 1167, 3, 74, 37, 0, 1131, 1167, 3, 76, + 38, 0, 1132, 1167, 3, 78, 39, 0, 1133, 1167, 3, 80, 40, 0, 1134, 1167, + 3, 82, 41, 0, 1135, 1167, 3, 84, 42, 0, 1136, 1167, 3, 86, 43, 0, 1137, + 1167, 3, 88, 44, 0, 1138, 1167, 3, 90, 45, 0, 1139, 1167, 3, 92, 46, 0, + 1140, 1167, 3, 94, 47, 0, 1141, 1167, 3, 96, 48, 0, 1142, 1167, 3, 98, + 49, 0, 1143, 1167, 3, 100, 50, 0, 1144, 1167, 3, 102, 51, 0, 1145, 1167, + 3, 104, 52, 0, 1146, 1167, 3, 106, 53, 0, 1147, 1167, 3, 108, 54, 0, 1148, + 1167, 3, 110, 55, 0, 1149, 1167, 3, 112, 56, 0, 1150, 1167, 3, 114, 57, + 0, 1151, 1167, 3, 116, 58, 0, 1152, 1167, 3, 118, 59, 0, 1153, 1167, 3, + 120, 60, 0, 1154, 1167, 3, 122, 61, 0, 1155, 1167, 3, 124, 62, 0, 1156, + 1167, 3, 126, 63, 0, 1157, 1167, 3, 128, 64, 0, 1158, 1167, 3, 130, 65, + 0, 1159, 1167, 3, 132, 66, 0, 1160, 1167, 3, 134, 67, 0, 1161, 1167, 3, + 136, 68, 0, 1162, 1167, 3, 138, 69, 0, 1163, 1167, 3, 140, 70, 0, 1164, + 1167, 3, 142, 71, 0, 1165, 1167, 3, 144, 72, 0, 1166, 1114, 1, 0, 0, 0, + 1166, 1115, 1, 0, 0, 0, 1166, 1116, 1, 0, 0, 0, 1166, 1117, 1, 0, 0, 0, + 1166, 1118, 1, 0, 0, 0, 1166, 1119, 1, 0, 0, 0, 1166, 1120, 1, 0, 0, 0, + 1166, 1121, 1, 0, 0, 0, 1166, 1122, 1, 0, 0, 0, 1166, 1123, 1, 0, 0, 0, + 1166, 1124, 1, 0, 0, 0, 1166, 1125, 1, 0, 0, 0, 1166, 1126, 1, 0, 0, 0, + 1166, 1127, 1, 0, 0, 0, 1166, 1128, 1, 0, 0, 0, 1166, 1129, 1, 0, 0, 0, + 1166, 1130, 1, 0, 0, 0, 1166, 1131, 1, 0, 0, 0, 1166, 1132, 1, 0, 0, 0, + 1166, 1133, 1, 0, 0, 0, 1166, 1134, 1, 0, 0, 0, 1166, 1135, 1, 0, 0, 0, + 1166, 1136, 1, 0, 0, 0, 1166, 1137, 1, 0, 0, 0, 1166, 1138, 1, 0, 0, 0, + 1166, 1139, 1, 0, 0, 0, 1166, 1140, 1, 0, 0, 0, 1166, 1141, 1, 0, 0, 0, + 1166, 1142, 1, 0, 0, 0, 1166, 1143, 1, 0, 0, 0, 1166, 1144, 1, 0, 0, 0, + 1166, 1145, 1, 0, 0, 0, 1166, 1146, 1, 0, 0, 0, 1166, 1147, 1, 0, 0, 0, + 1166, 1148, 1, 0, 0, 0, 1166, 1149, 1, 0, 0, 0, 1166, 1150, 1, 0, 0, 0, + 1166, 1151, 1, 0, 0, 0, 1166, 1152, 1, 0, 0, 0, 1166, 1153, 1, 0, 0, 0, + 1166, 1154, 1, 0, 0, 0, 1166, 1155, 1, 0, 0, 0, 1166, 1156, 1, 0, 0, 0, + 1166, 1157, 1, 0, 0, 0, 1166, 1158, 1, 0, 0, 0, 1166, 1159, 1, 0, 0, 0, + 1166, 1160, 1, 0, 0, 0, 1166, 1161, 1, 0, 0, 0, 1166, 1162, 1, 0, 0, 0, + 1166, 1163, 1, 0, 0, 0, 1166, 1164, 1, 0, 0, 0, 1166, 1165, 1, 0, 0, 0, + 1167, 39, 1, 0, 0, 0, 1168, 1204, 3, 146, 73, 0, 1169, 1204, 3, 148, 74, + 0, 1170, 1204, 3, 150, 75, 0, 1171, 1204, 3, 152, 76, 0, 1172, 1204, 3, + 154, 77, 0, 1173, 1204, 3, 156, 78, 0, 1174, 1204, 3, 158, 79, 0, 1175, + 1204, 3, 160, 80, 0, 1176, 1204, 3, 162, 81, 0, 1177, 1204, 3, 164, 82, + 0, 1178, 1204, 3, 166, 83, 0, 1179, 1204, 3, 168, 84, 0, 1180, 1204, 3, + 170, 85, 0, 1181, 1204, 3, 172, 86, 0, 1182, 1204, 3, 174, 87, 0, 1183, + 1204, 3, 176, 88, 0, 1184, 1204, 3, 178, 89, 0, 1185, 1204, 3, 180, 90, + 0, 1186, 1204, 3, 182, 91, 0, 1187, 1204, 3, 184, 92, 0, 1188, 1204, 3, + 186, 93, 0, 1189, 1204, 3, 188, 94, 0, 1190, 1204, 3, 190, 95, 0, 1191, + 1204, 3, 192, 96, 0, 1192, 1204, 3, 194, 97, 0, 1193, 1204, 3, 196, 98, + 0, 1194, 1204, 3, 198, 99, 0, 1195, 1204, 3, 200, 100, 0, 1196, 1204, 3, + 202, 101, 0, 1197, 1204, 3, 204, 102, 0, 1198, 1204, 3, 206, 103, 0, 1199, + 1204, 3, 208, 104, 0, 1200, 1204, 3, 210, 105, 0, 1201, 1204, 3, 212, 106, + 0, 1202, 1204, 3, 214, 107, 0, 1203, 1168, 1, 0, 0, 0, 1203, 1169, 1, 0, + 0, 0, 1203, 1170, 1, 0, 0, 0, 1203, 1171, 1, 0, 0, 0, 1203, 1172, 1, 0, + 0, 0, 1203, 1173, 1, 0, 0, 0, 1203, 1174, 1, 0, 0, 0, 1203, 1175, 1, 0, + 0, 0, 1203, 1176, 1, 0, 0, 0, 1203, 1177, 1, 0, 0, 0, 1203, 1178, 1, 0, + 0, 0, 1203, 1179, 1, 0, 0, 0, 1203, 1180, 1, 0, 0, 0, 1203, 1181, 1, 0, + 0, 0, 1203, 1182, 1, 0, 0, 0, 1203, 1183, 1, 0, 0, 0, 1203, 1184, 1, 0, + 0, 0, 1203, 1185, 1, 0, 0, 0, 1203, 1186, 1, 0, 0, 0, 1203, 1187, 1, 0, + 0, 0, 1203, 1188, 1, 0, 0, 0, 1203, 1189, 1, 0, 0, 0, 1203, 1190, 1, 0, + 0, 0, 1203, 1191, 1, 0, 0, 0, 1203, 1192, 1, 0, 0, 0, 1203, 1193, 1, 0, + 0, 0, 1203, 1194, 1, 0, 0, 0, 1203, 1195, 1, 0, 0, 0, 1203, 1196, 1, 0, + 0, 0, 1203, 1197, 1, 0, 0, 0, 1203, 1198, 1, 0, 0, 0, 1203, 1199, 1, 0, + 0, 0, 1203, 1200, 1, 0, 0, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, 0, + 0, 0, 1204, 41, 1, 0, 0, 0, 1205, 1206, 5, 30, 0, 0, 1206, 1208, 5, 197, + 0, 0, 1207, 1209, 3, 216, 108, 0, 1208, 1207, 1, 0, 0, 0, 1208, 1209, 1, + 0, 0, 0, 1209, 1210, 1, 0, 0, 0, 1210, 1211, 5, 198, 0, 0, 1211, 43, 1, + 0, 0, 0, 1212, 1213, 5, 31, 0, 0, 1213, 1215, 5, 197, 0, 0, 1214, 1216, + 3, 216, 108, 0, 1215, 1214, 1, 0, 0, 0, 1215, 1216, 1, 0, 0, 0, 1216, 1217, + 1, 0, 0, 0, 1217, 1218, 5, 198, 0, 0, 1218, 45, 1, 0, 0, 0, 1219, 1220, + 5, 32, 0, 0, 1220, 1222, 5, 197, 0, 0, 1221, 1223, 3, 216, 108, 0, 1222, + 1221, 1, 0, 0, 0, 1222, 1223, 1, 0, 0, 0, 1223, 1224, 1, 0, 0, 0, 1224, + 1225, 5, 198, 0, 0, 1225, 47, 1, 0, 0, 0, 1226, 1227, 5, 33, 0, 0, 1227, + 1229, 5, 197, 0, 0, 1228, 1230, 3, 218, 109, 0, 1229, 1228, 1, 0, 0, 0, + 1229, 1230, 1, 0, 0, 0, 1230, 1231, 1, 0, 0, 0, 1231, 1232, 5, 198, 0, + 0, 1232, 49, 1, 0, 0, 0, 1233, 1234, 5, 34, 0, 0, 1234, 1235, 5, 197, 0, + 0, 1235, 1236, 3, 216, 108, 0, 1236, 1237, 5, 198, 0, 0, 1237, 51, 1, 0, + 0, 0, 1238, 1239, 5, 35, 0, 0, 1239, 1241, 5, 197, 0, 0, 1240, 1242, 3, + 216, 108, 0, 1241, 1240, 1, 0, 0, 0, 1241, 1242, 1, 0, 0, 0, 1242, 1243, + 1, 0, 0, 0, 1243, 1244, 5, 198, 0, 0, 1244, 53, 1, 0, 0, 0, 1245, 1246, + 5, 36, 0, 0, 1246, 1247, 5, 197, 0, 0, 1247, 1248, 5, 198, 0, 0, 1248, + 55, 1, 0, 0, 0, 1249, 1250, 5, 37, 0, 0, 1250, 1251, 5, 197, 0, 0, 1251, + 1252, 3, 216, 108, 0, 1252, 1253, 5, 198, 0, 0, 1253, 57, 1, 0, 0, 0, 1254, + 1255, 5, 38, 0, 0, 1255, 1256, 5, 197, 0, 0, 1256, 1257, 3, 216, 108, 0, + 1257, 1258, 5, 198, 0, 0, 1258, 59, 1, 0, 0, 0, 1259, 1260, 5, 39, 0, 0, + 1260, 1261, 5, 197, 0, 0, 1261, 1262, 3, 216, 108, 0, 1262, 1263, 5, 198, + 0, 0, 1263, 61, 1, 0, 0, 0, 1264, 1265, 5, 40, 0, 0, 1265, 1266, 5, 197, + 0, 0, 1266, 1267, 3, 216, 108, 0, 1267, 1268, 5, 198, 0, 0, 1268, 63, 1, + 0, 0, 0, 1269, 1270, 5, 41, 0, 0, 1270, 1271, 5, 197, 0, 0, 1271, 1272, + 3, 216, 108, 0, 1272, 1273, 5, 198, 0, 0, 1273, 65, 1, 0, 0, 0, 1274, 1275, + 5, 42, 0, 0, 1275, 1276, 5, 197, 0, 0, 1276, 1277, 3, 216, 108, 0, 1277, + 1278, 5, 198, 0, 0, 1278, 67, 1, 0, 0, 0, 1279, 1280, 5, 43, 0, 0, 1280, + 1281, 5, 197, 0, 0, 1281, 1282, 3, 216, 108, 0, 1282, 1283, 5, 198, 0, + 0, 1283, 69, 1, 0, 0, 0, 1284, 1285, 5, 44, 0, 0, 1285, 1286, 5, 197, 0, + 0, 1286, 1287, 3, 216, 108, 0, 1287, 1288, 5, 198, 0, 0, 1288, 71, 1, 0, + 0, 0, 1289, 1290, 5, 45, 0, 0, 1290, 1291, 5, 197, 0, 0, 1291, 1292, 3, + 216, 108, 0, 1292, 1293, 5, 198, 0, 0, 1293, 73, 1, 0, 0, 0, 1294, 1295, + 5, 46, 0, 0, 1295, 1296, 5, 197, 0, 0, 1296, 1297, 3, 216, 108, 0, 1297, + 1298, 5, 198, 0, 0, 1298, 75, 1, 0, 0, 0, 1299, 1300, 5, 47, 0, 0, 1300, + 1301, 5, 197, 0, 0, 1301, 1302, 3, 216, 108, 0, 1302, 1303, 5, 198, 0, + 0, 1303, 77, 1, 0, 0, 0, 1304, 1305, 5, 48, 0, 0, 1305, 1306, 5, 197, 0, + 0, 1306, 1307, 3, 216, 108, 0, 1307, 1308, 5, 198, 0, 0, 1308, 79, 1, 0, + 0, 0, 1309, 1310, 5, 49, 0, 0, 1310, 1311, 5, 197, 0, 0, 1311, 1312, 3, + 218, 109, 0, 1312, 1313, 5, 198, 0, 0, 1313, 81, 1, 0, 0, 0, 1314, 1315, + 5, 50, 0, 0, 1315, 1317, 5, 197, 0, 0, 1316, 1318, 3, 218, 109, 0, 1317, + 1316, 1, 0, 0, 0, 1317, 1318, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, 1319, + 1320, 5, 198, 0, 0, 1320, 83, 1, 0, 0, 0, 1321, 1322, 5, 51, 0, 0, 1322, + 1324, 5, 197, 0, 0, 1323, 1325, 3, 218, 109, 0, 1324, 1323, 1, 0, 0, 0, + 1324, 1325, 1, 0, 0, 0, 1325, 1326, 1, 0, 0, 0, 1326, 1327, 5, 198, 0, + 0, 1327, 85, 1, 0, 0, 0, 1328, 1329, 5, 52, 0, 0, 1329, 1330, 5, 197, 0, + 0, 1330, 1331, 3, 216, 108, 0, 1331, 1332, 5, 198, 0, 0, 1332, 87, 1, 0, + 0, 0, 1333, 1334, 5, 53, 0, 0, 1334, 1336, 5, 197, 0, 0, 1335, 1337, 3, + 218, 109, 0, 1336, 1335, 1, 0, 0, 0, 1336, 1337, 1, 0, 0, 0, 1337, 1338, + 1, 0, 0, 0, 1338, 1339, 5, 198, 0, 0, 1339, 89, 1, 0, 0, 0, 1340, 1341, + 5, 54, 0, 0, 1341, 1342, 5, 197, 0, 0, 1342, 1343, 5, 198, 0, 0, 1343, + 91, 1, 0, 0, 0, 1344, 1345, 5, 55, 0, 0, 1345, 1346, 5, 197, 0, 0, 1346, + 1347, 5, 198, 0, 0, 1347, 93, 1, 0, 0, 0, 1348, 1349, 5, 56, 0, 0, 1349, + 1350, 5, 197, 0, 0, 1350, 1351, 5, 198, 0, 0, 1351, 95, 1, 0, 0, 0, 1352, + 1353, 5, 57, 0, 0, 1353, 1354, 5, 197, 0, 0, 1354, 1355, 5, 198, 0, 0, + 1355, 97, 1, 0, 0, 0, 1356, 1357, 5, 58, 0, 0, 1357, 1358, 5, 197, 0, 0, + 1358, 1359, 5, 198, 0, 0, 1359, 99, 1, 0, 0, 0, 1360, 1361, 5, 59, 0, 0, + 1361, 1363, 5, 197, 0, 0, 1362, 1364, 3, 218, 109, 0, 1363, 1362, 1, 0, + 0, 0, 1363, 1364, 1, 0, 0, 0, 1364, 1365, 1, 0, 0, 0, 1365, 1366, 5, 198, + 0, 0, 1366, 101, 1, 0, 0, 0, 1367, 1368, 5, 60, 0, 0, 1368, 1370, 5, 197, + 0, 0, 1369, 1371, 3, 218, 109, 0, 1370, 1369, 1, 0, 0, 0, 1370, 1371, 1, + 0, 0, 0, 1371, 1372, 1, 0, 0, 0, 1372, 1373, 5, 198, 0, 0, 1373, 103, 1, + 0, 0, 0, 1374, 1375, 5, 149, 0, 0, 1375, 1377, 5, 197, 0, 0, 1376, 1378, + 3, 216, 108, 0, 1377, 1376, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, 0, 1378, 1379, + 1, 0, 0, 0, 1379, 1380, 5, 198, 0, 0, 1380, 105, 1, 0, 0, 0, 1381, 1382, + 5, 61, 0, 0, 1382, 1383, 5, 197, 0, 0, 1383, 1384, 3, 216, 108, 0, 1384, + 1385, 5, 198, 0, 0, 1385, 107, 1, 0, 0, 0, 1386, 1387, 5, 159, 0, 0, 1387, + 1389, 5, 197, 0, 0, 1388, 1390, 3, 216, 108, 0, 1389, 1388, 1, 0, 0, 0, + 1389, 1390, 1, 0, 0, 0, 1390, 1391, 1, 0, 0, 0, 1391, 1392, 5, 198, 0, + 0, 1392, 109, 1, 0, 0, 0, 1393, 1394, 5, 165, 0, 0, 1394, 1395, 5, 197, + 0, 0, 1395, 1396, 3, 216, 108, 0, 1396, 1397, 5, 198, 0, 0, 1397, 111, + 1, 0, 0, 0, 1398, 1399, 5, 166, 0, 0, 1399, 1400, 5, 197, 0, 0, 1400, 1401, + 3, 216, 108, 0, 1401, 1402, 5, 198, 0, 0, 1402, 113, 1, 0, 0, 0, 1403, + 1404, 5, 62, 0, 0, 1404, 1405, 5, 197, 0, 0, 1405, 1406, 3, 216, 108, 0, + 1406, 1407, 5, 198, 0, 0, 1407, 115, 1, 0, 0, 0, 1408, 1409, 5, 63, 0, + 0, 1409, 1410, 5, 197, 0, 0, 1410, 1411, 3, 216, 108, 0, 1411, 1412, 5, + 198, 0, 0, 1412, 117, 1, 0, 0, 0, 1413, 1414, 5, 64, 0, 0, 1414, 1415, + 5, 197, 0, 0, 1415, 1416, 3, 216, 108, 0, 1416, 1417, 5, 198, 0, 0, 1417, + 119, 1, 0, 0, 0, 1418, 1419, 5, 171, 0, 0, 1419, 1421, 5, 197, 0, 0, 1420, + 1422, 3, 216, 108, 0, 1421, 1420, 1, 0, 0, 0, 1421, 1422, 1, 0, 0, 0, 1422, + 1423, 1, 0, 0, 0, 1423, 1424, 5, 198, 0, 0, 1424, 121, 1, 0, 0, 0, 1425, + 1426, 5, 65, 0, 0, 1426, 1427, 5, 197, 0, 0, 1427, 1428, 3, 216, 108, 0, + 1428, 1429, 5, 198, 0, 0, 1429, 123, 1, 0, 0, 0, 1430, 1431, 5, 66, 0, + 0, 1431, 1432, 5, 197, 0, 0, 1432, 1433, 3, 216, 108, 0, 1433, 1434, 5, + 198, 0, 0, 1434, 125, 1, 0, 0, 0, 1435, 1436, 5, 67, 0, 0, 1436, 1438, + 5, 197, 0, 0, 1437, 1439, 3, 216, 108, 0, 1438, 1437, 1, 0, 0, 0, 1438, + 1439, 1, 0, 0, 0, 1439, 1440, 1, 0, 0, 0, 1440, 1441, 5, 198, 0, 0, 1441, + 127, 1, 0, 0, 0, 1442, 1443, 5, 68, 0, 0, 1443, 1444, 5, 197, 0, 0, 1444, + 1445, 3, 218, 109, 0, 1445, 1446, 5, 198, 0, 0, 1446, 129, 1, 0, 0, 0, + 1447, 1448, 5, 69, 0, 0, 1448, 1449, 5, 197, 0, 0, 1449, 1450, 3, 218, + 109, 0, 1450, 1451, 5, 198, 0, 0, 1451, 131, 1, 0, 0, 0, 1452, 1453, 5, + 70, 0, 0, 1453, 1454, 5, 197, 0, 0, 1454, 1455, 5, 198, 0, 0, 1455, 133, + 1, 0, 0, 0, 1456, 1457, 5, 71, 0, 0, 1457, 1458, 5, 197, 0, 0, 1458, 1459, + 5, 198, 0, 0, 1459, 135, 1, 0, 0, 0, 1460, 1461, 5, 72, 0, 0, 1461, 1462, + 5, 197, 0, 0, 1462, 1463, 5, 198, 0, 0, 1463, 137, 1, 0, 0, 0, 1464, 1465, + 5, 73, 0, 0, 1465, 1466, 5, 197, 0, 0, 1466, 1467, 3, 216, 108, 0, 1467, + 1468, 5, 198, 0, 0, 1468, 139, 1, 0, 0, 0, 1469, 1470, 5, 74, 0, 0, 1470, + 1471, 5, 197, 0, 0, 1471, 1472, 3, 216, 108, 0, 1472, 1473, 5, 198, 0, + 0, 1473, 141, 1, 0, 0, 0, 1474, 1475, 5, 75, 0, 0, 1475, 1476, 5, 197, + 0, 0, 1476, 1477, 3, 218, 109, 0, 1477, 1478, 5, 198, 0, 0, 1478, 143, + 1, 0, 0, 0, 1479, 1480, 5, 76, 0, 0, 1480, 1481, 5, 197, 0, 0, 1481, 1482, + 3, 216, 108, 0, 1482, 1483, 5, 198, 0, 0, 1483, 145, 1, 0, 0, 0, 1484, + 1485, 5, 154, 0, 0, 1485, 1487, 5, 197, 0, 0, 1486, 1488, 3, 220, 110, + 0, 1487, 1486, 1, 0, 0, 0, 1487, 1488, 1, 0, 0, 0, 1488, 1489, 1, 0, 0, + 0, 1489, 1490, 5, 198, 0, 0, 1490, 147, 1, 0, 0, 0, 1491, 1492, 5, 155, + 0, 0, 1492, 1493, 5, 197, 0, 0, 1493, 1494, 5, 211, 0, 0, 1494, 1495, 5, + 198, 0, 0, 1495, 149, 1, 0, 0, 0, 1496, 1497, 5, 156, 0, 0, 1497, 1498, + 5, 197, 0, 0, 1498, 1499, 5, 211, 0, 0, 1499, 1500, 5, 198, 0, 0, 1500, + 151, 1, 0, 0, 0, 1501, 1502, 5, 159, 0, 0, 1502, 1503, 5, 197, 0, 0, 1503, + 1504, 5, 198, 0, 0, 1504, 153, 1, 0, 0, 0, 1505, 1506, 7, 1, 0, 0, 1506, + 1508, 5, 197, 0, 0, 1507, 1509, 3, 220, 110, 0, 1508, 1507, 1, 0, 0, 0, + 1508, 1509, 1, 0, 0, 0, 1509, 1510, 1, 0, 0, 0, 1510, 1511, 5, 198, 0, + 0, 1511, 155, 1, 0, 0, 0, 1512, 1513, 5, 167, 0, 0, 1513, 1514, 5, 197, + 0, 0, 1514, 1515, 5, 211, 0, 0, 1515, 1516, 5, 198, 0, 0, 1516, 157, 1, + 0, 0, 0, 1517, 1518, 5, 168, 0, 0, 1518, 1519, 5, 197, 0, 0, 1519, 1520, + 5, 198, 0, 0, 1520, 159, 1, 0, 0, 0, 1521, 1522, 5, 169, 0, 0, 1522, 1524, + 5, 197, 0, 0, 1523, 1525, 3, 220, 110, 0, 1524, 1523, 1, 0, 0, 0, 1524, + 1525, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 5, 198, 0, 0, 1527, + 161, 1, 0, 0, 0, 1528, 1529, 5, 170, 0, 0, 1529, 1531, 5, 197, 0, 0, 1530, + 1532, 3, 264, 132, 0, 1531, 1530, 1, 0, 0, 0, 1531, 1532, 1, 0, 0, 0, 1532, + 1533, 1, 0, 0, 0, 1533, 1534, 5, 198, 0, 0, 1534, 163, 1, 0, 0, 0, 1535, + 1536, 5, 171, 0, 0, 1536, 1538, 5, 197, 0, 0, 1537, 1539, 3, 264, 132, + 0, 1538, 1537, 1, 0, 0, 0, 1538, 1539, 1, 0, 0, 0, 1539, 1540, 1, 0, 0, + 0, 1540, 1541, 5, 198, 0, 0, 1541, 165, 1, 0, 0, 0, 1542, 1543, 5, 172, + 0, 0, 1543, 1544, 5, 197, 0, 0, 1544, 1545, 3, 218, 109, 0, 1545, 1546, + 5, 198, 0, 0, 1546, 167, 1, 0, 0, 0, 1547, 1548, 5, 173, 0, 0, 1548, 1549, + 5, 197, 0, 0, 1549, 1550, 5, 198, 0, 0, 1550, 169, 1, 0, 0, 0, 1551, 1552, + 5, 174, 0, 0, 1552, 1554, 5, 197, 0, 0, 1553, 1555, 3, 218, 109, 0, 1554, + 1553, 1, 0, 0, 0, 1554, 1555, 1, 0, 0, 0, 1555, 1556, 1, 0, 0, 0, 1556, + 1557, 5, 198, 0, 0, 1557, 171, 1, 0, 0, 0, 1558, 1559, 5, 175, 0, 0, 1559, + 1560, 5, 197, 0, 0, 1560, 1561, 5, 198, 0, 0, 1561, 173, 1, 0, 0, 0, 1562, + 1563, 5, 176, 0, 0, 1563, 1564, 5, 197, 0, 0, 1564, 1565, 5, 198, 0, 0, + 1565, 175, 1, 0, 0, 0, 1566, 1567, 5, 177, 0, 0, 1567, 1568, 5, 197, 0, + 0, 1568, 1569, 5, 198, 0, 0, 1569, 177, 1, 0, 0, 0, 1570, 1571, 5, 178, + 0, 0, 1571, 1572, 5, 197, 0, 0, 1572, 1573, 3, 218, 109, 0, 1573, 1574, + 5, 198, 0, 0, 1574, 179, 1, 0, 0, 0, 1575, 1576, 5, 179, 0, 0, 1576, 1578, + 5, 197, 0, 0, 1577, 1579, 3, 220, 110, 0, 1578, 1577, 1, 0, 0, 0, 1578, + 1579, 1, 0, 0, 0, 1579, 1580, 1, 0, 0, 0, 1580, 1581, 5, 198, 0, 0, 1581, + 181, 1, 0, 0, 0, 1582, 1583, 5, 180, 0, 0, 1583, 1584, 5, 197, 0, 0, 1584, + 1585, 5, 211, 0, 0, 1585, 1586, 5, 198, 0, 0, 1586, 183, 1, 0, 0, 0, 1587, + 1588, 5, 181, 0, 0, 1588, 1589, 5, 197, 0, 0, 1589, 1590, 5, 211, 0, 0, + 1590, 1591, 5, 198, 0, 0, 1591, 185, 1, 0, 0, 0, 1592, 1593, 5, 182, 0, + 0, 1593, 1595, 5, 197, 0, 0, 1594, 1596, 3, 220, 110, 0, 1595, 1594, 1, + 0, 0, 0, 1595, 1596, 1, 0, 0, 0, 1596, 1597, 1, 0, 0, 0, 1597, 1598, 5, + 198, 0, 0, 1598, 187, 1, 0, 0, 0, 1599, 1600, 5, 183, 0, 0, 1600, 1601, + 5, 197, 0, 0, 1601, 1602, 5, 198, 0, 0, 1602, 189, 1, 0, 0, 0, 1603, 1604, + 5, 184, 0, 0, 1604, 1605, 5, 197, 0, 0, 1605, 1606, 5, 198, 0, 0, 1606, + 191, 1, 0, 0, 0, 1607, 1608, 5, 185, 0, 0, 1608, 1609, 5, 197, 0, 0, 1609, + 1610, 5, 198, 0, 0, 1610, 193, 1, 0, 0, 0, 1611, 1612, 5, 186, 0, 0, 1612, + 1613, 5, 197, 0, 0, 1613, 1614, 5, 198, 0, 0, 1614, 195, 1, 0, 0, 0, 1615, + 1616, 5, 187, 0, 0, 1616, 1618, 5, 197, 0, 0, 1617, 1619, 3, 220, 110, + 0, 1618, 1617, 1, 0, 0, 0, 1618, 1619, 1, 0, 0, 0, 1619, 1620, 1, 0, 0, + 0, 1620, 1621, 5, 198, 0, 0, 1621, 197, 1, 0, 0, 0, 1622, 1623, 5, 188, + 0, 0, 1623, 1624, 5, 197, 0, 0, 1624, 1625, 3, 216, 108, 0, 1625, 1626, + 5, 198, 0, 0, 1626, 199, 1, 0, 0, 0, 1627, 1628, 5, 189, 0, 0, 1628, 1630, + 5, 197, 0, 0, 1629, 1631, 7, 2, 0, 0, 1630, 1629, 1, 0, 0, 0, 1630, 1631, + 1, 0, 0, 0, 1631, 1632, 1, 0, 0, 0, 1632, 1633, 5, 198, 0, 0, 1633, 201, + 1, 0, 0, 0, 1634, 1635, 5, 190, 0, 0, 1635, 1637, 5, 197, 0, 0, 1636, 1638, + 7, 2, 0, 0, 1637, 1636, 1, 0, 0, 0, 1637, 1638, 1, 0, 0, 0, 1638, 1639, + 1, 0, 0, 0, 1639, 1640, 5, 198, 0, 0, 1640, 203, 1, 0, 0, 0, 1641, 1642, + 5, 191, 0, 0, 1642, 1643, 5, 197, 0, 0, 1643, 1644, 5, 198, 0, 0, 1644, + 205, 1, 0, 0, 0, 1645, 1646, 5, 192, 0, 0, 1646, 1648, 5, 197, 0, 0, 1647, + 1649, 7, 2, 0, 0, 1648, 1647, 1, 0, 0, 0, 1648, 1649, 1, 0, 0, 0, 1649, + 1650, 1, 0, 0, 0, 1650, 1651, 5, 198, 0, 0, 1651, 207, 1, 0, 0, 0, 1652, + 1653, 5, 193, 0, 0, 1653, 1654, 5, 197, 0, 0, 1654, 1655, 5, 198, 0, 0, + 1655, 209, 1, 0, 0, 0, 1656, 1657, 5, 194, 0, 0, 1657, 1658, 5, 197, 0, + 0, 1658, 1659, 5, 198, 0, 0, 1659, 211, 1, 0, 0, 0, 1660, 1661, 5, 195, + 0, 0, 1661, 1663, 5, 197, 0, 0, 1662, 1664, 7, 2, 0, 0, 1663, 1662, 1, + 0, 0, 0, 1663, 1664, 1, 0, 0, 0, 1664, 1665, 1, 0, 0, 0, 1665, 1666, 5, + 198, 0, 0, 1666, 213, 1, 0, 0, 0, 1667, 1668, 5, 196, 0, 0, 1668, 1669, + 5, 197, 0, 0, 1669, 1670, 5, 211, 0, 0, 1670, 1671, 5, 198, 0, 0, 1671, + 215, 1, 0, 0, 0, 1672, 1677, 3, 218, 109, 0, 1673, 1674, 5, 204, 0, 0, + 1674, 1676, 3, 218, 109, 0, 1675, 1673, 1, 0, 0, 0, 1676, 1679, 1, 0, 0, + 0, 1677, 1675, 1, 0, 0, 0, 1677, 1678, 1, 0, 0, 0, 1678, 1681, 1, 0, 0, + 0, 1679, 1677, 1, 0, 0, 0, 1680, 1682, 5, 204, 0, 0, 1681, 1680, 1, 0, + 0, 0, 1681, 1682, 1, 0, 0, 0, 1682, 217, 1, 0, 0, 0, 1683, 1684, 3, 226, + 113, 0, 1684, 219, 1, 0, 0, 0, 1685, 1697, 5, 199, 0, 0, 1686, 1691, 3, + 222, 111, 0, 1687, 1688, 5, 204, 0, 0, 1688, 1690, 3, 222, 111, 0, 1689, + 1687, 1, 0, 0, 0, 1690, 1693, 1, 0, 0, 0, 1691, 1689, 1, 0, 0, 0, 1691, + 1692, 1, 0, 0, 0, 1692, 1695, 1, 0, 0, 0, 1693, 1691, 1, 0, 0, 0, 1694, + 1696, 5, 204, 0, 0, 1695, 1694, 1, 0, 0, 0, 1695, 1696, 1, 0, 0, 0, 1696, + 1698, 1, 0, 0, 0, 1697, 1686, 1, 0, 0, 0, 1697, 1698, 1, 0, 0, 0, 1698, + 1699, 1, 0, 0, 0, 1699, 1700, 5, 200, 0, 0, 1700, 221, 1, 0, 0, 0, 1701, + 1702, 3, 224, 112, 0, 1702, 1703, 5, 203, 0, 0, 1703, 1704, 3, 226, 113, + 0, 1704, 223, 1, 0, 0, 0, 1705, 1708, 3, 266, 133, 0, 1706, 1708, 3, 264, + 132, 0, 1707, 1705, 1, 0, 0, 0, 1707, 1706, 1, 0, 0, 0, 1708, 225, 1, 0, + 0, 0, 1709, 1717, 3, 220, 110, 0, 1710, 1717, 3, 230, 115, 0, 1711, 1717, + 3, 232, 116, 0, 1712, 1717, 5, 210, 0, 0, 1713, 1717, 3, 252, 126, 0, 1714, + 1717, 3, 262, 131, 0, 1715, 1717, 3, 228, 114, 0, 1716, 1709, 1, 0, 0, + 0, 1716, 1710, 1, 0, 0, 0, 1716, 1711, 1, 0, 0, 0, 1716, 1712, 1, 0, 0, + 0, 1716, 1713, 1, 0, 0, 0, 1716, 1714, 1, 0, 0, 0, 1716, 1715, 1, 0, 0, + 0, 1717, 227, 1, 0, 0, 0, 1718, 1719, 5, 6, 0, 0, 1719, 1720, 7, 3, 0, + 0, 1720, 1721, 6, 114, -1, 0, 1721, 1723, 5, 197, 0, 0, 1722, 1724, 3, + 216, 108, 0, 1723, 1722, 1, 0, 0, 0, 1723, 1724, 1, 0, 0, 0, 1724, 1725, + 1, 0, 0, 0, 1725, 1726, 5, 198, 0, 0, 1726, 229, 1, 0, 0, 0, 1727, 1739, + 5, 201, 0, 0, 1728, 1733, 3, 226, 113, 0, 1729, 1730, 5, 204, 0, 0, 1730, + 1732, 3, 226, 113, 0, 1731, 1729, 1, 0, 0, 0, 1732, 1735, 1, 0, 0, 0, 1733, + 1731, 1, 0, 0, 0, 1733, 1734, 1, 0, 0, 0, 1734, 1737, 1, 0, 0, 0, 1735, + 1733, 1, 0, 0, 0, 1736, 1738, 5, 204, 0, 0, 1737, 1736, 1, 0, 0, 0, 1737, + 1738, 1, 0, 0, 0, 1738, 1740, 1, 0, 0, 0, 1739, 1728, 1, 0, 0, 0, 1739, + 1740, 1, 0, 0, 0, 1740, 1741, 1, 0, 0, 0, 1741, 1742, 5, 202, 0, 0, 1742, + 231, 1, 0, 0, 0, 1743, 1757, 3, 234, 117, 0, 1744, 1757, 3, 236, 118, 0, + 1745, 1757, 3, 238, 119, 0, 1746, 1757, 3, 240, 120, 0, 1747, 1757, 3, + 242, 121, 0, 1748, 1757, 3, 244, 122, 0, 1749, 1757, 3, 246, 123, 0, 1750, + 1757, 3, 248, 124, 0, 1751, 1757, 3, 250, 125, 0, 1752, 1757, 3, 254, 127, + 0, 1753, 1757, 3, 256, 128, 0, 1754, 1757, 3, 258, 129, 0, 1755, 1757, + 3, 260, 130, 0, 1756, 1743, 1, 0, 0, 0, 1756, 1744, 1, 0, 0, 0, 1756, 1745, + 1, 0, 0, 0, 1756, 1746, 1, 0, 0, 0, 1756, 1747, 1, 0, 0, 0, 1756, 1748, + 1, 0, 0, 0, 1756, 1749, 1, 0, 0, 0, 1756, 1750, 1, 0, 0, 0, 1756, 1751, + 1, 0, 0, 0, 1756, 1752, 1, 0, 0, 0, 1756, 1753, 1, 0, 0, 0, 1756, 1754, + 1, 0, 0, 0, 1756, 1755, 1, 0, 0, 0, 1757, 233, 1, 0, 0, 0, 1758, 1759, + 5, 13, 0, 0, 1759, 1761, 5, 197, 0, 0, 1760, 1762, 3, 264, 132, 0, 1761, + 1760, 1, 0, 0, 0, 1761, 1762, 1, 0, 0, 0, 1762, 1763, 1, 0, 0, 0, 1763, + 1764, 5, 198, 0, 0, 1764, 235, 1, 0, 0, 0, 1765, 1766, 5, 14, 0, 0, 1766, + 1768, 5, 197, 0, 0, 1767, 1769, 3, 264, 132, 0, 1768, 1767, 1, 0, 0, 0, + 1768, 1769, 1, 0, 0, 0, 1769, 1770, 1, 0, 0, 0, 1770, 1771, 5, 198, 0, + 0, 1771, 237, 1, 0, 0, 0, 1772, 1773, 5, 15, 0, 0, 1773, 1776, 5, 197, + 0, 0, 1774, 1777, 3, 264, 132, 0, 1775, 1777, 5, 211, 0, 0, 1776, 1774, + 1, 0, 0, 0, 1776, 1775, 1, 0, 0, 0, 1776, 1777, 1, 0, 0, 0, 1777, 1778, + 1, 0, 0, 0, 1778, 1779, 5, 198, 0, 0, 1779, 239, 1, 0, 0, 0, 1780, 1781, + 5, 16, 0, 0, 1781, 1782, 5, 197, 0, 0, 1782, 1783, 3, 264, 132, 0, 1783, + 1784, 5, 198, 0, 0, 1784, 241, 1, 0, 0, 0, 1785, 1786, 7, 4, 0, 0, 1786, + 1789, 5, 197, 0, 0, 1787, 1790, 5, 211, 0, 0, 1788, 1790, 3, 264, 132, + 0, 1789, 1787, 1, 0, 0, 0, 1789, 1788, 1, 0, 0, 0, 1790, 1791, 1, 0, 0, + 0, 1791, 1792, 5, 198, 0, 0, 1792, 243, 1, 0, 0, 0, 1793, 1794, 7, 5, 0, + 0, 1794, 1795, 5, 197, 0, 0, 1795, 1796, 5, 211, 0, 0, 1796, 1797, 5, 198, + 0, 0, 1797, 245, 1, 0, 0, 0, 1798, 1799, 5, 21, 0, 0, 1799, 1800, 5, 197, + 0, 0, 1800, 1801, 5, 211, 0, 0, 1801, 1802, 5, 198, 0, 0, 1802, 247, 1, + 0, 0, 0, 1803, 1804, 7, 6, 0, 0, 1804, 1805, 5, 197, 0, 0, 1805, 1806, + 3, 264, 132, 0, 1806, 1807, 5, 198, 0, 0, 1807, 249, 1, 0, 0, 0, 1808, + 1809, 5, 24, 0, 0, 1809, 1810, 5, 197, 0, 0, 1810, 1811, 3, 220, 110, 0, + 1811, 1812, 5, 198, 0, 0, 1812, 1820, 1, 0, 0, 0, 1813, 1814, 5, 24, 0, + 0, 1814, 1815, 5, 197, 0, 0, 1815, 1816, 5, 211, 0, 0, 1816, 1817, 5, 204, + 0, 0, 1817, 1818, 5, 211, 0, 0, 1818, 1820, 5, 198, 0, 0, 1819, 1808, 1, + 0, 0, 0, 1819, 1813, 1, 0, 0, 0, 1820, 251, 1, 0, 0, 0, 1821, 1822, 5, + 25, 0, 0, 1822, 1823, 5, 197, 0, 0, 1823, 1826, 3, 264, 132, 0, 1824, 1825, + 5, 204, 0, 0, 1825, 1827, 3, 264, 132, 0, 1826, 1824, 1, 0, 0, 0, 1826, + 1827, 1, 0, 0, 0, 1827, 1828, 1, 0, 0, 0, 1828, 1829, 5, 198, 0, 0, 1829, + 253, 1, 0, 0, 0, 1830, 1831, 5, 26, 0, 0, 1831, 1832, 5, 197, 0, 0, 1832, + 1833, 5, 211, 0, 0, 1833, 1834, 5, 204, 0, 0, 1834, 1835, 3, 264, 132, + 0, 1835, 1836, 5, 198, 0, 0, 1836, 255, 1, 0, 0, 0, 1837, 1838, 5, 27, + 0, 0, 1838, 1839, 5, 197, 0, 0, 1839, 1840, 3, 216, 108, 0, 1840, 1841, + 5, 198, 0, 0, 1841, 1850, 1, 0, 0, 0, 1842, 1843, 5, 27, 0, 0, 1843, 1844, + 5, 205, 0, 0, 1844, 1845, 3, 266, 133, 0, 1845, 1846, 5, 197, 0, 0, 1846, + 1847, 3, 216, 108, 0, 1847, 1848, 5, 198, 0, 0, 1848, 1850, 1, 0, 0, 0, + 1849, 1837, 1, 0, 0, 0, 1849, 1842, 1, 0, 0, 0, 1850, 257, 1, 0, 0, 0, + 1851, 1852, 5, 28, 0, 0, 1852, 1853, 5, 197, 0, 0, 1853, 1854, 3, 216, + 108, 0, 1854, 1855, 5, 198, 0, 0, 1855, 259, 1, 0, 0, 0, 1856, 1857, 5, + 29, 0, 0, 1857, 1858, 5, 197, 0, 0, 1858, 1859, 5, 211, 0, 0, 1859, 1860, + 5, 204, 0, 0, 1860, 1861, 3, 264, 132, 0, 1861, 1862, 5, 198, 0, 0, 1862, + 261, 1, 0, 0, 0, 1863, 1869, 3, 264, 132, 0, 1864, 1869, 5, 211, 0, 0, + 1865, 1869, 5, 7, 0, 0, 1866, 1869, 5, 8, 0, 0, 1867, 1869, 5, 9, 0, 0, + 1868, 1863, 1, 0, 0, 0, 1868, 1864, 1, 0, 0, 0, 1868, 1865, 1, 0, 0, 0, + 1868, 1866, 1, 0, 0, 0, 1868, 1867, 1, 0, 0, 0, 1869, 263, 1, 0, 0, 0, + 1870, 1871, 7, 7, 0, 0, 1871, 265, 1, 0, 0, 0, 1872, 2072, 5, 214, 0, 0, + 1873, 1874, 5, 207, 0, 0, 1874, 2072, 5, 214, 0, 0, 1875, 2072, 5, 1, 0, + 0, 1876, 2072, 5, 2, 0, 0, 1877, 2072, 5, 3, 0, 0, 1878, 2072, 5, 4, 0, + 0, 1879, 2072, 5, 5, 0, 0, 1880, 2072, 5, 6, 0, 0, 1881, 2072, 5, 7, 0, + 0, 1882, 2072, 5, 8, 0, 0, 1883, 2072, 5, 9, 0, 0, 1884, 2072, 5, 30, 0, + 0, 1885, 2072, 5, 31, 0, 0, 1886, 2072, 5, 32, 0, 0, 1887, 2072, 5, 33, + 0, 0, 1888, 2072, 5, 34, 0, 0, 1889, 2072, 5, 35, 0, 0, 1890, 2072, 5, + 36, 0, 0, 1891, 2072, 5, 37, 0, 0, 1892, 2072, 5, 38, 0, 0, 1893, 2072, + 5, 39, 0, 0, 1894, 2072, 5, 40, 0, 0, 1895, 2072, 5, 41, 0, 0, 1896, 2072, + 5, 42, 0, 0, 1897, 2072, 5, 43, 0, 0, 1898, 2072, 5, 44, 0, 0, 1899, 2072, + 5, 45, 0, 0, 1900, 2072, 5, 46, 0, 0, 1901, 2072, 5, 47, 0, 0, 1902, 2072, + 5, 48, 0, 0, 1903, 2072, 5, 49, 0, 0, 1904, 2072, 5, 50, 0, 0, 1905, 2072, + 5, 51, 0, 0, 1906, 2072, 5, 52, 0, 0, 1907, 2072, 5, 53, 0, 0, 1908, 2072, + 5, 54, 0, 0, 1909, 2072, 5, 55, 0, 0, 1910, 2072, 5, 56, 0, 0, 1911, 2072, + 5, 57, 0, 0, 1912, 2072, 5, 58, 0, 0, 1913, 2072, 5, 59, 0, 0, 1914, 2072, + 5, 60, 0, 0, 1915, 2072, 5, 154, 0, 0, 1916, 2072, 5, 155, 0, 0, 1917, + 2072, 5, 156, 0, 0, 1918, 2072, 5, 159, 0, 0, 1919, 2072, 5, 157, 0, 0, + 1920, 2072, 5, 158, 0, 0, 1921, 2072, 5, 10, 0, 0, 1922, 2072, 5, 11, 0, + 0, 1923, 2072, 5, 12, 0, 0, 1924, 2072, 5, 77, 0, 0, 1925, 2072, 5, 78, + 0, 0, 1926, 2072, 5, 79, 0, 0, 1927, 2072, 5, 80, 0, 0, 1928, 2072, 5, + 81, 0, 0, 1929, 2072, 5, 82, 0, 0, 1930, 2072, 5, 83, 0, 0, 1931, 2072, + 5, 84, 0, 0, 1932, 2072, 5, 85, 0, 0, 1933, 2072, 5, 86, 0, 0, 1934, 2072, + 5, 87, 0, 0, 1935, 2072, 5, 88, 0, 0, 1936, 2072, 5, 13, 0, 0, 1937, 2072, + 5, 14, 0, 0, 1938, 2072, 5, 15, 0, 0, 1939, 2072, 5, 16, 0, 0, 1940, 2072, + 5, 17, 0, 0, 1941, 2072, 5, 18, 0, 0, 1942, 2072, 5, 19, 0, 0, 1943, 2072, + 5, 20, 0, 0, 1944, 2072, 5, 21, 0, 0, 1945, 2072, 5, 22, 0, 0, 1946, 2072, + 5, 23, 0, 0, 1947, 2072, 5, 24, 0, 0, 1948, 2072, 5, 25, 0, 0, 1949, 2072, + 5, 26, 0, 0, 1950, 2072, 5, 27, 0, 0, 1951, 2072, 5, 28, 0, 0, 1952, 2072, + 5, 29, 0, 0, 1953, 2072, 5, 167, 0, 0, 1954, 2072, 5, 168, 0, 0, 1955, + 2072, 5, 169, 0, 0, 1956, 2072, 5, 170, 0, 0, 1957, 2072, 5, 171, 0, 0, + 1958, 2072, 5, 172, 0, 0, 1959, 2072, 5, 173, 0, 0, 1960, 2072, 5, 174, + 0, 0, 1961, 2072, 5, 175, 0, 0, 1962, 2072, 5, 176, 0, 0, 1963, 2072, 5, + 177, 0, 0, 1964, 2072, 5, 178, 0, 0, 1965, 2072, 5, 179, 0, 0, 1966, 2072, + 5, 180, 0, 0, 1967, 2072, 5, 181, 0, 0, 1968, 2072, 5, 182, 0, 0, 1969, + 2072, 5, 183, 0, 0, 1970, 2072, 5, 184, 0, 0, 1971, 2072, 5, 185, 0, 0, + 1972, 2072, 5, 186, 0, 0, 1973, 2072, 5, 187, 0, 0, 1974, 2072, 5, 188, + 0, 0, 1975, 2072, 5, 189, 0, 0, 1976, 2072, 5, 190, 0, 0, 1977, 2072, 5, + 191, 0, 0, 1978, 2072, 5, 192, 0, 0, 1979, 2072, 5, 193, 0, 0, 1980, 2072, + 5, 194, 0, 0, 1981, 2072, 5, 195, 0, 0, 1982, 2072, 5, 196, 0, 0, 1983, + 2072, 5, 160, 0, 0, 1984, 2072, 5, 161, 0, 0, 1985, 2072, 5, 162, 0, 0, + 1986, 2072, 5, 163, 0, 0, 1987, 2072, 5, 164, 0, 0, 1988, 2072, 5, 165, + 0, 0, 1989, 2072, 5, 166, 0, 0, 1990, 2072, 5, 134, 0, 0, 1991, 2072, 5, + 135, 0, 0, 1992, 2072, 5, 139, 0, 0, 1993, 2072, 5, 140, 0, 0, 1994, 2072, + 5, 141, 0, 0, 1995, 2072, 5, 142, 0, 0, 1996, 2072, 5, 143, 0, 0, 1997, + 2072, 5, 144, 0, 0, 1998, 2072, 5, 145, 0, 0, 1999, 2072, 5, 146, 0, 0, + 2000, 2072, 5, 147, 0, 0, 2001, 2072, 5, 148, 0, 0, 2002, 2072, 5, 149, + 0, 0, 2003, 2072, 5, 150, 0, 0, 2004, 2072, 5, 136, 0, 0, 2005, 2072, 5, + 137, 0, 0, 2006, 2072, 5, 138, 0, 0, 2007, 2072, 5, 151, 0, 0, 2008, 2072, + 5, 152, 0, 0, 2009, 2072, 5, 153, 0, 0, 2010, 2072, 5, 61, 0, 0, 2011, + 2072, 5, 62, 0, 0, 2012, 2072, 5, 63, 0, 0, 2013, 2072, 5, 64, 0, 0, 2014, + 2072, 5, 65, 0, 0, 2015, 2072, 5, 66, 0, 0, 2016, 2072, 5, 67, 0, 0, 2017, + 2072, 5, 68, 0, 0, 2018, 2072, 5, 69, 0, 0, 2019, 2072, 5, 70, 0, 0, 2020, + 2072, 5, 71, 0, 0, 2021, 2072, 5, 72, 0, 0, 2022, 2072, 5, 73, 0, 0, 2023, + 2072, 5, 74, 0, 0, 2024, 2072, 5, 75, 0, 0, 2025, 2072, 5, 76, 0, 0, 2026, + 2072, 5, 89, 0, 0, 2027, 2072, 5, 90, 0, 0, 2028, 2072, 5, 91, 0, 0, 2029, + 2072, 5, 92, 0, 0, 2030, 2072, 5, 93, 0, 0, 2031, 2072, 5, 94, 0, 0, 2032, + 2072, 5, 95, 0, 0, 2033, 2072, 5, 96, 0, 0, 2034, 2072, 5, 97, 0, 0, 2035, + 2072, 5, 98, 0, 0, 2036, 2072, 5, 99, 0, 0, 2037, 2072, 5, 100, 0, 0, 2038, + 2072, 5, 101, 0, 0, 2039, 2072, 5, 102, 0, 0, 2040, 2072, 5, 103, 0, 0, + 2041, 2072, 5, 104, 0, 0, 2042, 2072, 5, 105, 0, 0, 2043, 2072, 5, 106, + 0, 0, 2044, 2072, 5, 107, 0, 0, 2045, 2072, 5, 108, 0, 0, 2046, 2072, 5, + 109, 0, 0, 2047, 2072, 5, 110, 0, 0, 2048, 2072, 5, 111, 0, 0, 2049, 2072, + 5, 112, 0, 0, 2050, 2072, 5, 113, 0, 0, 2051, 2072, 5, 114, 0, 0, 2052, + 2072, 5, 115, 0, 0, 2053, 2072, 5, 116, 0, 0, 2054, 2072, 5, 117, 0, 0, + 2055, 2072, 5, 118, 0, 0, 2056, 2072, 5, 119, 0, 0, 2057, 2072, 5, 120, + 0, 0, 2058, 2072, 5, 121, 0, 0, 2059, 2072, 5, 122, 0, 0, 2060, 2072, 5, + 123, 0, 0, 2061, 2072, 5, 124, 0, 0, 2062, 2072, 5, 125, 0, 0, 2063, 2072, + 5, 126, 0, 0, 2064, 2072, 5, 127, 0, 0, 2065, 2072, 5, 128, 0, 0, 2066, + 2072, 5, 129, 0, 0, 2067, 2072, 5, 130, 0, 0, 2068, 2072, 5, 131, 0, 0, + 2069, 2072, 5, 132, 0, 0, 2070, 2072, 5, 133, 0, 0, 2071, 1872, 1, 0, 0, + 0, 2071, 1873, 1, 0, 0, 0, 2071, 1875, 1, 0, 0, 0, 2071, 1876, 1, 0, 0, + 0, 2071, 1877, 1, 0, 0, 0, 2071, 1878, 1, 0, 0, 0, 2071, 1879, 1, 0, 0, + 0, 2071, 1880, 1, 0, 0, 0, 2071, 1881, 1, 0, 0, 0, 2071, 1882, 1, 0, 0, + 0, 2071, 1883, 1, 0, 0, 0, 2071, 1884, 1, 0, 0, 0, 2071, 1885, 1, 0, 0, + 0, 2071, 1886, 1, 0, 0, 0, 2071, 1887, 1, 0, 0, 0, 2071, 1888, 1, 0, 0, + 0, 2071, 1889, 1, 0, 0, 0, 2071, 1890, 1, 0, 0, 0, 2071, 1891, 1, 0, 0, + 0, 2071, 1892, 1, 0, 0, 0, 2071, 1893, 1, 0, 0, 0, 2071, 1894, 1, 0, 0, + 0, 2071, 1895, 1, 0, 0, 0, 2071, 1896, 1, 0, 0, 0, 2071, 1897, 1, 0, 0, + 0, 2071, 1898, 1, 0, 0, 0, 2071, 1899, 1, 0, 0, 0, 2071, 1900, 1, 0, 0, + 0, 2071, 1901, 1, 0, 0, 0, 2071, 1902, 1, 0, 0, 0, 2071, 1903, 1, 0, 0, + 0, 2071, 1904, 1, 0, 0, 0, 2071, 1905, 1, 0, 0, 0, 2071, 1906, 1, 0, 0, + 0, 2071, 1907, 1, 0, 0, 0, 2071, 1908, 1, 0, 0, 0, 2071, 1909, 1, 0, 0, + 0, 2071, 1910, 1, 0, 0, 0, 2071, 1911, 1, 0, 0, 0, 2071, 1912, 1, 0, 0, + 0, 2071, 1913, 1, 0, 0, 0, 2071, 1914, 1, 0, 0, 0, 2071, 1915, 1, 0, 0, + 0, 2071, 1916, 1, 0, 0, 0, 2071, 1917, 1, 0, 0, 0, 2071, 1918, 1, 0, 0, + 0, 2071, 1919, 1, 0, 0, 0, 2071, 1920, 1, 0, 0, 0, 2071, 1921, 1, 0, 0, + 0, 2071, 1922, 1, 0, 0, 0, 2071, 1923, 1, 0, 0, 0, 2071, 1924, 1, 0, 0, + 0, 2071, 1925, 1, 0, 0, 0, 2071, 1926, 1, 0, 0, 0, 2071, 1927, 1, 0, 0, + 0, 2071, 1928, 1, 0, 0, 0, 2071, 1929, 1, 0, 0, 0, 2071, 1930, 1, 0, 0, + 0, 2071, 1931, 1, 0, 0, 0, 2071, 1932, 1, 0, 0, 0, 2071, 1933, 1, 0, 0, + 0, 2071, 1934, 1, 0, 0, 0, 2071, 1935, 1, 0, 0, 0, 2071, 1936, 1, 0, 0, + 0, 2071, 1937, 1, 0, 0, 0, 2071, 1938, 1, 0, 0, 0, 2071, 1939, 1, 0, 0, + 0, 2071, 1940, 1, 0, 0, 0, 2071, 1941, 1, 0, 0, 0, 2071, 1942, 1, 0, 0, + 0, 2071, 1943, 1, 0, 0, 0, 2071, 1944, 1, 0, 0, 0, 2071, 1945, 1, 0, 0, + 0, 2071, 1946, 1, 0, 0, 0, 2071, 1947, 1, 0, 0, 0, 2071, 1948, 1, 0, 0, + 0, 2071, 1949, 1, 0, 0, 0, 2071, 1950, 1, 0, 0, 0, 2071, 1951, 1, 0, 0, + 0, 2071, 1952, 1, 0, 0, 0, 2071, 1953, 1, 0, 0, 0, 2071, 1954, 1, 0, 0, + 0, 2071, 1955, 1, 0, 0, 0, 2071, 1956, 1, 0, 0, 0, 2071, 1957, 1, 0, 0, + 0, 2071, 1958, 1, 0, 0, 0, 2071, 1959, 1, 0, 0, 0, 2071, 1960, 1, 0, 0, + 0, 2071, 1961, 1, 0, 0, 0, 2071, 1962, 1, 0, 0, 0, 2071, 1963, 1, 0, 0, + 0, 2071, 1964, 1, 0, 0, 0, 2071, 1965, 1, 0, 0, 0, 2071, 1966, 1, 0, 0, + 0, 2071, 1967, 1, 0, 0, 0, 2071, 1968, 1, 0, 0, 0, 2071, 1969, 1, 0, 0, + 0, 2071, 1970, 1, 0, 0, 0, 2071, 1971, 1, 0, 0, 0, 2071, 1972, 1, 0, 0, + 0, 2071, 1973, 1, 0, 0, 0, 2071, 1974, 1, 0, 0, 0, 2071, 1975, 1, 0, 0, + 0, 2071, 1976, 1, 0, 0, 0, 2071, 1977, 1, 0, 0, 0, 2071, 1978, 1, 0, 0, + 0, 2071, 1979, 1, 0, 0, 0, 2071, 1980, 1, 0, 0, 0, 2071, 1981, 1, 0, 0, + 0, 2071, 1982, 1, 0, 0, 0, 2071, 1983, 1, 0, 0, 0, 2071, 1984, 1, 0, 0, + 0, 2071, 1985, 1, 0, 0, 0, 2071, 1986, 1, 0, 0, 0, 2071, 1987, 1, 0, 0, + 0, 2071, 1988, 1, 0, 0, 0, 2071, 1989, 1, 0, 0, 0, 2071, 1990, 1, 0, 0, + 0, 2071, 1991, 1, 0, 0, 0, 2071, 1992, 1, 0, 0, 0, 2071, 1993, 1, 0, 0, + 0, 2071, 1994, 1, 0, 0, 0, 2071, 1995, 1, 0, 0, 0, 2071, 1996, 1, 0, 0, + 0, 2071, 1997, 1, 0, 0, 0, 2071, 1998, 1, 0, 0, 0, 2071, 1999, 1, 0, 0, + 0, 2071, 2000, 1, 0, 0, 0, 2071, 2001, 1, 0, 0, 0, 2071, 2002, 1, 0, 0, + 0, 2071, 2003, 1, 0, 0, 0, 2071, 2004, 1, 0, 0, 0, 2071, 2005, 1, 0, 0, + 0, 2071, 2006, 1, 0, 0, 0, 2071, 2007, 1, 0, 0, 0, 2071, 2008, 1, 0, 0, + 0, 2071, 2009, 1, 0, 0, 0, 2071, 2010, 1, 0, 0, 0, 2071, 2011, 1, 0, 0, + 0, 2071, 2012, 1, 0, 0, 0, 2071, 2013, 1, 0, 0, 0, 2071, 2014, 1, 0, 0, + 0, 2071, 2015, 1, 0, 0, 0, 2071, 2016, 1, 0, 0, 0, 2071, 2017, 1, 0, 0, + 0, 2071, 2018, 1, 0, 0, 0, 2071, 2019, 1, 0, 0, 0, 2071, 2020, 1, 0, 0, + 0, 2071, 2021, 1, 0, 0, 0, 2071, 2022, 1, 0, 0, 0, 2071, 2023, 1, 0, 0, + 0, 2071, 2024, 1, 0, 0, 0, 2071, 2025, 1, 0, 0, 0, 2071, 2026, 1, 0, 0, + 0, 2071, 2027, 1, 0, 0, 0, 2071, 2028, 1, 0, 0, 0, 2071, 2029, 1, 0, 0, + 0, 2071, 2030, 1, 0, 0, 0, 2071, 2031, 1, 0, 0, 0, 2071, 2032, 1, 0, 0, + 0, 2071, 2033, 1, 0, 0, 0, 2071, 2034, 1, 0, 0, 0, 2071, 2035, 1, 0, 0, + 0, 2071, 2036, 1, 0, 0, 0, 2071, 2037, 1, 0, 0, 0, 2071, 2038, 1, 0, 0, + 0, 2071, 2039, 1, 0, 0, 0, 2071, 2040, 1, 0, 0, 0, 2071, 2041, 1, 0, 0, + 0, 2071, 2042, 1, 0, 0, 0, 2071, 2043, 1, 0, 0, 0, 2071, 2044, 1, 0, 0, + 0, 2071, 2045, 1, 0, 0, 0, 2071, 2046, 1, 0, 0, 0, 2071, 2047, 1, 0, 0, + 0, 2071, 2048, 1, 0, 0, 0, 2071, 2049, 1, 0, 0, 0, 2071, 2050, 1, 0, 0, + 0, 2071, 2051, 1, 0, 0, 0, 2071, 2052, 1, 0, 0, 0, 2071, 2053, 1, 0, 0, + 0, 2071, 2054, 1, 0, 0, 0, 2071, 2055, 1, 0, 0, 0, 2071, 2056, 1, 0, 0, + 0, 2071, 2057, 1, 0, 0, 0, 2071, 2058, 1, 0, 0, 0, 2071, 2059, 1, 0, 0, + 0, 2071, 2060, 1, 0, 0, 0, 2071, 2061, 1, 0, 0, 0, 2071, 2062, 1, 0, 0, + 0, 2071, 2063, 1, 0, 0, 0, 2071, 2064, 1, 0, 0, 0, 2071, 2065, 1, 0, 0, + 0, 2071, 2066, 1, 0, 0, 0, 2071, 2067, 1, 0, 0, 0, 2071, 2068, 1, 0, 0, + 0, 2071, 2069, 1, 0, 0, 0, 2071, 2070, 1, 0, 0, 0, 2072, 267, 1, 0, 0, + 0, 150, 271, 278, 282, 286, 290, 294, 298, 302, 306, 310, 314, 316, 322, + 330, 337, 341, 360, 368, 427, 435, 443, 451, 459, 467, 475, 483, 491, 499, + 507, 515, 523, 531, 539, 547, 555, 563, 571, 579, 587, 595, 603, 611, 619, + 627, 635, 643, 651, 659, 667, 675, 683, 691, 699, 707, 715, 723, 731, 739, + 747, 755, 763, 771, 779, 787, 795, 803, 810, 817, 825, 831, 849, 861, 865, + 870, 874, 879, 883, 891, 897, 904, 913, 930, 936, 952, 958, 961, 973, 979, + 987, 998, 1002, 1007, 1049, 1055, 1072, 1076, 1090, 1100, 1109, 1112, 1166, + 1203, 1208, 1215, 1222, 1229, 1241, 1317, 1324, 1336, 1363, 1370, 1377, + 1389, 1421, 1438, 1487, 1508, 1524, 1531, 1538, 1554, 1578, 1595, 1618, + 1630, 1637, 1648, 1663, 1677, 1681, 1691, 1695, 1697, 1707, 1716, 1723, + 1733, 1737, 1739, 1756, 1761, 1768, 1776, 1789, 1819, 1826, 1849, 1868, + 2071, } deserializer := antlr.NewATNDeserializer(nil) staticData.atn = deserializer.Deserialize(staticData.serializedATN) @@ -883,279 +1257,360 @@ func NewMongoShellParser(input antlr.TokenStream) *MongoShellParser { // MongoShellParser tokens. const ( - MongoShellParserEOF = antlr.TokenEOF - MongoShellParserSHOW = 1 - MongoShellParserDBS = 2 - MongoShellParserDATABASES = 3 - MongoShellParserCOLLECTIONS = 4 - MongoShellParserDB = 5 - MongoShellParserNEW = 6 - MongoShellParserTRUE = 7 - MongoShellParserFALSE = 8 - MongoShellParserNULL = 9 - MongoShellParserGET_COLLECTION = 10 - MongoShellParserGET_COLLECTION_NAMES = 11 - MongoShellParserGET_COLLECTION_INFOS = 12 - MongoShellParserOBJECT_ID = 13 - MongoShellParserISO_DATE = 14 - MongoShellParserDATE = 15 - MongoShellParserUUID = 16 - MongoShellParserLONG = 17 - MongoShellParserNUMBER_LONG = 18 - MongoShellParserINT32 = 19 - MongoShellParserNUMBER_INT = 20 - MongoShellParserDOUBLE = 21 - MongoShellParserDECIMAL128 = 22 - MongoShellParserNUMBER_DECIMAL = 23 - MongoShellParserTIMESTAMP = 24 - MongoShellParserREG_EXP = 25 - MongoShellParserBIN_DATA = 26 - MongoShellParserBINARY = 27 - MongoShellParserBSON_REG_EXP = 28 - MongoShellParserHEX_DATA = 29 - MongoShellParserFIND = 30 - MongoShellParserFIND_ONE = 31 - MongoShellParserCOUNT_DOCUMENTS = 32 - MongoShellParserESTIMATED_DOCUMENT_COUNT = 33 - MongoShellParserDISTINCT = 34 - MongoShellParserAGGREGATE = 35 - MongoShellParserGET_INDEXES = 36 - MongoShellParserINSERT_ONE = 37 - MongoShellParserINSERT_MANY = 38 - MongoShellParserUPDATE_ONE = 39 - MongoShellParserUPDATE_MANY = 40 - MongoShellParserDELETE_ONE = 41 - MongoShellParserDELETE_MANY = 42 - MongoShellParserREPLACE_ONE = 43 - MongoShellParserFIND_ONE_AND_UPDATE = 44 - MongoShellParserFIND_ONE_AND_REPLACE = 45 - MongoShellParserFIND_ONE_AND_DELETE = 46 - MongoShellParserCREATE_INDEX = 47 - MongoShellParserCREATE_INDEXES = 48 - MongoShellParserDROP_INDEX = 49 - MongoShellParserDROP_INDEXES = 50 - MongoShellParserDROP = 51 - MongoShellParserRENAME_COLLECTION = 52 - MongoShellParserSTATS = 53 - MongoShellParserSTORAGE_SIZE = 54 - MongoShellParserTOTAL_INDEX_SIZE = 55 - MongoShellParserTOTAL_SIZE = 56 - MongoShellParserDATA_SIZE = 57 - MongoShellParserIS_CAPPED = 58 - MongoShellParserVALIDATE = 59 - MongoShellParserLATENCY_STATS = 60 - MongoShellParserCREATE_COLLECTION = 61 - MongoShellParserDROP_DATABASE = 62 - MongoShellParserHOST_INFO = 63 - MongoShellParserLIST_COMMANDS = 64 - MongoShellParserSERVER_BUILD_INFO = 65 - MongoShellParserSERVER_STATUS = 66 - MongoShellParserVERSION = 67 - MongoShellParserRUN_COMMAND = 68 - MongoShellParserADMIN_COMMAND = 69 - MongoShellParserGET_NAME = 70 - MongoShellParserGET_MONGO = 71 - MongoShellParserGET_SIBLING_DB = 72 - MongoShellParserMONGO = 73 - MongoShellParserCONNECT = 74 - MongoShellParserRS = 75 - MongoShellParserSH = 76 - MongoShellParserSP = 77 - MongoShellParserGET_DB = 78 - MongoShellParserGET_READ_CONCERN = 79 - MongoShellParserGET_READ_PREF = 80 - MongoShellParserGET_READ_PREF_MODE = 81 - MongoShellParserGET_READ_PREF_TAG_SET = 82 - MongoShellParserGET_WRITE_CONCERN = 83 - MongoShellParserSET_READ_PREF = 84 - MongoShellParserSET_READ_CONCERN = 85 - MongoShellParserSET_WRITE_CONCERN = 86 - MongoShellParserSTART_SESSION = 87 - MongoShellParserWATCH = 88 - MongoShellParserGET_DB_NAMES = 89 - MongoShellParserGET_KEY_VAULT = 90 - MongoShellParserGET_CLIENT_ENCRYPTION = 91 - MongoShellParserGET_PLAN_CACHE = 92 - MongoShellParserSORT = 93 - MongoShellParserLIMIT = 94 - MongoShellParserSKIP_ = 95 - MongoShellParserPROJECTION = 96 - MongoShellParserPROJECT = 97 - MongoShellParserCOUNT = 98 - MongoShellParserINITIALIZE_ORDERED_BULK_OP = 99 - MongoShellParserINITIALIZE_UNORDERED_BULK_OP = 100 - MongoShellParserEXECUTE = 101 - MongoShellParserGET_OPERATIONS = 102 - MongoShellParserTO_STRING = 103 - MongoShellParserINSERT = 104 - MongoShellParserREMOVE = 105 - MongoShellParserBATCH_SIZE = 106 - MongoShellParserCLOSE = 107 - MongoShellParserCOLLATION = 108 - MongoShellParserCOMMENT = 109 - MongoShellParserEXPLAIN = 110 - MongoShellParserFOR_EACH = 111 - MongoShellParserHAS_NEXT = 112 - MongoShellParserHINT = 113 - MongoShellParserIS_CLOSED = 114 - MongoShellParserIS_EXHAUSTED = 115 - MongoShellParserIT_COUNT = 116 - MongoShellParserMAP = 117 - MongoShellParserMAX = 118 - MongoShellParserMAX_AWAIT_TIME_MS = 119 - MongoShellParserMAX_TIME_MS = 120 - MongoShellParserMIN = 121 - MongoShellParserNEXT = 122 - MongoShellParserNO_CURSOR_TIMEOUT = 123 - MongoShellParserOBJS_LEFT_IN_BATCH = 124 - MongoShellParserPRETTY = 125 - MongoShellParserREAD_CONCERN = 126 - MongoShellParserREAD_PREF = 127 - MongoShellParserRETURN_KEY = 128 - MongoShellParserSHOW_RECORD_ID = 129 - MongoShellParserSIZE = 130 - MongoShellParserTAILABLE = 131 - MongoShellParserTO_ARRAY = 132 - MongoShellParserTRY_NEXT = 133 - MongoShellParserALLOW_DISK_USE = 134 - MongoShellParserADD_OPTION = 135 - MongoShellParserLPAREN = 136 - MongoShellParserRPAREN = 137 - MongoShellParserLBRACE = 138 - MongoShellParserRBRACE = 139 - MongoShellParserLBRACKET = 140 - MongoShellParserRBRACKET = 141 - MongoShellParserCOLON = 142 - MongoShellParserCOMMA = 143 - MongoShellParserDOT = 144 - MongoShellParserSEMI = 145 - MongoShellParserDOLLAR = 146 - MongoShellParserLINE_COMMENT = 147 - MongoShellParserBLOCK_COMMENT = 148 - MongoShellParserREGEX_LITERAL = 149 - MongoShellParserNUMBER = 150 - MongoShellParserDOUBLE_QUOTED_STRING = 151 - MongoShellParserSINGLE_QUOTED_STRING = 152 - MongoShellParserIDENTIFIER = 153 - MongoShellParserWS = 154 + MongoShellParserEOF = antlr.TokenEOF + MongoShellParserSHOW = 1 + MongoShellParserDBS = 2 + MongoShellParserDATABASES = 3 + MongoShellParserCOLLECTIONS = 4 + MongoShellParserDB = 5 + MongoShellParserNEW = 6 + MongoShellParserTRUE = 7 + MongoShellParserFALSE = 8 + MongoShellParserNULL = 9 + MongoShellParserGET_COLLECTION = 10 + MongoShellParserGET_COLLECTION_NAMES = 11 + MongoShellParserGET_COLLECTION_INFOS = 12 + MongoShellParserOBJECT_ID = 13 + MongoShellParserISO_DATE = 14 + MongoShellParserDATE = 15 + MongoShellParserUUID = 16 + MongoShellParserLONG = 17 + MongoShellParserNUMBER_LONG = 18 + MongoShellParserINT32 = 19 + MongoShellParserNUMBER_INT = 20 + MongoShellParserDOUBLE = 21 + MongoShellParserDECIMAL128 = 22 + MongoShellParserNUMBER_DECIMAL = 23 + MongoShellParserTIMESTAMP = 24 + MongoShellParserREG_EXP = 25 + MongoShellParserBIN_DATA = 26 + MongoShellParserBINARY = 27 + MongoShellParserBSON_REG_EXP = 28 + MongoShellParserHEX_DATA = 29 + MongoShellParserFIND = 30 + MongoShellParserFIND_ONE = 31 + MongoShellParserCOUNT_DOCUMENTS = 32 + MongoShellParserESTIMATED_DOCUMENT_COUNT = 33 + MongoShellParserDISTINCT = 34 + MongoShellParserAGGREGATE = 35 + MongoShellParserGET_INDEXES = 36 + MongoShellParserINSERT_ONE = 37 + MongoShellParserINSERT_MANY = 38 + MongoShellParserUPDATE_ONE = 39 + MongoShellParserUPDATE_MANY = 40 + MongoShellParserDELETE_ONE = 41 + MongoShellParserDELETE_MANY = 42 + MongoShellParserREPLACE_ONE = 43 + MongoShellParserFIND_ONE_AND_UPDATE = 44 + MongoShellParserFIND_ONE_AND_REPLACE = 45 + MongoShellParserFIND_ONE_AND_DELETE = 46 + MongoShellParserCREATE_INDEX = 47 + MongoShellParserCREATE_INDEXES = 48 + MongoShellParserDROP_INDEX = 49 + MongoShellParserDROP_INDEXES = 50 + MongoShellParserDROP = 51 + MongoShellParserRENAME_COLLECTION = 52 + MongoShellParserSTATS = 53 + MongoShellParserSTORAGE_SIZE = 54 + MongoShellParserTOTAL_INDEX_SIZE = 55 + MongoShellParserTOTAL_SIZE = 56 + MongoShellParserDATA_SIZE = 57 + MongoShellParserIS_CAPPED = 58 + MongoShellParserVALIDATE = 59 + MongoShellParserLATENCY_STATS = 60 + MongoShellParserBULK_WRITE = 61 + MongoShellParserUPDATE = 62 + MongoShellParserMAP_REDUCE = 63 + MongoShellParserFIND_AND_MODIFY = 64 + MongoShellParserANALYZE_SHARD_KEY = 65 + MongoShellParserCONFIGURE_QUERY_ANALYZER = 66 + MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA = 67 + MongoShellParserHIDE_INDEX = 68 + MongoShellParserUNHIDE_INDEX = 69 + MongoShellParserRE_INDEX = 70 + MongoShellParserGET_SHARD_DISTRIBUTION = 71 + MongoShellParserGET_SHARD_VERSION = 72 + MongoShellParserCREATE_SEARCH_INDEX = 73 + MongoShellParserCREATE_SEARCH_INDEXES = 74 + MongoShellParserDROP_SEARCH_INDEX = 75 + MongoShellParserUPDATE_SEARCH_INDEX = 76 + MongoShellParserCREATE_COLLECTION = 77 + MongoShellParserDROP_DATABASE = 78 + MongoShellParserHOST_INFO = 79 + MongoShellParserLIST_COMMANDS = 80 + MongoShellParserSERVER_BUILD_INFO = 81 + MongoShellParserSERVER_STATUS = 82 + MongoShellParserVERSION = 83 + MongoShellParserRUN_COMMAND = 84 + MongoShellParserADMIN_COMMAND = 85 + MongoShellParserGET_NAME = 86 + MongoShellParserGET_MONGO = 87 + MongoShellParserGET_SIBLING_DB = 88 + MongoShellParserAUTH = 89 + MongoShellParserCHANGE_USER_PASSWORD = 90 + MongoShellParserCLONE_DATABASE = 91 + MongoShellParserCOMMAND_HELP = 92 + MongoShellParserCOPY_DATABASE = 93 + MongoShellParserCREATE_ROLE = 94 + MongoShellParserCREATE_USER = 95 + MongoShellParserCREATE_VIEW = 96 + MongoShellParserCURRENT_OP = 97 + MongoShellParserDROP_ALL_ROLES = 98 + MongoShellParserDROP_ALL_USERS = 99 + MongoShellParserDROP_ROLE = 100 + MongoShellParserDROP_USER = 101 + MongoShellParserFSYNC_LOCK = 102 + MongoShellParserFSYNC_UNLOCK = 103 + MongoShellParserGET_LOG_COMPONENTS = 104 + MongoShellParserGET_PROFILING_LEVEL = 105 + MongoShellParserGET_PROFILING_STATUS = 106 + MongoShellParserGET_REPLICATION_INFO = 107 + MongoShellParserGET_ROLE = 108 + MongoShellParserGET_ROLES = 109 + MongoShellParserGET_USER = 110 + MongoShellParserGET_USERS = 111 + MongoShellParserGRANT_PRIVILEGES_TO_ROLE = 112 + MongoShellParserGRANT_ROLES_TO_ROLE = 113 + MongoShellParserGRANT_ROLES_TO_USER = 114 + MongoShellParserHELLO = 115 + MongoShellParserIS_MASTER = 116 + MongoShellParserKILL_OP = 117 + MongoShellParserLOGOUT = 118 + MongoShellParserPRINT_COLLECTION_STATS = 119 + MongoShellParserPRINT_REPLICATION_INFO = 120 + MongoShellParserPRINT_SECONDARY_REPLICATION_INFO = 121 + MongoShellParserPRINT_SHARDING_STATUS = 122 + MongoShellParserPRINT_SLAVE_REPLICATION_INFO = 123 + MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE = 124 + MongoShellParserREVOKE_ROLES_FROM_ROLE = 125 + MongoShellParserREVOKE_ROLES_FROM_USER = 126 + MongoShellParserROTATE_CERTIFICATES = 127 + MongoShellParserSET_LOG_LEVEL = 128 + MongoShellParserSET_PROFILING_LEVEL = 129 + MongoShellParserSET_SECONDARY_OK = 130 + MongoShellParserSHUTDOWN_SERVER = 131 + MongoShellParserUPDATE_ROLE = 132 + MongoShellParserUPDATE_USER = 133 + MongoShellParserMONGO = 134 + MongoShellParserCONNECT = 135 + MongoShellParserRS = 136 + MongoShellParserSH = 137 + MongoShellParserSP = 138 + MongoShellParserGET_DB = 139 + MongoShellParserGET_READ_CONCERN = 140 + MongoShellParserGET_READ_PREF = 141 + MongoShellParserGET_READ_PREF_MODE = 142 + MongoShellParserGET_READ_PREF_TAG_SET = 143 + MongoShellParserGET_WRITE_CONCERN = 144 + MongoShellParserSET_READ_PREF = 145 + MongoShellParserSET_READ_CONCERN = 146 + MongoShellParserSET_WRITE_CONCERN = 147 + MongoShellParserSTART_SESSION = 148 + MongoShellParserWATCH = 149 + MongoShellParserGET_DB_NAMES = 150 + MongoShellParserGET_KEY_VAULT = 151 + MongoShellParserGET_CLIENT_ENCRYPTION = 152 + MongoShellParserGET_PLAN_CACHE = 153 + MongoShellParserSORT = 154 + MongoShellParserLIMIT = 155 + MongoShellParserSKIP_ = 156 + MongoShellParserPROJECTION = 157 + MongoShellParserPROJECT = 158 + MongoShellParserCOUNT = 159 + MongoShellParserINITIALIZE_ORDERED_BULK_OP = 160 + MongoShellParserINITIALIZE_UNORDERED_BULK_OP = 161 + MongoShellParserEXECUTE = 162 + MongoShellParserGET_OPERATIONS = 163 + MongoShellParserTO_STRING = 164 + MongoShellParserINSERT = 165 + MongoShellParserREMOVE = 166 + MongoShellParserBATCH_SIZE = 167 + MongoShellParserCLOSE = 168 + MongoShellParserCOLLATION = 169 + MongoShellParserCOMMENT = 170 + MongoShellParserEXPLAIN = 171 + MongoShellParserFOR_EACH = 172 + MongoShellParserHAS_NEXT = 173 + MongoShellParserHINT = 174 + MongoShellParserIS_CLOSED = 175 + MongoShellParserIS_EXHAUSTED = 176 + MongoShellParserIT_COUNT = 177 + MongoShellParserMAP = 178 + MongoShellParserMAX = 179 + MongoShellParserMAX_AWAIT_TIME_MS = 180 + MongoShellParserMAX_TIME_MS = 181 + MongoShellParserMIN = 182 + MongoShellParserNEXT = 183 + MongoShellParserNO_CURSOR_TIMEOUT = 184 + MongoShellParserOBJS_LEFT_IN_BATCH = 185 + MongoShellParserPRETTY = 186 + MongoShellParserREAD_CONCERN = 187 + MongoShellParserREAD_PREF = 188 + MongoShellParserRETURN_KEY = 189 + MongoShellParserSHOW_RECORD_ID = 190 + MongoShellParserSIZE = 191 + MongoShellParserTAILABLE = 192 + MongoShellParserTO_ARRAY = 193 + MongoShellParserTRY_NEXT = 194 + MongoShellParserALLOW_DISK_USE = 195 + MongoShellParserADD_OPTION = 196 + MongoShellParserLPAREN = 197 + MongoShellParserRPAREN = 198 + MongoShellParserLBRACE = 199 + MongoShellParserRBRACE = 200 + MongoShellParserLBRACKET = 201 + MongoShellParserRBRACKET = 202 + MongoShellParserCOLON = 203 + MongoShellParserCOMMA = 204 + MongoShellParserDOT = 205 + MongoShellParserSEMI = 206 + MongoShellParserDOLLAR = 207 + MongoShellParserLINE_COMMENT = 208 + MongoShellParserBLOCK_COMMENT = 209 + MongoShellParserREGEX_LITERAL = 210 + MongoShellParserNUMBER = 211 + MongoShellParserDOUBLE_QUOTED_STRING = 212 + MongoShellParserSINGLE_QUOTED_STRING = 213 + MongoShellParserIDENTIFIER = 214 + MongoShellParserWS = 215 ) // MongoShellParser rules. const ( - MongoShellParserRULE_program = 0 - MongoShellParserRULE_statement = 1 - MongoShellParserRULE_shellCommand = 2 - MongoShellParserRULE_dbStatement = 3 - MongoShellParserRULE_genericDbMethod = 4 - MongoShellParserRULE_bulkStatement = 5 - MongoShellParserRULE_bulkInitMethod = 6 - MongoShellParserRULE_bulkMethodChain = 7 - MongoShellParserRULE_bulkMethod = 8 - MongoShellParserRULE_connectionStatement = 9 - MongoShellParserRULE_connectionMethodChain = 10 - MongoShellParserRULE_rsStatement = 11 - MongoShellParserRULE_shStatement = 12 - MongoShellParserRULE_encryptionStatement = 13 - MongoShellParserRULE_planCacheStatement = 14 - MongoShellParserRULE_spStatement = 15 - MongoShellParserRULE_nativeFunctionCall = 16 - MongoShellParserRULE_connectionMethod = 17 - MongoShellParserRULE_collectionAccess = 18 - MongoShellParserRULE_methodChain = 19 - MongoShellParserRULE_methodCall = 20 - MongoShellParserRULE_findMethod = 21 - MongoShellParserRULE_findOneMethod = 22 - MongoShellParserRULE_countDocumentsMethod = 23 - MongoShellParserRULE_estimatedDocumentCountMethod = 24 - MongoShellParserRULE_distinctMethod = 25 - MongoShellParserRULE_aggregateMethod = 26 - MongoShellParserRULE_getIndexesMethod = 27 - MongoShellParserRULE_insertOneMethod = 28 - MongoShellParserRULE_insertManyMethod = 29 - MongoShellParserRULE_updateOneMethod = 30 - MongoShellParserRULE_updateManyMethod = 31 - MongoShellParserRULE_deleteOneMethod = 32 - MongoShellParserRULE_deleteManyMethod = 33 - MongoShellParserRULE_replaceOneMethod = 34 - MongoShellParserRULE_findOneAndUpdateMethod = 35 - MongoShellParserRULE_findOneAndReplaceMethod = 36 - MongoShellParserRULE_findOneAndDeleteMethod = 37 - MongoShellParserRULE_createIndexMethod = 38 - MongoShellParserRULE_createIndexesMethod = 39 - MongoShellParserRULE_dropIndexMethod = 40 - MongoShellParserRULE_dropIndexesMethod = 41 - MongoShellParserRULE_dropMethod = 42 - MongoShellParserRULE_renameCollectionMethod = 43 - MongoShellParserRULE_statsMethod = 44 - MongoShellParserRULE_storageSizeMethod = 45 - MongoShellParserRULE_totalIndexSizeMethod = 46 - MongoShellParserRULE_totalSizeMethod = 47 - MongoShellParserRULE_dataSizeMethod = 48 - MongoShellParserRULE_isCappedMethod = 49 - MongoShellParserRULE_validateMethod = 50 - MongoShellParserRULE_latencyStatsMethod = 51 - MongoShellParserRULE_sortMethod = 52 - MongoShellParserRULE_limitMethod = 53 - MongoShellParserRULE_skipMethod = 54 - MongoShellParserRULE_countMethod = 55 - MongoShellParserRULE_projectionMethod = 56 - MongoShellParserRULE_batchSizeMethod = 57 - MongoShellParserRULE_closeMethod = 58 - MongoShellParserRULE_collationMethod = 59 - MongoShellParserRULE_commentMethod = 60 - MongoShellParserRULE_explainMethod = 61 - MongoShellParserRULE_forEachMethod = 62 - MongoShellParserRULE_hasNextMethod = 63 - MongoShellParserRULE_hintMethod = 64 - MongoShellParserRULE_isClosedMethod = 65 - MongoShellParserRULE_isExhaustedMethod = 66 - MongoShellParserRULE_itcountMethod = 67 - MongoShellParserRULE_mapMethod = 68 - MongoShellParserRULE_maxMethod = 69 - MongoShellParserRULE_maxAwaitTimeMSMethod = 70 - MongoShellParserRULE_maxTimeMSMethod = 71 - MongoShellParserRULE_minMethod = 72 - MongoShellParserRULE_nextMethod = 73 - MongoShellParserRULE_noCursorTimeoutMethod = 74 - MongoShellParserRULE_objsLeftInBatchMethod = 75 - MongoShellParserRULE_prettyMethod = 76 - MongoShellParserRULE_readConcernMethod = 77 - MongoShellParserRULE_readPrefMethod = 78 - MongoShellParserRULE_returnKeyMethod = 79 - MongoShellParserRULE_showRecordIdMethod = 80 - MongoShellParserRULE_sizeMethod = 81 - MongoShellParserRULE_tailableMethod = 82 - MongoShellParserRULE_toArrayMethod = 83 - MongoShellParserRULE_tryNextMethod = 84 - MongoShellParserRULE_allowDiskUseMethod = 85 - MongoShellParserRULE_addOptionMethod = 86 - MongoShellParserRULE_genericMethod = 87 - MongoShellParserRULE_arguments = 88 - MongoShellParserRULE_argument = 89 - MongoShellParserRULE_document = 90 - MongoShellParserRULE_pair = 91 - MongoShellParserRULE_key = 92 - MongoShellParserRULE_value = 93 - MongoShellParserRULE_newKeywordError = 94 - MongoShellParserRULE_array = 95 - MongoShellParserRULE_helperFunction = 96 - MongoShellParserRULE_objectIdHelper = 97 - MongoShellParserRULE_isoDateHelper = 98 - MongoShellParserRULE_dateHelper = 99 - MongoShellParserRULE_uuidHelper = 100 - MongoShellParserRULE_longHelper = 101 - MongoShellParserRULE_int32Helper = 102 - MongoShellParserRULE_doubleHelper = 103 - MongoShellParserRULE_decimal128Helper = 104 - MongoShellParserRULE_timestampHelper = 105 - MongoShellParserRULE_regExpConstructor = 106 - MongoShellParserRULE_binDataHelper = 107 - MongoShellParserRULE_binaryHelper = 108 - MongoShellParserRULE_bsonRegExpHelper = 109 - MongoShellParserRULE_hexDataHelper = 110 - MongoShellParserRULE_literal = 111 - MongoShellParserRULE_stringLiteral = 112 - MongoShellParserRULE_identifier = 113 + MongoShellParserRULE_program = 0 + MongoShellParserRULE_statement = 1 + MongoShellParserRULE_shellCommand = 2 + MongoShellParserRULE_dbStatement = 3 + MongoShellParserRULE_bulkStatement = 4 + MongoShellParserRULE_bulkInitMethod = 5 + MongoShellParserRULE_bulkMethodChain = 6 + MongoShellParserRULE_bulkMethod = 7 + MongoShellParserRULE_connectionStatement = 8 + MongoShellParserRULE_connectionMethodChain = 9 + MongoShellParserRULE_rsStatement = 10 + MongoShellParserRULE_shStatement = 11 + MongoShellParserRULE_encryptionStatement = 12 + MongoShellParserRULE_planCacheStatement = 13 + MongoShellParserRULE_spStatement = 14 + MongoShellParserRULE_nativeFunctionCall = 15 + MongoShellParserRULE_connectionMethod = 16 + MongoShellParserRULE_collectionAccess = 17 + MongoShellParserRULE_methodChain = 18 + MongoShellParserRULE_collectionMethodCall = 19 + MongoShellParserRULE_cursorMethodCall = 20 + MongoShellParserRULE_findMethod = 21 + MongoShellParserRULE_findOneMethod = 22 + MongoShellParserRULE_countDocumentsMethod = 23 + MongoShellParserRULE_estimatedDocumentCountMethod = 24 + MongoShellParserRULE_distinctMethod = 25 + MongoShellParserRULE_aggregateMethod = 26 + MongoShellParserRULE_getIndexesMethod = 27 + MongoShellParserRULE_insertOneMethod = 28 + MongoShellParserRULE_insertManyMethod = 29 + MongoShellParserRULE_updateOneMethod = 30 + MongoShellParserRULE_updateManyMethod = 31 + MongoShellParserRULE_deleteOneMethod = 32 + MongoShellParserRULE_deleteManyMethod = 33 + MongoShellParserRULE_replaceOneMethod = 34 + MongoShellParserRULE_findOneAndUpdateMethod = 35 + MongoShellParserRULE_findOneAndReplaceMethod = 36 + MongoShellParserRULE_findOneAndDeleteMethod = 37 + MongoShellParserRULE_createIndexMethod = 38 + MongoShellParserRULE_createIndexesMethod = 39 + MongoShellParserRULE_dropIndexMethod = 40 + MongoShellParserRULE_dropIndexesMethod = 41 + MongoShellParserRULE_dropMethod = 42 + MongoShellParserRULE_renameCollectionMethod = 43 + MongoShellParserRULE_statsMethod = 44 + MongoShellParserRULE_storageSizeMethod = 45 + MongoShellParserRULE_totalIndexSizeMethod = 46 + MongoShellParserRULE_totalSizeMethod = 47 + MongoShellParserRULE_dataSizeMethod = 48 + MongoShellParserRULE_isCappedMethod = 49 + MongoShellParserRULE_validateMethod = 50 + MongoShellParserRULE_latencyStatsMethod = 51 + MongoShellParserRULE_watchMethod = 52 + MongoShellParserRULE_bulkWriteMethod = 53 + MongoShellParserRULE_collectionCountMethod = 54 + MongoShellParserRULE_collectionInsertMethod = 55 + MongoShellParserRULE_collectionRemoveMethod = 56 + MongoShellParserRULE_updateMethod = 57 + MongoShellParserRULE_mapReduceMethod = 58 + MongoShellParserRULE_findAndModifyMethod = 59 + MongoShellParserRULE_collectionExplainMethod = 60 + MongoShellParserRULE_analyzeShardKeyMethod = 61 + MongoShellParserRULE_configureQueryAnalyzerMethod = 62 + MongoShellParserRULE_compactStructuredEncryptionDataMethod = 63 + MongoShellParserRULE_hideIndexMethod = 64 + MongoShellParserRULE_unhideIndexMethod = 65 + MongoShellParserRULE_reIndexMethod = 66 + MongoShellParserRULE_getShardDistributionMethod = 67 + MongoShellParserRULE_getShardVersionMethod = 68 + MongoShellParserRULE_createSearchIndexMethod = 69 + MongoShellParserRULE_createSearchIndexesMethod = 70 + MongoShellParserRULE_dropSearchIndexMethod = 71 + MongoShellParserRULE_updateSearchIndexMethod = 72 + MongoShellParserRULE_sortMethod = 73 + MongoShellParserRULE_limitMethod = 74 + MongoShellParserRULE_skipMethod = 75 + MongoShellParserRULE_countMethod = 76 + MongoShellParserRULE_projectionMethod = 77 + MongoShellParserRULE_batchSizeMethod = 78 + MongoShellParserRULE_closeMethod = 79 + MongoShellParserRULE_collationMethod = 80 + MongoShellParserRULE_commentMethod = 81 + MongoShellParserRULE_explainMethod = 82 + MongoShellParserRULE_forEachMethod = 83 + MongoShellParserRULE_hasNextMethod = 84 + MongoShellParserRULE_hintMethod = 85 + MongoShellParserRULE_isClosedMethod = 86 + MongoShellParserRULE_isExhaustedMethod = 87 + MongoShellParserRULE_itcountMethod = 88 + MongoShellParserRULE_mapMethod = 89 + MongoShellParserRULE_maxMethod = 90 + MongoShellParserRULE_maxAwaitTimeMSMethod = 91 + MongoShellParserRULE_maxTimeMSMethod = 92 + MongoShellParserRULE_minMethod = 93 + MongoShellParserRULE_nextMethod = 94 + MongoShellParserRULE_noCursorTimeoutMethod = 95 + MongoShellParserRULE_objsLeftInBatchMethod = 96 + MongoShellParserRULE_prettyMethod = 97 + MongoShellParserRULE_readConcernMethod = 98 + MongoShellParserRULE_readPrefMethod = 99 + MongoShellParserRULE_returnKeyMethod = 100 + MongoShellParserRULE_showRecordIdMethod = 101 + MongoShellParserRULE_sizeMethod = 102 + MongoShellParserRULE_tailableMethod = 103 + MongoShellParserRULE_toArrayMethod = 104 + MongoShellParserRULE_tryNextMethod = 105 + MongoShellParserRULE_allowDiskUseMethod = 106 + MongoShellParserRULE_addOptionMethod = 107 + MongoShellParserRULE_arguments = 108 + MongoShellParserRULE_argument = 109 + MongoShellParserRULE_document = 110 + MongoShellParserRULE_pair = 111 + MongoShellParserRULE_key = 112 + MongoShellParserRULE_value = 113 + MongoShellParserRULE_newKeywordError = 114 + MongoShellParserRULE_array = 115 + MongoShellParserRULE_helperFunction = 116 + MongoShellParserRULE_objectIdHelper = 117 + MongoShellParserRULE_isoDateHelper = 118 + MongoShellParserRULE_dateHelper = 119 + MongoShellParserRULE_uuidHelper = 120 + MongoShellParserRULE_longHelper = 121 + MongoShellParserRULE_int32Helper = 122 + MongoShellParserRULE_doubleHelper = 123 + MongoShellParserRULE_decimal128Helper = 124 + MongoShellParserRULE_timestampHelper = 125 + MongoShellParserRULE_regExpConstructor = 126 + MongoShellParserRULE_binDataHelper = 127 + MongoShellParserRULE_binaryHelper = 128 + MongoShellParserRULE_bsonRegExpHelper = 129 + MongoShellParserRULE_hexDataHelper = 130 + MongoShellParserRULE_literal = 131 + MongoShellParserRULE_stringLiteral = 132 + MongoShellParserRULE_identifier = 133 ) // IProgramContext is an interface to support dynamic dispatch. @@ -1287,20 +1742,20 @@ func (p *MongoShellParser) Program() (localctx IProgramContext) { var _la int p.EnterOuterAlt(localctx, 1) - p.SetState(231) + p.SetState(271) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - for ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-2) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-1) != 0) || ((int64((_la-128)) & ^0x3f) == 0 && ((int64(1)<<(_la-128))&33816831) != 0) { + for ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-2) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-1) != 0) || ((int64((_la-128)) & ^0x3f) == 0 && ((int64(1)<<(_la-128))&-1) != 0) || ((int64((_la-192)) & ^0x3f) == 0 && ((int64(1)<<(_la-192))&4227103) != 0) { { - p.SetState(228) + p.SetState(268) p.Statement() } - p.SetState(233) + p.SetState(273) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1308,7 +1763,7 @@ func (p *MongoShellParser) Program() (localctx IProgramContext) { _la = p.GetTokenStream().LA(1) } { - p.SetState(234) + p.SetState(274) p.Match(MongoShellParserEOF) if p.HasError() { // Recognition error - abort rule @@ -1584,7 +2039,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { p.EnterRule(localctx, 2, MongoShellParserRULE_statement) var _la int - p.SetState(276) + p.SetState(316) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1594,10 +2049,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(236) + p.SetState(276) p.ShellCommand() } - p.SetState(238) + p.SetState(278) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1606,7 +2061,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(237) + p.SetState(277) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1619,10 +2074,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 2: p.EnterOuterAlt(localctx, 2) { - p.SetState(240) + p.SetState(280) p.DbStatement() } - p.SetState(242) + p.SetState(282) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1631,7 +2086,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(241) + p.SetState(281) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1644,10 +2099,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 3: p.EnterOuterAlt(localctx, 3) { - p.SetState(244) + p.SetState(284) p.BulkStatement() } - p.SetState(246) + p.SetState(286) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1656,7 +2111,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(245) + p.SetState(285) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1669,10 +2124,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 4: p.EnterOuterAlt(localctx, 4) { - p.SetState(248) + p.SetState(288) p.ConnectionStatement() } - p.SetState(250) + p.SetState(290) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1681,7 +2136,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(249) + p.SetState(289) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1694,10 +2149,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 5: p.EnterOuterAlt(localctx, 5) { - p.SetState(252) + p.SetState(292) p.RsStatement() } - p.SetState(254) + p.SetState(294) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1706,7 +2161,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(253) + p.SetState(293) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1719,10 +2174,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 6: p.EnterOuterAlt(localctx, 6) { - p.SetState(256) + p.SetState(296) p.ShStatement() } - p.SetState(258) + p.SetState(298) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1731,7 +2186,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(257) + p.SetState(297) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1744,10 +2199,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 7: p.EnterOuterAlt(localctx, 7) { - p.SetState(260) + p.SetState(300) p.EncryptionStatement() } - p.SetState(262) + p.SetState(302) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1756,7 +2211,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(261) + p.SetState(301) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1769,10 +2224,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 8: p.EnterOuterAlt(localctx, 8) { - p.SetState(264) + p.SetState(304) p.PlanCacheStatement() } - p.SetState(266) + p.SetState(306) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1781,7 +2236,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(265) + p.SetState(305) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1794,10 +2249,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 9: p.EnterOuterAlt(localctx, 9) { - p.SetState(268) + p.SetState(308) p.SpStatement() } - p.SetState(270) + p.SetState(310) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1806,7 +2261,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(269) + p.SetState(309) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -1819,10 +2274,10 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { case 10: p.EnterOuterAlt(localctx, 10) { - p.SetState(272) + p.SetState(312) p.NativeFunctionCall() } - p.SetState(274) + p.SetState(314) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -1831,7 +2286,7 @@ func (p *MongoShellParser) Statement() (localctx IStatementContext) { if _la == MongoShellParserSEMI { { - p.SetState(273) + p.SetState(313) p.Match(MongoShellParserSEMI) if p.HasError() { // Recognition error - abort rule @@ -2017,7 +2472,7 @@ func (p *MongoShellParser) ShellCommand() (localctx IShellCommandContext) { p.EnterRule(localctx, 4, MongoShellParserRULE_shellCommand) var _la int - p.SetState(282) + p.SetState(322) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -2028,7 +2483,7 @@ func (p *MongoShellParser) ShellCommand() (localctx IShellCommandContext) { localctx = NewShowDatabasesContext(p, localctx) p.EnterOuterAlt(localctx, 1) { - p.SetState(278) + p.SetState(318) p.Match(MongoShellParserSHOW) if p.HasError() { // Recognition error - abort rule @@ -2036,7 +2491,7 @@ func (p *MongoShellParser) ShellCommand() (localctx IShellCommandContext) { } } { - p.SetState(279) + p.SetState(319) _la = p.GetTokenStream().LA(1) if !(_la == MongoShellParserDBS || _la == MongoShellParserDATABASES) { @@ -2051,7 +2506,7 @@ func (p *MongoShellParser) ShellCommand() (localctx IShellCommandContext) { localctx = NewShowCollectionsContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(280) + p.SetState(320) p.Match(MongoShellParserSHOW) if p.HasError() { // Recognition error - abort rule @@ -2059,7 +2514,7 @@ func (p *MongoShellParser) ShellCommand() (localctx IShellCommandContext) { } } { - p.SetState(281) + p.SetState(321) p.Match(MongoShellParserCOLLECTIONS) if p.HasError() { // Recognition error - abort rule @@ -2138,12 +2593,12 @@ func (s *DbStatementContext) ToStringTree(ruleNames []string, recog antlr.Recogn return antlr.TreesStringTree(s, ruleNames, recog) } -type DropDatabaseContext struct { +type DbFsyncLockContext struct { DbStatementContext } -func NewDropDatabaseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DropDatabaseContext { - var p = new(DropDatabaseContext) +func NewDbFsyncLockContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbFsyncLockContext { + var p = new(DbFsyncLockContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2152,58 +2607,74 @@ func NewDropDatabaseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *D return p } -func (s *DropDatabaseContext) GetRuleContext() antlr.RuleContext { +func (s *DbFsyncLockContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DropDatabaseContext) DB() antlr.TerminalNode { +func (s *DbFsyncLockContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *DropDatabaseContext) DOT() antlr.TerminalNode { +func (s *DbFsyncLockContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *DropDatabaseContext) DROP_DATABASE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP_DATABASE, 0) +func (s *DbFsyncLockContext) FSYNC_LOCK() antlr.TerminalNode { + return s.GetToken(MongoShellParserFSYNC_LOCK, 0) } -func (s *DropDatabaseContext) LPAREN() antlr.TerminalNode { +func (s *DbFsyncLockContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DropDatabaseContext) RPAREN() antlr.TerminalNode { +func (s *DbFsyncLockContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DropDatabaseContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbFsyncLockContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbFsyncLockContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDropDatabase(s) + listenerT.EnterDbFsyncLock(s) } } -func (s *DropDatabaseContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbFsyncLockContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDropDatabase(s) + listenerT.ExitDbFsyncLock(s) } } -func (s *DropDatabaseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbFsyncLockContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDropDatabase(s) + return t.VisitDbFsyncLock(s) default: return t.VisitChildren(s) } } -type ServerStatusContext struct { +type DropDatabaseContext struct { DbStatementContext } -func NewServerStatusContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ServerStatusContext { - var p = new(ServerStatusContext) +func NewDropDatabaseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DropDatabaseContext { + var p = new(DropDatabaseContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2212,62 +2683,46 @@ func NewServerStatusContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *S return p } -func (s *ServerStatusContext) GetRuleContext() antlr.RuleContext { +func (s *DropDatabaseContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ServerStatusContext) DB() antlr.TerminalNode { +func (s *DropDatabaseContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *ServerStatusContext) DOT() antlr.TerminalNode { +func (s *DropDatabaseContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *ServerStatusContext) SERVER_STATUS() antlr.TerminalNode { - return s.GetToken(MongoShellParserSERVER_STATUS, 0) +func (s *DropDatabaseContext) DROP_DATABASE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_DATABASE, 0) } -func (s *ServerStatusContext) LPAREN() antlr.TerminalNode { +func (s *DropDatabaseContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ServerStatusContext) RPAREN() antlr.TerminalNode { +func (s *DropDatabaseContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ServerStatusContext) Argument() IArgumentContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentContext) -} - -func (s *ServerStatusContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DropDatabaseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterServerStatus(s) + listenerT.EnterDropDatabase(s) } } -func (s *ServerStatusContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DropDatabaseContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitServerStatus(s) + listenerT.ExitDropDatabase(s) } } -func (s *ServerStatusContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DropDatabaseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitServerStatus(s) + return t.VisitDropDatabase(s) default: return t.VisitChildren(s) @@ -2334,12 +2789,12 @@ func (s *GetNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { } } -type GetSiblingDBContext struct { +type DbDropAllUsersContext struct { DbStatementContext } -func NewGetSiblingDBContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetSiblingDBContext { - var p = new(GetSiblingDBContext) +func NewDbDropAllUsersContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbDropAllUsersContext { + var p = new(DbDropAllUsersContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2348,30 +2803,34 @@ func NewGetSiblingDBContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *G return p } -func (s *GetSiblingDBContext) GetRuleContext() antlr.RuleContext { +func (s *DbDropAllUsersContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GetSiblingDBContext) DB() antlr.TerminalNode { +func (s *DbDropAllUsersContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *GetSiblingDBContext) DOT() antlr.TerminalNode { +func (s *DbDropAllUsersContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *GetSiblingDBContext) GET_SIBLING_DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_SIBLING_DB, 0) +func (s *DbDropAllUsersContext) DROP_ALL_USERS() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_ALL_USERS, 0) } -func (s *GetSiblingDBContext) LPAREN() antlr.TerminalNode { +func (s *DbDropAllUsersContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GetSiblingDBContext) Argument() IArgumentContext { +func (s *DbDropAllUsersContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbDropAllUsersContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -2381,41 +2840,37 @@ func (s *GetSiblingDBContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) -} - -func (s *GetSiblingDBContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + return t.(IArgumentsContext) } -func (s *GetSiblingDBContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbDropAllUsersContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGetSiblingDB(s) + listenerT.EnterDbDropAllUsers(s) } } -func (s *GetSiblingDBContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbDropAllUsersContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGetSiblingDB(s) + listenerT.ExitDbDropAllUsers(s) } } -func (s *GetSiblingDBContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbDropAllUsersContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGetSiblingDB(s) + return t.VisitDbDropAllUsers(s) default: return t.VisitChildren(s) } } -type DbVersionContext struct { +type GetCollectionNamesContext struct { DbStatementContext } -func NewDbVersionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbVersionContext { - var p = new(DbVersionContext) +func NewGetCollectionNamesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetCollectionNamesContext { + var p = new(GetCollectionNamesContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2424,58 +2879,74 @@ func NewDbVersionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbVe return p } -func (s *DbVersionContext) GetRuleContext() antlr.RuleContext { +func (s *GetCollectionNamesContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DbVersionContext) DB() antlr.TerminalNode { +func (s *GetCollectionNamesContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *DbVersionContext) DOT() antlr.TerminalNode { +func (s *GetCollectionNamesContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *DbVersionContext) VERSION() antlr.TerminalNode { - return s.GetToken(MongoShellParserVERSION, 0) +func (s *GetCollectionNamesContext) GET_COLLECTION_NAMES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_COLLECTION_NAMES, 0) } -func (s *DbVersionContext) LPAREN() antlr.TerminalNode { +func (s *GetCollectionNamesContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DbVersionContext) RPAREN() antlr.TerminalNode { +func (s *GetCollectionNamesContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DbVersionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *GetCollectionNamesContext) MethodChain() IMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IMethodChainContext) +} + +func (s *GetCollectionNamesContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDbVersion(s) + listenerT.EnterGetCollectionNames(s) } } -func (s *DbVersionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *GetCollectionNamesContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDbVersion(s) + listenerT.ExitGetCollectionNames(s) } } -func (s *DbVersionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *GetCollectionNamesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDbVersion(s) + return t.VisitGetCollectionNames(s) default: return t.VisitChildren(s) } } -type HostInfoContext struct { +type DbSetProfilingLevelContext struct { DbStatementContext } -func NewHostInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *HostInfoContext { - var p = new(HostInfoContext) +func NewDbSetProfilingLevelContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbSetProfilingLevelContext { + var p = new(DbSetProfilingLevelContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2484,58 +2955,74 @@ func NewHostInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *HostI return p } -func (s *HostInfoContext) GetRuleContext() antlr.RuleContext { +func (s *DbSetProfilingLevelContext) GetRuleContext() antlr.RuleContext { return s } -func (s *HostInfoContext) DB() antlr.TerminalNode { +func (s *DbSetProfilingLevelContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *HostInfoContext) DOT() antlr.TerminalNode { +func (s *DbSetProfilingLevelContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *HostInfoContext) HOST_INFO() antlr.TerminalNode { - return s.GetToken(MongoShellParserHOST_INFO, 0) +func (s *DbSetProfilingLevelContext) SET_PROFILING_LEVEL() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_PROFILING_LEVEL, 0) } -func (s *HostInfoContext) LPAREN() antlr.TerminalNode { +func (s *DbSetProfilingLevelContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *HostInfoContext) RPAREN() antlr.TerminalNode { +func (s *DbSetProfilingLevelContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *HostInfoContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbSetProfilingLevelContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbSetProfilingLevelContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterHostInfo(s) + listenerT.EnterDbSetProfilingLevel(s) } } -func (s *HostInfoContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbSetProfilingLevelContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitHostInfo(s) + listenerT.ExitDbSetProfilingLevel(s) } } -func (s *HostInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbSetProfilingLevelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitHostInfo(s) + return t.VisitDbSetProfilingLevel(s) default: return t.VisitChildren(s) } } -type AdminCommandContext struct { +type DbDropUserContext struct { DbStatementContext } -func NewAdminCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *AdminCommandContext { - var p = new(AdminCommandContext) +func NewDbDropUserContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbDropUserContext { + var p = new(DbDropUserContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2544,27 +3031,31 @@ func NewAdminCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *A return p } -func (s *AdminCommandContext) GetRuleContext() antlr.RuleContext { +func (s *DbDropUserContext) GetRuleContext() antlr.RuleContext { return s } -func (s *AdminCommandContext) DB() antlr.TerminalNode { +func (s *DbDropUserContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *AdminCommandContext) DOT() antlr.TerminalNode { +func (s *DbDropUserContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *AdminCommandContext) ADMIN_COMMAND() antlr.TerminalNode { - return s.GetToken(MongoShellParserADMIN_COMMAND, 0) +func (s *DbDropUserContext) DROP_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_USER, 0) } -func (s *AdminCommandContext) LPAREN() antlr.TerminalNode { +func (s *DbDropUserContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *AdminCommandContext) Arguments() IArgumentsContext { +func (s *DbDropUserContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbDropUserContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -2580,38 +3071,34 @@ func (s *AdminCommandContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *AdminCommandContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *AdminCommandContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbDropUserContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterAdminCommand(s) + listenerT.EnterDbDropUser(s) } } -func (s *AdminCommandContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbDropUserContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitAdminCommand(s) + listenerT.ExitDbDropUser(s) } } -func (s *AdminCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbDropUserContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitAdminCommand(s) + return t.VisitDbDropUser(s) default: return t.VisitChildren(s) } } -type CollectionOperationContext struct { +type DbCloneDatabaseContext struct { DbStatementContext } -func NewCollectionOperationContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CollectionOperationContext { - var p = new(CollectionOperationContext) +func NewDbCloneDatabaseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCloneDatabaseContext { + var p = new(DbCloneDatabaseContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2620,34 +3107,34 @@ func NewCollectionOperationContext(parser antlr.Parser, ctx antlr.ParserRuleCont return p } -func (s *CollectionOperationContext) GetRuleContext() antlr.RuleContext { +func (s *DbCloneDatabaseContext) GetRuleContext() antlr.RuleContext { return s } -func (s *CollectionOperationContext) DB() antlr.TerminalNode { +func (s *DbCloneDatabaseContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *CollectionOperationContext) CollectionAccess() ICollectionAccessContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICollectionAccessContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *DbCloneDatabaseContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} - if t == nil { - return nil - } +func (s *DbCloneDatabaseContext) CLONE_DATABASE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCLONE_DATABASE, 0) +} - return t.(ICollectionAccessContext) +func (s *DbCloneDatabaseContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *CollectionOperationContext) MethodChain() IMethodChainContext { +func (s *DbCloneDatabaseContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCloneDatabaseContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMethodChainContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -2657,37 +3144,37 @@ func (s *CollectionOperationContext) MethodChain() IMethodChainContext { return nil } - return t.(IMethodChainContext) + return t.(IArgumentsContext) } -func (s *CollectionOperationContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbCloneDatabaseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterCollectionOperation(s) + listenerT.EnterDbCloneDatabase(s) } } -func (s *CollectionOperationContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbCloneDatabaseContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitCollectionOperation(s) + listenerT.ExitDbCloneDatabase(s) } } -func (s *CollectionOperationContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbCloneDatabaseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitCollectionOperation(s) + return t.VisitDbCloneDatabase(s) default: return t.VisitChildren(s) } } -type ListCommandsContext struct { +type GetCollectionInfosContext struct { DbStatementContext } -func NewListCommandsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ListCommandsContext { - var p = new(ListCommandsContext) +func NewGetCollectionInfosContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetCollectionInfosContext { + var p = new(GetCollectionInfosContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2696,58 +3183,90 @@ func NewListCommandsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *L return p } -func (s *ListCommandsContext) GetRuleContext() antlr.RuleContext { +func (s *GetCollectionInfosContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ListCommandsContext) DB() antlr.TerminalNode { +func (s *GetCollectionInfosContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *ListCommandsContext) DOT() antlr.TerminalNode { +func (s *GetCollectionInfosContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *ListCommandsContext) LIST_COMMANDS() antlr.TerminalNode { - return s.GetToken(MongoShellParserLIST_COMMANDS, 0) +func (s *GetCollectionInfosContext) GET_COLLECTION_INFOS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_COLLECTION_INFOS, 0) } -func (s *ListCommandsContext) LPAREN() antlr.TerminalNode { +func (s *GetCollectionInfosContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ListCommandsContext) RPAREN() antlr.TerminalNode { +func (s *GetCollectionInfosContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ListCommandsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *GetCollectionInfosContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *GetCollectionInfosContext) MethodChain() IMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IMethodChainContext) +} + +func (s *GetCollectionInfosContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterListCommands(s) + listenerT.EnterGetCollectionInfos(s) } } -func (s *ListCommandsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *GetCollectionInfosContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitListCommands(s) + listenerT.ExitGetCollectionInfos(s) } } -func (s *ListCommandsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *GetCollectionInfosContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitListCommands(s) + return t.VisitGetCollectionInfos(s) default: return t.VisitChildren(s) } } -type DbGenericMethodContext struct { +type DbPrintSecondaryReplicationInfoContext struct { DbStatementContext } -func NewDbGenericMethodContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGenericMethodContext { - var p = new(DbGenericMethodContext) +func NewDbPrintSecondaryReplicationInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbPrintSecondaryReplicationInfoContext { + var p = new(DbPrintSecondaryReplicationInfoContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2756,22 +3275,34 @@ func NewDbGenericMethodContext(parser antlr.Parser, ctx antlr.ParserRuleContext) return p } -func (s *DbGenericMethodContext) GetRuleContext() antlr.RuleContext { +func (s *DbPrintSecondaryReplicationInfoContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DbGenericMethodContext) DB() antlr.TerminalNode { +func (s *DbPrintSecondaryReplicationInfoContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *DbGenericMethodContext) DOT() antlr.TerminalNode { +func (s *DbPrintSecondaryReplicationInfoContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *DbGenericMethodContext) GenericDbMethod() IGenericDbMethodContext { +func (s *DbPrintSecondaryReplicationInfoContext) PRINT_SECONDARY_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_SECONDARY_REPLICATION_INFO, 0) +} + +func (s *DbPrintSecondaryReplicationInfoContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbPrintSecondaryReplicationInfoContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbPrintSecondaryReplicationInfoContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGenericDbMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -2781,37 +3312,37 @@ func (s *DbGenericMethodContext) GenericDbMethod() IGenericDbMethodContext { return nil } - return t.(IGenericDbMethodContext) + return t.(IArgumentsContext) } -func (s *DbGenericMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbPrintSecondaryReplicationInfoContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDbGenericMethod(s) + listenerT.EnterDbPrintSecondaryReplicationInfo(s) } } -func (s *DbGenericMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbPrintSecondaryReplicationInfoContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDbGenericMethod(s) + listenerT.ExitDbPrintSecondaryReplicationInfo(s) } } -func (s *DbGenericMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbPrintSecondaryReplicationInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDbGenericMethod(s) + return t.VisitDbPrintSecondaryReplicationInfo(s) default: return t.VisitChildren(s) } } -type GetCollectionNamesContext struct { +type DbPrintCollectionStatsContext struct { DbStatementContext } -func NewGetCollectionNamesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetCollectionNamesContext { - var p = new(GetCollectionNamesContext) +func NewDbPrintCollectionStatsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbPrintCollectionStatsContext { + var p = new(DbPrintCollectionStatsContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2820,34 +3351,34 @@ func NewGetCollectionNamesContext(parser antlr.Parser, ctx antlr.ParserRuleConte return p } -func (s *GetCollectionNamesContext) GetRuleContext() antlr.RuleContext { +func (s *DbPrintCollectionStatsContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GetCollectionNamesContext) DB() antlr.TerminalNode { +func (s *DbPrintCollectionStatsContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *GetCollectionNamesContext) DOT() antlr.TerminalNode { +func (s *DbPrintCollectionStatsContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *GetCollectionNamesContext) GET_COLLECTION_NAMES() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_COLLECTION_NAMES, 0) +func (s *DbPrintCollectionStatsContext) PRINT_COLLECTION_STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_COLLECTION_STATS, 0) } -func (s *GetCollectionNamesContext) LPAREN() antlr.TerminalNode { +func (s *DbPrintCollectionStatsContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GetCollectionNamesContext) RPAREN() antlr.TerminalNode { +func (s *DbPrintCollectionStatsContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *GetCollectionNamesContext) MethodChain() IMethodChainContext { +func (s *DbPrintCollectionStatsContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMethodChainContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -2857,37 +3388,37 @@ func (s *GetCollectionNamesContext) MethodChain() IMethodChainContext { return nil } - return t.(IMethodChainContext) + return t.(IArgumentsContext) } -func (s *GetCollectionNamesContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbPrintCollectionStatsContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGetCollectionNames(s) + listenerT.EnterDbPrintCollectionStats(s) } } -func (s *GetCollectionNamesContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbPrintCollectionStatsContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGetCollectionNames(s) + listenerT.ExitDbPrintCollectionStats(s) } } -func (s *GetCollectionNamesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbPrintCollectionStatsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGetCollectionNames(s) + return t.VisitDbPrintCollectionStats(s) default: return t.VisitChildren(s) } } -type GetCollectionInfosContext struct { +type DbShutdownServerContext struct { DbStatementContext } -func NewGetCollectionInfosContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetCollectionInfosContext { - var p = new(GetCollectionInfosContext) +func NewDbShutdownServerContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbShutdownServerContext { + var p = new(DbShutdownServerContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2896,31 +3427,31 @@ func NewGetCollectionInfosContext(parser antlr.Parser, ctx antlr.ParserRuleConte return p } -func (s *GetCollectionInfosContext) GetRuleContext() antlr.RuleContext { +func (s *DbShutdownServerContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GetCollectionInfosContext) DB() antlr.TerminalNode { +func (s *DbShutdownServerContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *GetCollectionInfosContext) DOT() antlr.TerminalNode { +func (s *DbShutdownServerContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *GetCollectionInfosContext) GET_COLLECTION_INFOS() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_COLLECTION_INFOS, 0) +func (s *DbShutdownServerContext) SHUTDOWN_SERVER() antlr.TerminalNode { + return s.GetToken(MongoShellParserSHUTDOWN_SERVER, 0) } -func (s *GetCollectionInfosContext) LPAREN() antlr.TerminalNode { +func (s *DbShutdownServerContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GetCollectionInfosContext) RPAREN() antlr.TerminalNode { +func (s *DbShutdownServerContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *GetCollectionInfosContext) Arguments() IArgumentsContext { +func (s *DbShutdownServerContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -2936,50 +3467,34 @@ func (s *GetCollectionInfosContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *GetCollectionInfosContext) MethodChain() IMethodChainContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMethodChainContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IMethodChainContext) -} - -func (s *GetCollectionInfosContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbShutdownServerContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGetCollectionInfos(s) + listenerT.EnterDbShutdownServer(s) } } -func (s *GetCollectionInfosContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbShutdownServerContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGetCollectionInfos(s) + listenerT.ExitDbShutdownServer(s) } } -func (s *GetCollectionInfosContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbShutdownServerContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGetCollectionInfos(s) + return t.VisitDbShutdownServer(s) default: return t.VisitChildren(s) } } -type GetMongoContext struct { +type ServerBuildInfoContext struct { DbStatementContext } -func NewGetMongoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetMongoContext { - var p = new(GetMongoContext) +func NewServerBuildInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ServerBuildInfoContext { + var p = new(ServerBuildInfoContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -2988,58 +3503,58 @@ func NewGetMongoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetMo return p } -func (s *GetMongoContext) GetRuleContext() antlr.RuleContext { +func (s *ServerBuildInfoContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GetMongoContext) DB() antlr.TerminalNode { +func (s *ServerBuildInfoContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *GetMongoContext) DOT() antlr.TerminalNode { +func (s *ServerBuildInfoContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *GetMongoContext) GET_MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_MONGO, 0) +func (s *ServerBuildInfoContext) SERVER_BUILD_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserSERVER_BUILD_INFO, 0) } -func (s *GetMongoContext) LPAREN() antlr.TerminalNode { +func (s *ServerBuildInfoContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GetMongoContext) RPAREN() antlr.TerminalNode { +func (s *ServerBuildInfoContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *GetMongoContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ServerBuildInfoContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGetMongo(s) + listenerT.EnterServerBuildInfo(s) } } -func (s *GetMongoContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ServerBuildInfoContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGetMongo(s) + listenerT.ExitServerBuildInfo(s) } } -func (s *GetMongoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ServerBuildInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGetMongo(s) + return t.VisitServerBuildInfo(s) default: return t.VisitChildren(s) } } -type DbStatsContext struct { +type DbDropAllRolesContext struct { DbStatementContext } -func NewDbStatsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbStatsContext { - var p = new(DbStatsContext) +func NewDbDropAllRolesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbDropAllRolesContext { + var p = new(DbDropAllRolesContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -3048,34 +3563,34 @@ func NewDbStatsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbStat return p } -func (s *DbStatsContext) GetRuleContext() antlr.RuleContext { +func (s *DbDropAllRolesContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DbStatsContext) DB() antlr.TerminalNode { +func (s *DbDropAllRolesContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *DbStatsContext) DOT() antlr.TerminalNode { +func (s *DbDropAllRolesContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *DbStatsContext) STATS() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTATS, 0) +func (s *DbDropAllRolesContext) DROP_ALL_ROLES() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_ALL_ROLES, 0) } -func (s *DbStatsContext) LPAREN() antlr.TerminalNode { +func (s *DbDropAllRolesContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DbStatsContext) RPAREN() antlr.TerminalNode { +func (s *DbDropAllRolesContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DbStatsContext) Argument() IArgumentContext { +func (s *DbDropAllRolesContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -3085,37 +3600,37 @@ func (s *DbStatsContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *DbStatsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbDropAllRolesContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDbStats(s) + listenerT.EnterDbDropAllRoles(s) } } -func (s *DbStatsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbDropAllRolesContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDbStats(s) + listenerT.ExitDbDropAllRoles(s) } } -func (s *DbStatsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbDropAllRolesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDbStats(s) + return t.VisitDbDropAllRoles(s) default: return t.VisitChildren(s) } } -type RunCommandContext struct { +type DbGetRoleContext struct { DbStatementContext } -func NewRunCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *RunCommandContext { - var p = new(RunCommandContext) +func NewDbGetRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetRoleContext { + var p = new(DbGetRoleContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -3124,27 +3639,31 @@ func NewRunCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *Run return p } -func (s *RunCommandContext) GetRuleContext() antlr.RuleContext { +func (s *DbGetRoleContext) GetRuleContext() antlr.RuleContext { return s } -func (s *RunCommandContext) DB() antlr.TerminalNode { +func (s *DbGetRoleContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *RunCommandContext) DOT() antlr.TerminalNode { +func (s *DbGetRoleContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *RunCommandContext) RUN_COMMAND() antlr.TerminalNode { - return s.GetToken(MongoShellParserRUN_COMMAND, 0) +func (s *DbGetRoleContext) GET_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_ROLE, 0) } -func (s *RunCommandContext) LPAREN() antlr.TerminalNode { +func (s *DbGetRoleContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *RunCommandContext) Arguments() IArgumentsContext { +func (s *DbGetRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetRoleContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -3160,38 +3679,34 @@ func (s *RunCommandContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *RunCommandContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *RunCommandContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbGetRoleContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterRunCommand(s) + listenerT.EnterDbGetRole(s) } } -func (s *RunCommandContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbGetRoleContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitRunCommand(s) + listenerT.ExitDbGetRole(s) } } -func (s *RunCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbGetRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitRunCommand(s) + return t.VisitDbGetRole(s) default: return t.VisitChildren(s) } } -type ServerBuildInfoContext struct { +type DbPrintReplicationInfoContext struct { DbStatementContext } -func NewServerBuildInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ServerBuildInfoContext { - var p = new(ServerBuildInfoContext) +func NewDbPrintReplicationInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbPrintReplicationInfoContext { + var p = new(DbPrintReplicationInfoContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -3200,58 +3715,74 @@ func NewServerBuildInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) return p } -func (s *ServerBuildInfoContext) GetRuleContext() antlr.RuleContext { +func (s *DbPrintReplicationInfoContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ServerBuildInfoContext) DB() antlr.TerminalNode { +func (s *DbPrintReplicationInfoContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *ServerBuildInfoContext) DOT() antlr.TerminalNode { +func (s *DbPrintReplicationInfoContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *ServerBuildInfoContext) SERVER_BUILD_INFO() antlr.TerminalNode { - return s.GetToken(MongoShellParserSERVER_BUILD_INFO, 0) +func (s *DbPrintReplicationInfoContext) PRINT_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_REPLICATION_INFO, 0) } -func (s *ServerBuildInfoContext) LPAREN() antlr.TerminalNode { +func (s *DbPrintReplicationInfoContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ServerBuildInfoContext) RPAREN() antlr.TerminalNode { +func (s *DbPrintReplicationInfoContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ServerBuildInfoContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbPrintReplicationInfoContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbPrintReplicationInfoContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterServerBuildInfo(s) + listenerT.EnterDbPrintReplicationInfo(s) } } -func (s *ServerBuildInfoContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbPrintReplicationInfoContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitServerBuildInfo(s) + listenerT.ExitDbPrintReplicationInfo(s) } } -func (s *ServerBuildInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbPrintReplicationInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitServerBuildInfo(s) + return t.VisitDbPrintReplicationInfo(s) default: return t.VisitChildren(s) } } -type CreateCollectionContext struct { +type DbGetProfilingLevelContext struct { DbStatementContext } -func NewCreateCollectionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateCollectionContext { - var p = new(CreateCollectionContext) +func NewDbGetProfilingLevelContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetProfilingLevelContext { + var p = new(DbGetProfilingLevelContext) InitEmptyDbStatementContext(&p.DbStatementContext) p.parser = parser @@ -3260,27 +3791,31 @@ func NewCreateCollectionContext(parser antlr.Parser, ctx antlr.ParserRuleContext return p } -func (s *CreateCollectionContext) GetRuleContext() antlr.RuleContext { +func (s *DbGetProfilingLevelContext) GetRuleContext() antlr.RuleContext { return s } -func (s *CreateCollectionContext) DB() antlr.TerminalNode { +func (s *DbGetProfilingLevelContext) DB() antlr.TerminalNode { return s.GetToken(MongoShellParserDB, 0) } -func (s *CreateCollectionContext) DOT() antlr.TerminalNode { +func (s *DbGetProfilingLevelContext) DOT() antlr.TerminalNode { return s.GetToken(MongoShellParserDOT, 0) } -func (s *CreateCollectionContext) CREATE_COLLECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserCREATE_COLLECTION, 0) +func (s *DbGetProfilingLevelContext) GET_PROFILING_LEVEL() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_PROFILING_LEVEL, 0) } -func (s *CreateCollectionContext) LPAREN() antlr.TerminalNode { +func (s *DbGetProfilingLevelContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *CreateCollectionContext) Arguments() IArgumentsContext { +func (s *DbGetProfilingLevelContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetProfilingLevelContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -3296,235 +3831,9870 @@ func (s *CreateCollectionContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *CreateCollectionContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *DbGetProfilingLevelContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetProfilingLevel(s) + } } -func (s *CreateCollectionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DbGetProfilingLevelContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterCreateCollection(s) + listenerT.ExitDbGetProfilingLevel(s) } } -func (s *CreateCollectionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DbGetProfilingLevelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetProfilingLevel(s) + + default: + return t.VisitChildren(s) + } +} + +type DbHelloContext struct { + DbStatementContext +} + +func NewDbHelloContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbHelloContext { + var p = new(DbHelloContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbHelloContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbHelloContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbHelloContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbHelloContext) HELLO() antlr.TerminalNode { + return s.GetToken(MongoShellParserHELLO, 0) +} + +func (s *DbHelloContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbHelloContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbHelloContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbHelloContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitCreateCollection(s) + listenerT.EnterDbHello(s) } } -func (s *CreateCollectionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DbHelloContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbHello(s) + } +} + +func (s *DbHelloContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitCreateCollection(s) + return t.VisitDbHello(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { - localctx = NewDbStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 6, MongoShellParserRULE_dbStatement) - var _la int +type DbSetSecondaryOkContext struct { + DbStatementContext +} - p.SetState(389) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } +func NewDbSetSecondaryOkContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbSetSecondaryOkContext { + var p = new(DbSetSecondaryOkContext) - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 18, p.GetParserRuleContext()) { - case 1: - localctx = NewGetCollectionNamesContext(p, localctx) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(284) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(285) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(286) - p.Match(MongoShellParserGET_COLLECTION_NAMES) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(287) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(288) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(290) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) - if _la == MongoShellParserDOT { - { - p.SetState(289) - p.MethodChain() - } + return p +} - } +func (s *DbSetSecondaryOkContext) GetRuleContext() antlr.RuleContext { + return s +} - case 2: - localctx = NewGetCollectionInfosContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(292) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(293) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(294) - p.Match(MongoShellParserGET_COLLECTION_INFOS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(295) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(297) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *DbSetSecondaryOkContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(296) - p.Arguments() - } +func (s *DbSetSecondaryOkContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} - } - { - p.SetState(299) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(301) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *DbSetSecondaryOkContext) SET_SECONDARY_OK() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_SECONDARY_OK, 0) +} - if _la == MongoShellParserDOT { - { - p.SetState(300) - p.MethodChain() - } +func (s *DbSetSecondaryOkContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - } +func (s *DbSetSecondaryOkContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - case 3: - localctx = NewCreateCollectionContext(p, localctx) - p.EnterOuterAlt(localctx, 3) - { - p.SetState(303) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(304) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(305) - p.Match(MongoShellParserCREATE_COLLECTION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(306) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(307) - p.Arguments() - } - { - p.SetState(308) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } +func (s *DbSetSecondaryOkContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break } + } - case 4: - localctx = NewDropDatabaseContext(p, localctx) - p.EnterOuterAlt(localctx, 4) - { - p.SetState(310) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbSetSecondaryOkContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbSetSecondaryOk(s) + } +} + +func (s *DbSetSecondaryOkContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbSetSecondaryOk(s) + } +} + +func (s *DbSetSecondaryOkContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbSetSecondaryOk(s) + + default: + return t.VisitChildren(s) + } +} + +type DbRevokeRolesFromRoleContext struct { + DbStatementContext +} + +func NewDbRevokeRolesFromRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbRevokeRolesFromRoleContext { + var p = new(DbRevokeRolesFromRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbRevokeRolesFromRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbRevokeRolesFromRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbRevokeRolesFromRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbRevokeRolesFromRoleContext) REVOKE_ROLES_FROM_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREVOKE_ROLES_FROM_ROLE, 0) +} + +func (s *DbRevokeRolesFromRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbRevokeRolesFromRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbRevokeRolesFromRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbRevokeRolesFromRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbRevokeRolesFromRole(s) + } +} + +func (s *DbRevokeRolesFromRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbRevokeRolesFromRole(s) + } +} + +func (s *DbRevokeRolesFromRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbRevokeRolesFromRole(s) + + default: + return t.VisitChildren(s) + } +} + +type DbSetWriteConcernContext struct { + DbStatementContext +} + +func NewDbSetWriteConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbSetWriteConcernContext { + var p = new(DbSetWriteConcernContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbSetWriteConcernContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbSetWriteConcernContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbSetWriteConcernContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbSetWriteConcernContext) SET_WRITE_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_WRITE_CONCERN, 0) +} + +func (s *DbSetWriteConcernContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbSetWriteConcernContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbSetWriteConcernContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbSetWriteConcernContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbSetWriteConcern(s) + } +} + +func (s *DbSetWriteConcernContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbSetWriteConcern(s) + } +} + +func (s *DbSetWriteConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbSetWriteConcern(s) + + default: + return t.VisitChildren(s) + } +} + +type DbStatsContext struct { + DbStatementContext +} + +func NewDbStatsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbStatsContext { + var p = new(DbStatsContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbStatsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbStatsContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbStatsContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbStatsContext) STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTATS, 0) +} + +func (s *DbStatsContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbStatsContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbStatsContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *DbStatsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbStats(s) + } +} + +func (s *DbStatsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbStats(s) + } +} + +func (s *DbStatsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbStats(s) + + default: + return t.VisitChildren(s) + } +} + +type DbRevokePrivilegesFromRoleContext struct { + DbStatementContext +} + +func NewDbRevokePrivilegesFromRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbRevokePrivilegesFromRoleContext { + var p = new(DbRevokePrivilegesFromRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbRevokePrivilegesFromRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbRevokePrivilegesFromRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbRevokePrivilegesFromRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbRevokePrivilegesFromRoleContext) REVOKE_PRIVILEGES_FROM_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE, 0) +} + +func (s *DbRevokePrivilegesFromRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbRevokePrivilegesFromRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbRevokePrivilegesFromRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbRevokePrivilegesFromRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbRevokePrivilegesFromRole(s) + } +} + +func (s *DbRevokePrivilegesFromRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbRevokePrivilegesFromRole(s) + } +} + +func (s *DbRevokePrivilegesFromRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbRevokePrivilegesFromRole(s) + + default: + return t.VisitChildren(s) + } +} + +type DbCommandHelpContext struct { + DbStatementContext +} + +func NewDbCommandHelpContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCommandHelpContext { + var p = new(DbCommandHelpContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbCommandHelpContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbCommandHelpContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbCommandHelpContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbCommandHelpContext) COMMAND_HELP() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMAND_HELP, 0) +} + +func (s *DbCommandHelpContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbCommandHelpContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCommandHelpContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbCommandHelpContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbCommandHelp(s) + } +} + +func (s *DbCommandHelpContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbCommandHelp(s) + } +} + +func (s *DbCommandHelpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbCommandHelp(s) + + default: + return t.VisitChildren(s) + } +} + +type DbAggregateContext struct { + DbStatementContext +} + +func NewDbAggregateContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbAggregateContext { + var p = new(DbAggregateContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbAggregateContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbAggregateContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbAggregateContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbAggregateContext) AGGREGATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserAGGREGATE, 0) +} + +func (s *DbAggregateContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbAggregateContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbAggregateContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbAggregateContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbAggregate(s) + } +} + +func (s *DbAggregateContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbAggregate(s) + } +} + +func (s *DbAggregateContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbAggregate(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGrantRolesToUserContext struct { + DbStatementContext +} + +func NewDbGrantRolesToUserContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGrantRolesToUserContext { + var p = new(DbGrantRolesToUserContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGrantRolesToUserContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGrantRolesToUserContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGrantRolesToUserContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGrantRolesToUserContext) GRANT_ROLES_TO_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserGRANT_ROLES_TO_USER, 0) +} + +func (s *DbGrantRolesToUserContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGrantRolesToUserContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGrantRolesToUserContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGrantRolesToUserContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGrantRolesToUser(s) + } +} + +func (s *DbGrantRolesToUserContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGrantRolesToUser(s) + } +} + +func (s *DbGrantRolesToUserContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGrantRolesToUser(s) + + default: + return t.VisitChildren(s) + } +} + +type DbIsMasterContext struct { + DbStatementContext +} + +func NewDbIsMasterContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbIsMasterContext { + var p = new(DbIsMasterContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbIsMasterContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbIsMasterContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbIsMasterContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbIsMasterContext) IS_MASTER() antlr.TerminalNode { + return s.GetToken(MongoShellParserIS_MASTER, 0) +} + +func (s *DbIsMasterContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbIsMasterContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbIsMasterContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbIsMasterContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbIsMaster(s) + } +} + +func (s *DbIsMasterContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbIsMaster(s) + } +} + +func (s *DbIsMasterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbIsMaster(s) + + default: + return t.VisitChildren(s) + } +} + +type DbLogoutContext struct { + DbStatementContext +} + +func NewDbLogoutContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbLogoutContext { + var p = new(DbLogoutContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbLogoutContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbLogoutContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbLogoutContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbLogoutContext) LOGOUT() antlr.TerminalNode { + return s.GetToken(MongoShellParserLOGOUT, 0) +} + +func (s *DbLogoutContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbLogoutContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbLogoutContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbLogoutContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbLogout(s) + } +} + +func (s *DbLogoutContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbLogout(s) + } +} + +func (s *DbLogoutContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbLogout(s) + + default: + return t.VisitChildren(s) + } +} + +type CreateCollectionContext struct { + DbStatementContext +} + +func NewCreateCollectionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CreateCollectionContext { + var p = new(CreateCollectionContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *CreateCollectionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CreateCollectionContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *CreateCollectionContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *CreateCollectionContext) CREATE_COLLECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_COLLECTION, 0) +} + +func (s *CreateCollectionContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *CreateCollectionContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *CreateCollectionContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *CreateCollectionContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterCreateCollection(s) + } +} + +func (s *CreateCollectionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitCreateCollection(s) + } +} + +func (s *CreateCollectionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitCreateCollection(s) + + default: + return t.VisitChildren(s) + } +} + +type DbCreateViewContext struct { + DbStatementContext +} + +func NewDbCreateViewContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCreateViewContext { + var p = new(DbCreateViewContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbCreateViewContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbCreateViewContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbCreateViewContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbCreateViewContext) CREATE_VIEW() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_VIEW, 0) +} + +func (s *DbCreateViewContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbCreateViewContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCreateViewContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbCreateViewContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbCreateView(s) + } +} + +func (s *DbCreateViewContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbCreateView(s) + } +} + +func (s *DbCreateViewContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbCreateView(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetProfilingStatusContext struct { + DbStatementContext +} + +func NewDbGetProfilingStatusContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetProfilingStatusContext { + var p = new(DbGetProfilingStatusContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGetProfilingStatusContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetProfilingStatusContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetProfilingStatusContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetProfilingStatusContext) GET_PROFILING_STATUS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_PROFILING_STATUS, 0) +} + +func (s *DbGetProfilingStatusContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetProfilingStatusContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetProfilingStatusContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGetProfilingStatusContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetProfilingStatus(s) + } +} + +func (s *DbGetProfilingStatusContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetProfilingStatus(s) + } +} + +func (s *DbGetProfilingStatusContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetProfilingStatus(s) + + default: + return t.VisitChildren(s) + } +} + +type ServerStatusContext struct { + DbStatementContext +} + +func NewServerStatusContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ServerStatusContext { + var p = new(ServerStatusContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *ServerStatusContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ServerStatusContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *ServerStatusContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *ServerStatusContext) SERVER_STATUS() antlr.TerminalNode { + return s.GetToken(MongoShellParserSERVER_STATUS, 0) +} + +func (s *ServerStatusContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ServerStatusContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ServerStatusContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *ServerStatusContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterServerStatus(s) + } +} + +func (s *ServerStatusContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitServerStatus(s) + } +} + +func (s *ServerStatusContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitServerStatus(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetReplicationInfoContext struct { + DbStatementContext +} + +func NewDbGetReplicationInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetReplicationInfoContext { + var p = new(DbGetReplicationInfoContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGetReplicationInfoContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetReplicationInfoContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetReplicationInfoContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetReplicationInfoContext) GET_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_REPLICATION_INFO, 0) +} + +func (s *DbGetReplicationInfoContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetReplicationInfoContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetReplicationInfoContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGetReplicationInfoContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetReplicationInfo(s) + } +} + +func (s *DbGetReplicationInfoContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetReplicationInfo(s) + } +} + +func (s *DbGetReplicationInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetReplicationInfo(s) + + default: + return t.VisitChildren(s) + } +} + +type DbRotateCertificatesContext struct { + DbStatementContext +} + +func NewDbRotateCertificatesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbRotateCertificatesContext { + var p = new(DbRotateCertificatesContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbRotateCertificatesContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbRotateCertificatesContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbRotateCertificatesContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbRotateCertificatesContext) ROTATE_CERTIFICATES() antlr.TerminalNode { + return s.GetToken(MongoShellParserROTATE_CERTIFICATES, 0) +} + +func (s *DbRotateCertificatesContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbRotateCertificatesContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbRotateCertificatesContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbRotateCertificatesContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbRotateCertificates(s) + } +} + +func (s *DbRotateCertificatesContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbRotateCertificates(s) + } +} + +func (s *DbRotateCertificatesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbRotateCertificates(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGrantRolesToRoleContext struct { + DbStatementContext +} + +func NewDbGrantRolesToRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGrantRolesToRoleContext { + var p = new(DbGrantRolesToRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGrantRolesToRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGrantRolesToRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGrantRolesToRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGrantRolesToRoleContext) GRANT_ROLES_TO_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGRANT_ROLES_TO_ROLE, 0) +} + +func (s *DbGrantRolesToRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGrantRolesToRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGrantRolesToRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGrantRolesToRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGrantRolesToRole(s) + } +} + +func (s *DbGrantRolesToRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGrantRolesToRole(s) + } +} + +func (s *DbGrantRolesToRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGrantRolesToRole(s) + + default: + return t.VisitChildren(s) + } +} + +type CollectionOperationContext struct { + DbStatementContext +} + +func NewCollectionOperationContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *CollectionOperationContext { + var p = new(CollectionOperationContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *CollectionOperationContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CollectionOperationContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *CollectionOperationContext) CollectionAccess() ICollectionAccessContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICollectionAccessContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ICollectionAccessContext) +} + +func (s *CollectionOperationContext) MethodChain() IMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IMethodChainContext) +} + +func (s *CollectionOperationContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterCollectionOperation(s) + } +} + +func (s *CollectionOperationContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitCollectionOperation(s) + } +} + +func (s *CollectionOperationContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitCollectionOperation(s) + + default: + return t.VisitChildren(s) + } +} + +type DbCurrentOpContext struct { + DbStatementContext +} + +func NewDbCurrentOpContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCurrentOpContext { + var p = new(DbCurrentOpContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbCurrentOpContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbCurrentOpContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbCurrentOpContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbCurrentOpContext) CURRENT_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserCURRENT_OP, 0) +} + +func (s *DbCurrentOpContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbCurrentOpContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCurrentOpContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbCurrentOpContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbCurrentOp(s) + } +} + +func (s *DbCurrentOpContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbCurrentOp(s) + } +} + +func (s *DbCurrentOpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbCurrentOp(s) + + default: + return t.VisitChildren(s) + } +} + +type DbUpdateUserContext struct { + DbStatementContext +} + +func NewDbUpdateUserContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbUpdateUserContext { + var p = new(DbUpdateUserContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbUpdateUserContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbUpdateUserContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbUpdateUserContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbUpdateUserContext) UPDATE_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_USER, 0) +} + +func (s *DbUpdateUserContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbUpdateUserContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbUpdateUserContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbUpdateUserContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbUpdateUser(s) + } +} + +func (s *DbUpdateUserContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbUpdateUser(s) + } +} + +func (s *DbUpdateUserContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbUpdateUser(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetUserContext struct { + DbStatementContext +} + +func NewDbGetUserContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetUserContext { + var p = new(DbGetUserContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGetUserContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetUserContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetUserContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetUserContext) GET_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_USER, 0) +} + +func (s *DbGetUserContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetUserContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetUserContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGetUserContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetUser(s) + } +} + +func (s *DbGetUserContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetUser(s) + } +} + +func (s *DbGetUserContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetUser(s) + + default: + return t.VisitChildren(s) + } +} + +type DbPrintSlaveReplicationInfoContext struct { + DbStatementContext +} + +func NewDbPrintSlaveReplicationInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbPrintSlaveReplicationInfoContext { + var p = new(DbPrintSlaveReplicationInfoContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbPrintSlaveReplicationInfoContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbPrintSlaveReplicationInfoContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbPrintSlaveReplicationInfoContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbPrintSlaveReplicationInfoContext) PRINT_SLAVE_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_SLAVE_REPLICATION_INFO, 0) +} + +func (s *DbPrintSlaveReplicationInfoContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbPrintSlaveReplicationInfoContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbPrintSlaveReplicationInfoContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbPrintSlaveReplicationInfoContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbPrintSlaveReplicationInfo(s) + } +} + +func (s *DbPrintSlaveReplicationInfoContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbPrintSlaveReplicationInfo(s) + } +} + +func (s *DbPrintSlaveReplicationInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbPrintSlaveReplicationInfo(s) + + default: + return t.VisitChildren(s) + } +} + +type DbWatchContext struct { + DbStatementContext +} + +func NewDbWatchContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbWatchContext { + var p = new(DbWatchContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbWatchContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbWatchContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbWatchContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbWatchContext) WATCH() antlr.TerminalNode { + return s.GetToken(MongoShellParserWATCH, 0) +} + +func (s *DbWatchContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbWatchContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbWatchContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbWatchContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbWatch(s) + } +} + +func (s *DbWatchContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbWatch(s) + } +} + +func (s *DbWatchContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbWatch(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGrantPrivilegesToRoleContext struct { + DbStatementContext +} + +func NewDbGrantPrivilegesToRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGrantPrivilegesToRoleContext { + var p = new(DbGrantPrivilegesToRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGrantPrivilegesToRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGrantPrivilegesToRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGrantPrivilegesToRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGrantPrivilegesToRoleContext) GRANT_PRIVILEGES_TO_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGRANT_PRIVILEGES_TO_ROLE, 0) +} + +func (s *DbGrantPrivilegesToRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGrantPrivilegesToRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGrantPrivilegesToRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGrantPrivilegesToRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGrantPrivilegesToRole(s) + } +} + +func (s *DbGrantPrivilegesToRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGrantPrivilegesToRole(s) + } +} + +func (s *DbGrantPrivilegesToRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGrantPrivilegesToRole(s) + + default: + return t.VisitChildren(s) + } +} + +type DbPrintShardingStatusContext struct { + DbStatementContext +} + +func NewDbPrintShardingStatusContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbPrintShardingStatusContext { + var p = new(DbPrintShardingStatusContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbPrintShardingStatusContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbPrintShardingStatusContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbPrintShardingStatusContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbPrintShardingStatusContext) PRINT_SHARDING_STATUS() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_SHARDING_STATUS, 0) +} + +func (s *DbPrintShardingStatusContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbPrintShardingStatusContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbPrintShardingStatusContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbPrintShardingStatusContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbPrintShardingStatus(s) + } +} + +func (s *DbPrintShardingStatusContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbPrintShardingStatus(s) + } +} + +func (s *DbPrintShardingStatusContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbPrintShardingStatus(s) + + default: + return t.VisitChildren(s) + } +} + +type DbDropRoleContext struct { + DbStatementContext +} + +func NewDbDropRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbDropRoleContext { + var p = new(DbDropRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbDropRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbDropRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbDropRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbDropRoleContext) DROP_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_ROLE, 0) +} + +func (s *DbDropRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbDropRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbDropRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbDropRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbDropRole(s) + } +} + +func (s *DbDropRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbDropRole(s) + } +} + +func (s *DbDropRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbDropRole(s) + + default: + return t.VisitChildren(s) + } +} + +type RunCommandContext struct { + DbStatementContext +} + +func NewRunCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *RunCommandContext { + var p = new(RunCommandContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *RunCommandContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *RunCommandContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *RunCommandContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *RunCommandContext) RUN_COMMAND() antlr.TerminalNode { + return s.GetToken(MongoShellParserRUN_COMMAND, 0) +} + +func (s *RunCommandContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *RunCommandContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *RunCommandContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *RunCommandContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterRunCommand(s) + } +} + +func (s *RunCommandContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitRunCommand(s) + } +} + +func (s *RunCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitRunCommand(s) + + default: + return t.VisitChildren(s) + } +} + +type DbRevokeRolesFromUserContext struct { + DbStatementContext +} + +func NewDbRevokeRolesFromUserContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbRevokeRolesFromUserContext { + var p = new(DbRevokeRolesFromUserContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbRevokeRolesFromUserContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbRevokeRolesFromUserContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbRevokeRolesFromUserContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbRevokeRolesFromUserContext) REVOKE_ROLES_FROM_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserREVOKE_ROLES_FROM_USER, 0) +} + +func (s *DbRevokeRolesFromUserContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbRevokeRolesFromUserContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbRevokeRolesFromUserContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbRevokeRolesFromUserContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbRevokeRolesFromUser(s) + } +} + +func (s *DbRevokeRolesFromUserContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbRevokeRolesFromUser(s) + } +} + +func (s *DbRevokeRolesFromUserContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbRevokeRolesFromUser(s) + + default: + return t.VisitChildren(s) + } +} + +type DbCopyDatabaseContext struct { + DbStatementContext +} + +func NewDbCopyDatabaseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCopyDatabaseContext { + var p = new(DbCopyDatabaseContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbCopyDatabaseContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbCopyDatabaseContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbCopyDatabaseContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbCopyDatabaseContext) COPY_DATABASE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOPY_DATABASE, 0) +} + +func (s *DbCopyDatabaseContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbCopyDatabaseContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCopyDatabaseContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbCopyDatabaseContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbCopyDatabase(s) + } +} + +func (s *DbCopyDatabaseContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbCopyDatabase(s) + } +} + +func (s *DbCopyDatabaseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbCopyDatabase(s) + + default: + return t.VisitChildren(s) + } +} + +type DbChangeUserPasswordContext struct { + DbStatementContext +} + +func NewDbChangeUserPasswordContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbChangeUserPasswordContext { + var p = new(DbChangeUserPasswordContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbChangeUserPasswordContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbChangeUserPasswordContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbChangeUserPasswordContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbChangeUserPasswordContext) CHANGE_USER_PASSWORD() antlr.TerminalNode { + return s.GetToken(MongoShellParserCHANGE_USER_PASSWORD, 0) +} + +func (s *DbChangeUserPasswordContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbChangeUserPasswordContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbChangeUserPasswordContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbChangeUserPasswordContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbChangeUserPassword(s) + } +} + +func (s *DbChangeUserPasswordContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbChangeUserPassword(s) + } +} + +func (s *DbChangeUserPasswordContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbChangeUserPassword(s) + + default: + return t.VisitChildren(s) + } +} + +type DbFsyncUnlockContext struct { + DbStatementContext +} + +func NewDbFsyncUnlockContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbFsyncUnlockContext { + var p = new(DbFsyncUnlockContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbFsyncUnlockContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbFsyncUnlockContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbFsyncUnlockContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbFsyncUnlockContext) FSYNC_UNLOCK() antlr.TerminalNode { + return s.GetToken(MongoShellParserFSYNC_UNLOCK, 0) +} + +func (s *DbFsyncUnlockContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbFsyncUnlockContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbFsyncUnlockContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbFsyncUnlockContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbFsyncUnlock(s) + } +} + +func (s *DbFsyncUnlockContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbFsyncUnlock(s) + } +} + +func (s *DbFsyncUnlockContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbFsyncUnlock(s) + + default: + return t.VisitChildren(s) + } +} + +type DbUpdateRoleContext struct { + DbStatementContext +} + +func NewDbUpdateRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbUpdateRoleContext { + var p = new(DbUpdateRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbUpdateRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbUpdateRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbUpdateRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbUpdateRoleContext) UPDATE_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_ROLE, 0) +} + +func (s *DbUpdateRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbUpdateRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbUpdateRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbUpdateRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbUpdateRole(s) + } +} + +func (s *DbUpdateRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbUpdateRole(s) + } +} + +func (s *DbUpdateRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbUpdateRole(s) + + default: + return t.VisitChildren(s) + } +} + +type DbSetLogLevelContext struct { + DbStatementContext +} + +func NewDbSetLogLevelContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbSetLogLevelContext { + var p = new(DbSetLogLevelContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbSetLogLevelContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbSetLogLevelContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbSetLogLevelContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbSetLogLevelContext) SET_LOG_LEVEL() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_LOG_LEVEL, 0) +} + +func (s *DbSetLogLevelContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbSetLogLevelContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbSetLogLevelContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbSetLogLevelContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbSetLogLevel(s) + } +} + +func (s *DbSetLogLevelContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbSetLogLevel(s) + } +} + +func (s *DbSetLogLevelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbSetLogLevel(s) + + default: + return t.VisitChildren(s) + } +} + +type GetSiblingDBContext struct { + DbStatementContext +} + +func NewGetSiblingDBContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetSiblingDBContext { + var p = new(GetSiblingDBContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *GetSiblingDBContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *GetSiblingDBContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *GetSiblingDBContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *GetSiblingDBContext) GET_SIBLING_DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_SIBLING_DB, 0) +} + +func (s *GetSiblingDBContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *GetSiblingDBContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *GetSiblingDBContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *GetSiblingDBContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterGetSiblingDB(s) + } +} + +func (s *GetSiblingDBContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitGetSiblingDB(s) + } +} + +func (s *GetSiblingDBContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitGetSiblingDB(s) + + default: + return t.VisitChildren(s) + } +} + +type DbCreateUserContext struct { + DbStatementContext +} + +func NewDbCreateUserContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCreateUserContext { + var p = new(DbCreateUserContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbCreateUserContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbCreateUserContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbCreateUserContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbCreateUserContext) CREATE_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_USER, 0) +} + +func (s *DbCreateUserContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbCreateUserContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCreateUserContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbCreateUserContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbCreateUser(s) + } +} + +func (s *DbCreateUserContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbCreateUser(s) + } +} + +func (s *DbCreateUserContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbCreateUser(s) + + default: + return t.VisitChildren(s) + } +} + +type DbVersionContext struct { + DbStatementContext +} + +func NewDbVersionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbVersionContext { + var p = new(DbVersionContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbVersionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbVersionContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbVersionContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbVersionContext) VERSION() antlr.TerminalNode { + return s.GetToken(MongoShellParserVERSION, 0) +} + +func (s *DbVersionContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbVersionContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbVersionContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbVersion(s) + } +} + +func (s *DbVersionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbVersion(s) + } +} + +func (s *DbVersionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbVersion(s) + + default: + return t.VisitChildren(s) + } +} + +type HostInfoContext struct { + DbStatementContext +} + +func NewHostInfoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *HostInfoContext { + var p = new(HostInfoContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *HostInfoContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *HostInfoContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *HostInfoContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *HostInfoContext) HOST_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserHOST_INFO, 0) +} + +func (s *HostInfoContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *HostInfoContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *HostInfoContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterHostInfo(s) + } +} + +func (s *HostInfoContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitHostInfo(s) + } +} + +func (s *HostInfoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitHostInfo(s) + + default: + return t.VisitChildren(s) + } +} + +type AdminCommandContext struct { + DbStatementContext +} + +func NewAdminCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *AdminCommandContext { + var p = new(AdminCommandContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *AdminCommandContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AdminCommandContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *AdminCommandContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *AdminCommandContext) ADMIN_COMMAND() antlr.TerminalNode { + return s.GetToken(MongoShellParserADMIN_COMMAND, 0) +} + +func (s *AdminCommandContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *AdminCommandContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *AdminCommandContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *AdminCommandContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterAdminCommand(s) + } +} + +func (s *AdminCommandContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitAdminCommand(s) + } +} + +func (s *AdminCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitAdminCommand(s) + + default: + return t.VisitChildren(s) + } +} + +type ListCommandsContext struct { + DbStatementContext +} + +func NewListCommandsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ListCommandsContext { + var p = new(ListCommandsContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *ListCommandsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ListCommandsContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *ListCommandsContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *ListCommandsContext) LIST_COMMANDS() antlr.TerminalNode { + return s.GetToken(MongoShellParserLIST_COMMANDS, 0) +} + +func (s *ListCommandsContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ListCommandsContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ListCommandsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterListCommands(s) + } +} + +func (s *ListCommandsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitListCommands(s) + } +} + +func (s *ListCommandsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitListCommands(s) + + default: + return t.VisitChildren(s) + } +} + +type DbAuthContext struct { + DbStatementContext +} + +func NewDbAuthContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbAuthContext { + var p = new(DbAuthContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbAuthContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbAuthContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbAuthContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbAuthContext) AUTH() antlr.TerminalNode { + return s.GetToken(MongoShellParserAUTH, 0) +} + +func (s *DbAuthContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbAuthContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbAuthContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbAuthContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbAuth(s) + } +} + +func (s *DbAuthContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbAuth(s) + } +} + +func (s *DbAuthContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbAuth(s) + + default: + return t.VisitChildren(s) + } +} + +type DbCreateRoleContext struct { + DbStatementContext +} + +func NewDbCreateRoleContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbCreateRoleContext { + var p = new(DbCreateRoleContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbCreateRoleContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbCreateRoleContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbCreateRoleContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbCreateRoleContext) CREATE_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_ROLE, 0) +} + +func (s *DbCreateRoleContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbCreateRoleContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbCreateRoleContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbCreateRoleContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbCreateRole(s) + } +} + +func (s *DbCreateRoleContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbCreateRole(s) + } +} + +func (s *DbCreateRoleContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbCreateRole(s) + + default: + return t.VisitChildren(s) + } +} + +type GetMongoContext struct { + DbStatementContext +} + +func NewGetMongoContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetMongoContext { + var p = new(GetMongoContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *GetMongoContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *GetMongoContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *GetMongoContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *GetMongoContext) GET_MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_MONGO, 0) +} + +func (s *GetMongoContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *GetMongoContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *GetMongoContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterGetMongo(s) + } +} + +func (s *GetMongoContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitGetMongo(s) + } +} + +func (s *GetMongoContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitGetMongo(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetRolesContext struct { + DbStatementContext +} + +func NewDbGetRolesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetRolesContext { + var p = new(DbGetRolesContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGetRolesContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetRolesContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetRolesContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetRolesContext) GET_ROLES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_ROLES, 0) +} + +func (s *DbGetRolesContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetRolesContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetRolesContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGetRolesContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetRoles(s) + } +} + +func (s *DbGetRolesContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetRoles(s) + } +} + +func (s *DbGetRolesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetRoles(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetUsersContext struct { + DbStatementContext +} + +func NewDbGetUsersContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetUsersContext { + var p = new(DbGetUsersContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGetUsersContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetUsersContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetUsersContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetUsersContext) GET_USERS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_USERS, 0) +} + +func (s *DbGetUsersContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetUsersContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetUsersContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGetUsersContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetUsers(s) + } +} + +func (s *DbGetUsersContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetUsers(s) + } +} + +func (s *DbGetUsersContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetUsers(s) + + default: + return t.VisitChildren(s) + } +} + +type DbKillOpContext struct { + DbStatementContext +} + +func NewDbKillOpContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbKillOpContext { + var p = new(DbKillOpContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbKillOpContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbKillOpContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbKillOpContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbKillOpContext) KILL_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserKILL_OP, 0) +} + +func (s *DbKillOpContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbKillOpContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbKillOpContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbKillOpContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbKillOp(s) + } +} + +func (s *DbKillOpContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbKillOp(s) + } +} + +func (s *DbKillOpContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbKillOp(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetLogComponentsContext struct { + DbStatementContext +} + +func NewDbGetLogComponentsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetLogComponentsContext { + var p = new(DbGetLogComponentsContext) + + InitEmptyDbStatementContext(&p.DbStatementContext) + p.parser = parser + p.CopyAll(ctx.(*DbStatementContext)) + + return p +} + +func (s *DbGetLogComponentsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetLogComponentsContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetLogComponentsContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetLogComponentsContext) GET_LOG_COMPONENTS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_LOG_COMPONENTS, 0) +} + +func (s *DbGetLogComponentsContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetLogComponentsContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetLogComponentsContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *DbGetLogComponentsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetLogComponents(s) + } +} + +func (s *DbGetLogComponentsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetLogComponents(s) + } +} + +func (s *DbGetLogComponentsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetLogComponents(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { + localctx = NewDbStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 6, MongoShellParserRULE_dbStatement) + var _la int + + p.SetState(810) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 66, p.GetParserRuleContext()) { + case 1: + localctx = NewGetCollectionNamesContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(324) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(325) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(326) + p.Match(MongoShellParserGET_COLLECTION_NAMES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(327) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(328) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(330) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserDOT { + { + p.SetState(329) + p.MethodChain() + } + + } + + case 2: + localctx = NewGetCollectionInfosContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(332) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(333) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(334) + p.Match(MongoShellParserGET_COLLECTION_INFOS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(335) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(337) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(336) + p.Arguments() + } + + } + { + p.SetState(339) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(341) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserDOT { + { + p.SetState(340) + p.MethodChain() + } + + } + + case 3: + localctx = NewCreateCollectionContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(343) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(344) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(345) + p.Match(MongoShellParserCREATE_COLLECTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(346) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(347) + p.Arguments() + } + { + p.SetState(348) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 4: + localctx = NewDropDatabaseContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(350) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(351) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(352) + p.Match(MongoShellParserDROP_DATABASE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(353) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(354) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 5: + localctx = NewDbStatsContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + { + p.SetState(355) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(356) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(357) + p.Match(MongoShellParserSTATS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(358) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(360) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(359) + p.Argument() + } + + } + { + p.SetState(362) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 6: + localctx = NewServerStatusContext(p, localctx) + p.EnterOuterAlt(localctx, 6) + { + p.SetState(363) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(364) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(365) + p.Match(MongoShellParserSERVER_STATUS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(366) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(368) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(367) + p.Argument() + } + + } + { + p.SetState(370) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 7: + localctx = NewServerBuildInfoContext(p, localctx) + p.EnterOuterAlt(localctx, 7) + { + p.SetState(371) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(372) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(373) + p.Match(MongoShellParserSERVER_BUILD_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(374) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(375) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 8: + localctx = NewDbVersionContext(p, localctx) + p.EnterOuterAlt(localctx, 8) + { + p.SetState(376) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(377) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(378) + p.Match(MongoShellParserVERSION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(379) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(380) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 9: + localctx = NewHostInfoContext(p, localctx) + p.EnterOuterAlt(localctx, 9) + { + p.SetState(381) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(382) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(383) + p.Match(MongoShellParserHOST_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(384) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(385) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 10: + localctx = NewListCommandsContext(p, localctx) + p.EnterOuterAlt(localctx, 10) + { + p.SetState(386) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(387) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(388) + p.Match(MongoShellParserLIST_COMMANDS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(389) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(390) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 11: + localctx = NewRunCommandContext(p, localctx) + p.EnterOuterAlt(localctx, 11) + { + p.SetState(391) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(392) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(393) + p.Match(MongoShellParserRUN_COMMAND) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(394) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(395) + p.Arguments() + } + { + p.SetState(396) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 12: + localctx = NewAdminCommandContext(p, localctx) + p.EnterOuterAlt(localctx, 12) + { + p.SetState(398) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(399) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(400) + p.Match(MongoShellParserADMIN_COMMAND) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(401) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(402) + p.Arguments() + } + { + p.SetState(403) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 13: + localctx = NewGetNameContext(p, localctx) + p.EnterOuterAlt(localctx, 13) + { + p.SetState(405) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(406) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(407) + p.Match(MongoShellParserGET_NAME) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(408) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(409) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 14: + localctx = NewGetMongoContext(p, localctx) + p.EnterOuterAlt(localctx, 14) + { + p.SetState(410) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(411) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(412) + p.Match(MongoShellParserGET_MONGO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(413) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(414) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 15: + localctx = NewGetSiblingDBContext(p, localctx) + p.EnterOuterAlt(localctx, 15) + { + p.SetState(415) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(416) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(417) + p.Match(MongoShellParserGET_SIBLING_DB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(418) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(419) + p.Argument() + } + { + p.SetState(420) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 16: + localctx = NewDbAggregateContext(p, localctx) + p.EnterOuterAlt(localctx, 16) + { + p.SetState(422) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(423) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(424) + p.Match(MongoShellParserAGGREGATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(425) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(427) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(426) + p.Arguments() + } + + } + { + p.SetState(429) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 17: + localctx = NewDbAuthContext(p, localctx) + p.EnterOuterAlt(localctx, 17) + { + p.SetState(430) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(431) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(432) + p.Match(MongoShellParserAUTH) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(433) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(435) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(434) + p.Arguments() + } + + } + { + p.SetState(437) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 18: + localctx = NewDbChangeUserPasswordContext(p, localctx) + p.EnterOuterAlt(localctx, 18) + { + p.SetState(438) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(439) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(440) + p.Match(MongoShellParserCHANGE_USER_PASSWORD) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(441) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(443) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(442) + p.Arguments() + } + + } + { + p.SetState(445) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 19: + localctx = NewDbCloneDatabaseContext(p, localctx) + p.EnterOuterAlt(localctx, 19) + { + p.SetState(446) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(447) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(448) + p.Match(MongoShellParserCLONE_DATABASE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(449) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(451) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(450) + p.Arguments() + } + + } + { + p.SetState(453) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 20: + localctx = NewDbCommandHelpContext(p, localctx) + p.EnterOuterAlt(localctx, 20) + { + p.SetState(454) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(455) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(456) + p.Match(MongoShellParserCOMMAND_HELP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(457) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(459) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(458) + p.Arguments() + } + + } + { + p.SetState(461) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 21: + localctx = NewDbCopyDatabaseContext(p, localctx) + p.EnterOuterAlt(localctx, 21) + { + p.SetState(462) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(463) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(464) + p.Match(MongoShellParserCOPY_DATABASE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(465) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(467) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(466) + p.Arguments() + } + + } + { + p.SetState(469) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 22: + localctx = NewDbCreateRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 22) + { + p.SetState(470) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(471) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(472) + p.Match(MongoShellParserCREATE_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(473) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(475) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(474) + p.Arguments() + } + + } + { + p.SetState(477) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 23: + localctx = NewDbCreateUserContext(p, localctx) + p.EnterOuterAlt(localctx, 23) + { + p.SetState(478) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(479) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(480) + p.Match(MongoShellParserCREATE_USER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(481) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(483) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(482) + p.Arguments() + } + + } + { + p.SetState(485) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 24: + localctx = NewDbCreateViewContext(p, localctx) + p.EnterOuterAlt(localctx, 24) + { + p.SetState(486) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(487) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(488) + p.Match(MongoShellParserCREATE_VIEW) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(489) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(491) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(490) + p.Arguments() + } + + } + { + p.SetState(493) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 25: + localctx = NewDbCurrentOpContext(p, localctx) + p.EnterOuterAlt(localctx, 25) + { + p.SetState(494) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(495) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(496) + p.Match(MongoShellParserCURRENT_OP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(497) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(499) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(498) + p.Arguments() + } + + } + { + p.SetState(501) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 26: + localctx = NewDbDropAllRolesContext(p, localctx) + p.EnterOuterAlt(localctx, 26) + { + p.SetState(502) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(503) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(504) + p.Match(MongoShellParserDROP_ALL_ROLES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(505) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(507) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(506) + p.Arguments() + } + + } + { + p.SetState(509) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 27: + localctx = NewDbDropAllUsersContext(p, localctx) + p.EnterOuterAlt(localctx, 27) + { + p.SetState(510) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(511) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(512) + p.Match(MongoShellParserDROP_ALL_USERS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(513) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(515) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(514) + p.Arguments() + } + + } + { + p.SetState(517) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 28: + localctx = NewDbDropRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 28) + { + p.SetState(518) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(519) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(520) + p.Match(MongoShellParserDROP_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(521) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(523) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(522) + p.Arguments() + } + + } + { + p.SetState(525) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 29: + localctx = NewDbDropUserContext(p, localctx) + p.EnterOuterAlt(localctx, 29) + { + p.SetState(526) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(527) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(528) + p.Match(MongoShellParserDROP_USER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(529) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(531) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(530) + p.Arguments() + } + + } + { + p.SetState(533) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 30: + localctx = NewDbFsyncLockContext(p, localctx) + p.EnterOuterAlt(localctx, 30) + { + p.SetState(534) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(535) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(536) + p.Match(MongoShellParserFSYNC_LOCK) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(537) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(539) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(538) + p.Arguments() + } + + } + { + p.SetState(541) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 31: + localctx = NewDbFsyncUnlockContext(p, localctx) + p.EnterOuterAlt(localctx, 31) + { + p.SetState(542) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(543) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(544) + p.Match(MongoShellParserFSYNC_UNLOCK) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(545) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(547) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(546) + p.Arguments() + } + + } + { + p.SetState(549) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 32: + localctx = NewDbGetLogComponentsContext(p, localctx) + p.EnterOuterAlt(localctx, 32) + { + p.SetState(550) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(551) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(552) + p.Match(MongoShellParserGET_LOG_COMPONENTS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(553) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(555) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(554) + p.Arguments() + } + + } + { + p.SetState(557) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 33: + localctx = NewDbGetProfilingLevelContext(p, localctx) + p.EnterOuterAlt(localctx, 33) + { + p.SetState(558) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(559) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(560) + p.Match(MongoShellParserGET_PROFILING_LEVEL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(561) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(563) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(562) + p.Arguments() + } + + } + { + p.SetState(565) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 34: + localctx = NewDbGetProfilingStatusContext(p, localctx) + p.EnterOuterAlt(localctx, 34) + { + p.SetState(566) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(567) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(568) + p.Match(MongoShellParserGET_PROFILING_STATUS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(569) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(571) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(570) + p.Arguments() + } + + } + { + p.SetState(573) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 35: + localctx = NewDbGetReplicationInfoContext(p, localctx) + p.EnterOuterAlt(localctx, 35) + { + p.SetState(574) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(575) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(576) + p.Match(MongoShellParserGET_REPLICATION_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(577) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(579) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(578) + p.Arguments() + } + + } + { + p.SetState(581) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 36: + localctx = NewDbGetRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 36) + { + p.SetState(582) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(583) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(584) + p.Match(MongoShellParserGET_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(585) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(587) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(586) + p.Arguments() + } + + } + { + p.SetState(589) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 37: + localctx = NewDbGetRolesContext(p, localctx) + p.EnterOuterAlt(localctx, 37) + { + p.SetState(590) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(591) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(592) + p.Match(MongoShellParserGET_ROLES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(593) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(595) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(594) + p.Arguments() + } + + } + { + p.SetState(597) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 38: + localctx = NewDbGetUserContext(p, localctx) + p.EnterOuterAlt(localctx, 38) + { + p.SetState(598) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(599) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(600) + p.Match(MongoShellParserGET_USER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(601) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(603) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(602) + p.Arguments() + } + + } + { + p.SetState(605) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 39: + localctx = NewDbGetUsersContext(p, localctx) + p.EnterOuterAlt(localctx, 39) + { + p.SetState(606) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(607) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(608) + p.Match(MongoShellParserGET_USERS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(609) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(611) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(610) + p.Arguments() + } + + } + { + p.SetState(613) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 40: + localctx = NewDbGrantPrivilegesToRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 40) + { + p.SetState(614) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(615) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(616) + p.Match(MongoShellParserGRANT_PRIVILEGES_TO_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(617) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(619) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(618) + p.Arguments() + } + + } + { + p.SetState(621) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 41: + localctx = NewDbGrantRolesToRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 41) + { + p.SetState(622) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(623) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(624) + p.Match(MongoShellParserGRANT_ROLES_TO_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(625) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(627) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(626) + p.Arguments() + } + + } + { + p.SetState(629) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 42: + localctx = NewDbGrantRolesToUserContext(p, localctx) + p.EnterOuterAlt(localctx, 42) + { + p.SetState(630) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(631) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(632) + p.Match(MongoShellParserGRANT_ROLES_TO_USER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(633) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(635) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(634) + p.Arguments() + } + + } + { + p.SetState(637) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 43: + localctx = NewDbHelloContext(p, localctx) + p.EnterOuterAlt(localctx, 43) + { + p.SetState(638) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(639) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(640) + p.Match(MongoShellParserHELLO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(641) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(643) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(642) + p.Arguments() + } + + } + { + p.SetState(645) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 44: + localctx = NewDbIsMasterContext(p, localctx) + p.EnterOuterAlt(localctx, 44) + { + p.SetState(646) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(647) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(648) + p.Match(MongoShellParserIS_MASTER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(649) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(651) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(650) + p.Arguments() + } + + } + { + p.SetState(653) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 45: + localctx = NewDbKillOpContext(p, localctx) + p.EnterOuterAlt(localctx, 45) + { + p.SetState(654) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(655) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(656) + p.Match(MongoShellParserKILL_OP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(657) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(659) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(658) + p.Arguments() + } + + } + { + p.SetState(661) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 46: + localctx = NewDbLogoutContext(p, localctx) + p.EnterOuterAlt(localctx, 46) + { + p.SetState(662) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(663) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(664) + p.Match(MongoShellParserLOGOUT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(665) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(667) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(666) + p.Arguments() + } + + } + { + p.SetState(669) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 47: + localctx = NewDbPrintCollectionStatsContext(p, localctx) + p.EnterOuterAlt(localctx, 47) + { + p.SetState(670) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(671) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(672) + p.Match(MongoShellParserPRINT_COLLECTION_STATS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(673) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(675) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(674) + p.Arguments() + } + + } + { + p.SetState(677) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 48: + localctx = NewDbPrintReplicationInfoContext(p, localctx) + p.EnterOuterAlt(localctx, 48) + { + p.SetState(678) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(679) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(680) + p.Match(MongoShellParserPRINT_REPLICATION_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(681) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(683) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(682) + p.Arguments() + } + + } + { + p.SetState(685) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 49: + localctx = NewDbPrintSecondaryReplicationInfoContext(p, localctx) + p.EnterOuterAlt(localctx, 49) + { + p.SetState(686) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(687) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(688) + p.Match(MongoShellParserPRINT_SECONDARY_REPLICATION_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(689) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(691) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(690) + p.Arguments() + } + + } + { + p.SetState(693) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 50: + localctx = NewDbPrintShardingStatusContext(p, localctx) + p.EnterOuterAlt(localctx, 50) + { + p.SetState(694) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(695) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(696) + p.Match(MongoShellParserPRINT_SHARDING_STATUS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(697) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(699) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(698) + p.Arguments() + } + + } + { + p.SetState(701) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 51: + localctx = NewDbPrintSlaveReplicationInfoContext(p, localctx) + p.EnterOuterAlt(localctx, 51) + { + p.SetState(702) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(703) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(704) + p.Match(MongoShellParserPRINT_SLAVE_REPLICATION_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(705) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(707) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(706) + p.Arguments() + } + + } + { + p.SetState(709) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 52: + localctx = NewDbRevokePrivilegesFromRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 52) + { + p.SetState(710) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(711) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(712) + p.Match(MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(713) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(715) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(714) + p.Arguments() + } + + } + { + p.SetState(717) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 53: + localctx = NewDbRevokeRolesFromRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 53) + { + p.SetState(718) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(719) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(720) + p.Match(MongoShellParserREVOKE_ROLES_FROM_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(721) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(723) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(722) + p.Arguments() + } + + } + { + p.SetState(725) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 54: + localctx = NewDbRevokeRolesFromUserContext(p, localctx) + p.EnterOuterAlt(localctx, 54) + { + p.SetState(726) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(727) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(728) + p.Match(MongoShellParserREVOKE_ROLES_FROM_USER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(729) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(731) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(730) + p.Arguments() + } + + } + { + p.SetState(733) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 55: + localctx = NewDbRotateCertificatesContext(p, localctx) + p.EnterOuterAlt(localctx, 55) + { + p.SetState(734) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(735) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(736) + p.Match(MongoShellParserROTATE_CERTIFICATES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(737) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(739) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(738) + p.Arguments() + } + + } + { + p.SetState(741) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 56: + localctx = NewDbSetLogLevelContext(p, localctx) + p.EnterOuterAlt(localctx, 56) + { + p.SetState(742) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(743) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(744) + p.Match(MongoShellParserSET_LOG_LEVEL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(745) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(747) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(746) + p.Arguments() + } + + } + { + p.SetState(749) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 57: + localctx = NewDbSetProfilingLevelContext(p, localctx) + p.EnterOuterAlt(localctx, 57) + { + p.SetState(750) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(751) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(752) + p.Match(MongoShellParserSET_PROFILING_LEVEL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(753) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(755) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(754) + p.Arguments() + } + + } + { + p.SetState(757) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 58: + localctx = NewDbSetSecondaryOkContext(p, localctx) + p.EnterOuterAlt(localctx, 58) + { + p.SetState(758) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(759) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(760) + p.Match(MongoShellParserSET_SECONDARY_OK) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(761) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(763) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(762) + p.Arguments() + } + + } + { + p.SetState(765) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 59: + localctx = NewDbSetWriteConcernContext(p, localctx) + p.EnterOuterAlt(localctx, 59) + { + p.SetState(766) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(767) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(768) + p.Match(MongoShellParserSET_WRITE_CONCERN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(769) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(771) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(770) + p.Arguments() + } + + } + { + p.SetState(773) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 60: + localctx = NewDbShutdownServerContext(p, localctx) + p.EnterOuterAlt(localctx, 60) + { + p.SetState(774) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(775) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(776) + p.Match(MongoShellParserSHUTDOWN_SERVER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(777) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(779) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(778) + p.Arguments() + } + + } + { + p.SetState(781) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 61: + localctx = NewDbUpdateRoleContext(p, localctx) + p.EnterOuterAlt(localctx, 61) + { + p.SetState(782) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(783) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(784) + p.Match(MongoShellParserUPDATE_ROLE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(785) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(787) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(786) + p.Arguments() + } + + } + { + p.SetState(789) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 62: + localctx = NewDbUpdateUserContext(p, localctx) + p.EnterOuterAlt(localctx, 62) + { + p.SetState(790) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(791) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(792) + p.Match(MongoShellParserUPDATE_USER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(793) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(795) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(794) + p.Arguments() + } + + } + { + p.SetState(797) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 63: + localctx = NewDbWatchContext(p, localctx) + p.EnterOuterAlt(localctx, 63) + { + p.SetState(798) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(799) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(800) + p.Match(MongoShellParserWATCH) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(801) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(803) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(802) + p.Arguments() + } + + } + { + p.SetState(805) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 64: + localctx = NewCollectionOperationContext(p, localctx) + p.EnterOuterAlt(localctx, 64) + { + p.SetState(806) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(807) + p.CollectionAccess() + } + { + p.SetState(808) + p.MethodChain() + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IBulkStatementContext is an interface to support dynamic dispatch. +type IBulkStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + DB() antlr.TerminalNode + CollectionAccess() ICollectionAccessContext + DOT() antlr.TerminalNode + BulkInitMethod() IBulkInitMethodContext + BulkMethodChain() IBulkMethodChainContext + + // IsBulkStatementContext differentiates from other interfaces. + IsBulkStatementContext() +} + +type BulkStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBulkStatementContext() *BulkStatementContext { + var p = new(BulkStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkStatement + return p +} + +func InitEmptyBulkStatementContext(p *BulkStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkStatement +} + +func (*BulkStatementContext) IsBulkStatementContext() {} + +func NewBulkStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkStatementContext { + var p = new(BulkStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_bulkStatement + + return p +} + +func (s *BulkStatementContext) GetParser() antlr.Parser { return s.parser } + +func (s *BulkStatementContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *BulkStatementContext) CollectionAccess() ICollectionAccessContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICollectionAccessContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ICollectionAccessContext) +} + +func (s *BulkStatementContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *BulkStatementContext) BulkInitMethod() IBulkInitMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBulkInitMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IBulkInitMethodContext) +} + +func (s *BulkStatementContext) BulkMethodChain() IBulkMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBulkMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IBulkMethodChainContext) +} + +func (s *BulkStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BulkStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkStatement(s) + } +} + +func (s *BulkStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkStatement(s) + } +} + +func (s *BulkStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkStatement(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) BulkStatement() (localctx IBulkStatementContext) { + localctx = NewBulkStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 8, MongoShellParserRULE_bulkStatement) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(812) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(813) + p.CollectionAccess() + } + { + p.SetState(814) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(815) + p.BulkInitMethod() + } + p.SetState(817) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserDOT { + { + p.SetState(816) + p.BulkMethodChain() + } + + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IBulkInitMethodContext is an interface to support dynamic dispatch. +type IBulkInitMethodContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode + + // IsBulkInitMethodContext differentiates from other interfaces. + IsBulkInitMethodContext() +} + +type BulkInitMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBulkInitMethodContext() *BulkInitMethodContext { + var p = new(BulkInitMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkInitMethod + return p +} + +func InitEmptyBulkInitMethodContext(p *BulkInitMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkInitMethod +} + +func (*BulkInitMethodContext) IsBulkInitMethodContext() {} + +func NewBulkInitMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkInitMethodContext { + var p = new(BulkInitMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_bulkInitMethod + + return p +} + +func (s *BulkInitMethodContext) GetParser() antlr.Parser { return s.parser } + +func (s *BulkInitMethodContext) INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserINITIALIZE_ORDERED_BULK_OP, 0) +} + +func (s *BulkInitMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkInitMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkInitMethodContext) INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserINITIALIZE_UNORDERED_BULK_OP, 0) +} + +func (s *BulkInitMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkInitMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BulkInitMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkInitMethod(s) + } +} + +func (s *BulkInitMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkInitMethod(s) + } +} + +func (s *BulkInitMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkInitMethod(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) BulkInitMethod() (localctx IBulkInitMethodContext) { + localctx = NewBulkInitMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 10, MongoShellParserRULE_bulkInitMethod) + p.SetState(825) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetTokenStream().LA(1) { + case MongoShellParserINITIALIZE_ORDERED_BULK_OP: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(819) + p.Match(MongoShellParserINITIALIZE_ORDERED_BULK_OP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(820) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(821) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserINITIALIZE_UNORDERED_BULK_OP: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(822) + p.Match(MongoShellParserINITIALIZE_UNORDERED_BULK_OP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(823) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(824) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IBulkMethodChainContext is an interface to support dynamic dispatch. +type IBulkMethodChainContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + AllDOT() []antlr.TerminalNode + DOT(i int) antlr.TerminalNode + AllBulkMethod() []IBulkMethodContext + BulkMethod(i int) IBulkMethodContext + + // IsBulkMethodChainContext differentiates from other interfaces. + IsBulkMethodChainContext() +} + +type BulkMethodChainContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBulkMethodChainContext() *BulkMethodChainContext { + var p = new(BulkMethodChainContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkMethodChain + return p +} + +func InitEmptyBulkMethodChainContext(p *BulkMethodChainContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkMethodChain +} + +func (*BulkMethodChainContext) IsBulkMethodChainContext() {} + +func NewBulkMethodChainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkMethodChainContext { + var p = new(BulkMethodChainContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_bulkMethodChain + + return p +} + +func (s *BulkMethodChainContext) GetParser() antlr.Parser { return s.parser } + +func (s *BulkMethodChainContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) +} + +func (s *BulkMethodChainContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) +} + +func (s *BulkMethodChainContext) AllBulkMethod() []IBulkMethodContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IBulkMethodContext); ok { + len++ + } + } + + tst := make([]IBulkMethodContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IBulkMethodContext); ok { + tst[i] = t.(IBulkMethodContext) + i++ + } + } + + return tst +} + +func (s *BulkMethodChainContext) BulkMethod(i int) IBulkMethodContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBulkMethodContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IBulkMethodContext) +} + +func (s *BulkMethodChainContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkMethodChainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BulkMethodChainContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkMethodChain(s) + } +} + +func (s *BulkMethodChainContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkMethodChain(s) + } +} + +func (s *BulkMethodChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkMethodChain(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) BulkMethodChain() (localctx IBulkMethodChainContext) { + localctx = NewBulkMethodChainContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 12, MongoShellParserRULE_bulkMethodChain) + var _la int + + p.EnterOuterAlt(localctx, 1) + p.SetState(829) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for ok := true; ok; ok = _la == MongoShellParserDOT { + { + p.SetState(827) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(828) + p.BulkMethod() + } + + p.SetState(831) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IBulkMethodContext is an interface to support dynamic dispatch. +type IBulkMethodContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsBulkMethodContext differentiates from other interfaces. + IsBulkMethodContext() +} + +type BulkMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyBulkMethodContext() *BulkMethodContext { + var p = new(BulkMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkMethod + return p +} + +func InitEmptyBulkMethodContext(p *BulkMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_bulkMethod +} + +func (*BulkMethodContext) IsBulkMethodContext() {} + +func NewBulkMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkMethodContext { + var p = new(BulkMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_bulkMethod + + return p +} + +func (s *BulkMethodContext) GetParser() antlr.Parser { return s.parser } + +func (s *BulkMethodContext) CopyAll(ctx *BulkMethodContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *BulkMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type BulkToStringContext struct { + BulkMethodContext +} + +func NewBulkToStringContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkToStringContext { + var p = new(BulkToStringContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkToStringContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkToStringContext) TO_STRING() antlr.TerminalNode { + return s.GetToken(MongoShellParserTO_STRING, 0) +} + +func (s *BulkToStringContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkToStringContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkToStringContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkToString(s) + } +} + +func (s *BulkToStringContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkToString(s) + } +} + +func (s *BulkToStringContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkToString(s) + + default: + return t.VisitChildren(s) + } +} + +type BulkGetOperationsContext struct { + BulkMethodContext +} + +func NewBulkGetOperationsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkGetOperationsContext { + var p = new(BulkGetOperationsContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkGetOperationsContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkGetOperationsContext) GET_OPERATIONS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_OPERATIONS, 0) +} + +func (s *BulkGetOperationsContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkGetOperationsContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkGetOperationsContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkGetOperations(s) + } +} + +func (s *BulkGetOperationsContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkGetOperations(s) + } +} + +func (s *BulkGetOperationsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkGetOperations(s) + + default: + return t.VisitChildren(s) + } +} + +type BulkFindContext struct { + BulkMethodContext +} + +func NewBulkFindContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkFindContext { + var p = new(BulkFindContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkFindContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkFindContext) FIND() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND, 0) +} + +func (s *BulkFindContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkFindContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *BulkFindContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkFindContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkFind(s) + } +} + +func (s *BulkFindContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkFind(s) + } +} + +func (s *BulkFindContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkFind(s) + + default: + return t.VisitChildren(s) + } +} + +type BulkInsertContext struct { + BulkMethodContext +} + +func NewBulkInsertContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkInsertContext { + var p = new(BulkInsertContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkInsertContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkInsertContext) INSERT() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT, 0) +} + +func (s *BulkInsertContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkInsertContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *BulkInsertContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkInsertContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkInsert(s) + } +} + +func (s *BulkInsertContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkInsert(s) + } +} + +func (s *BulkInsertContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkInsert(s) + + default: + return t.VisitChildren(s) + } +} + +type BulkExecuteContext struct { + BulkMethodContext +} + +func NewBulkExecuteContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkExecuteContext { + var p = new(BulkExecuteContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkExecuteContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkExecuteContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(MongoShellParserEXECUTE, 0) +} + +func (s *BulkExecuteContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkExecuteContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkExecuteContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *BulkExecuteContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkExecute(s) + } +} + +func (s *BulkExecuteContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkExecute(s) + } +} + +func (s *BulkExecuteContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkExecute(s) + + default: + return t.VisitChildren(s) + } +} + +type BulkRemoveContext struct { + BulkMethodContext +} + +func NewBulkRemoveContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkRemoveContext { + var p = new(BulkRemoveContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkRemoveContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkRemoveContext) REMOVE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREMOVE, 0) +} + +func (s *BulkRemoveContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkRemoveContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkRemoveContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkRemove(s) + } +} + +func (s *BulkRemoveContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkRemove(s) + } +} + +func (s *BulkRemoveContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkRemove(s) + + default: + return t.VisitChildren(s) + } +} + +type BulkGenericMethodContext struct { + BulkMethodContext +} + +func NewBulkGenericMethodContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkGenericMethodContext { + var p = new(BulkGenericMethodContext) + + InitEmptyBulkMethodContext(&p.BulkMethodContext) + p.parser = parser + p.CopyAll(ctx.(*BulkMethodContext)) + + return p +} + +func (s *BulkGenericMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *BulkGenericMethodContext) Identifier() IIdentifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *BulkGenericMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *BulkGenericMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *BulkGenericMethodContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *BulkGenericMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBulkGenericMethod(s) + } +} + +func (s *BulkGenericMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBulkGenericMethod(s) + } +} + +func (s *BulkGenericMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBulkGenericMethod(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { + localctx = NewBulkMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 14, MongoShellParserRULE_bulkMethod) + var _la int + + p.SetState(865) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 72, p.GetParserRuleContext()) { + case 1: + localctx = NewBulkFindContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(833) + p.Match(MongoShellParserFIND) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(834) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(835) + p.Argument() + } + { + p.SetState(836) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 2: + localctx = NewBulkInsertContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(838) + p.Match(MongoShellParserINSERT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(839) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(840) + p.Argument() + } + { + p.SetState(841) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 3: + localctx = NewBulkRemoveContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(843) + p.Match(MongoShellParserREMOVE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(844) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(845) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 4: + localctx = NewBulkExecuteContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(846) + p.Match(MongoShellParserEXECUTE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(847) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(849) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(848) + p.Argument() + } + + } + { + p.SetState(851) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 5: + localctx = NewBulkGetOperationsContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + { + p.SetState(852) + p.Match(MongoShellParserGET_OPERATIONS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(853) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(854) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 6: + localctx = NewBulkToStringContext(p, localctx) + p.EnterOuterAlt(localctx, 6) + { + p.SetState(855) + p.Match(MongoShellParserTO_STRING) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(856) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(857) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 7: + localctx = NewBulkGenericMethodContext(p, localctx) + p.EnterOuterAlt(localctx, 7) + { + p.SetState(858) + p.Identifier() + } + { + p.SetState(859) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(861) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(860) + p.Arguments() + } + + } + { + p.SetState(863) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IConnectionStatementContext is an interface to support dynamic dispatch. +type IConnectionStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsConnectionStatementContext differentiates from other interfaces. + IsConnectionStatementContext() +} + +type ConnectionStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyConnectionStatementContext() *ConnectionStatementContext { + var p = new(ConnectionStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_connectionStatement + return p +} + +func InitEmptyConnectionStatementContext(p *ConnectionStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_connectionStatement +} + +func (*ConnectionStatementContext) IsConnectionStatementContext() {} + +func NewConnectionStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConnectionStatementContext { + var p = new(ConnectionStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_connectionStatement + + return p +} + +func (s *ConnectionStatementContext) GetParser() antlr.Parser { return s.parser } + +func (s *ConnectionStatementContext) CopyAll(ctx *ConnectionStatementContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *ConnectionStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnectionStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type ConnectCallContext struct { + ConnectionStatementContext +} + +func NewConnectCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnectCallContext { + var p = new(ConnectCallContext) + + InitEmptyConnectionStatementContext(&p.ConnectionStatementContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionStatementContext)) + + return p +} + +func (s *ConnectCallContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnectCallContext) CONNECT() antlr.TerminalNode { + return s.GetToken(MongoShellParserCONNECT, 0) +} + +func (s *ConnectCallContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ConnectCallContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ConnectCallContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *ConnectCallContext) ConnectionMethodChain() IConnectionMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConnectionMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IConnectionMethodChainContext) +} + +func (s *ConnectCallContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnectCall(s) + } +} + +func (s *ConnectCallContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnectCall(s) + } +} + +func (s *ConnectCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnectCall(s) + + default: + return t.VisitChildren(s) + } +} + +type MongoConnectionContext struct { + ConnectionStatementContext +} + +func NewMongoConnectionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MongoConnectionContext { + var p = new(MongoConnectionContext) + + InitEmptyConnectionStatementContext(&p.ConnectionStatementContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionStatementContext)) + + return p +} + +func (s *MongoConnectionContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MongoConnectionContext) MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserMONGO, 0) +} + +func (s *MongoConnectionContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *MongoConnectionContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *MongoConnectionContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *MongoConnectionContext) ConnectionMethodChain() IConnectionMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConnectionMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IConnectionMethodChainContext) +} + +func (s *MongoConnectionContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterMongoConnection(s) + } +} + +func (s *MongoConnectionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitMongoConnection(s) + } +} + +func (s *MongoConnectionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitMongoConnection(s) + + default: + return t.VisitChildren(s) + } +} + +type DbGetMongoChainContext struct { + ConnectionStatementContext +} + +func NewDbGetMongoChainContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetMongoChainContext { + var p = new(DbGetMongoChainContext) + + InitEmptyConnectionStatementContext(&p.ConnectionStatementContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionStatementContext)) + + return p +} + +func (s *DbGetMongoChainContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DbGetMongoChainContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *DbGetMongoChainContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DbGetMongoChainContext) GET_MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_MONGO, 0) +} + +func (s *DbGetMongoChainContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *DbGetMongoChainContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DbGetMongoChainContext) ConnectionMethodChain() IConnectionMethodChainContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConnectionMethodChainContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IConnectionMethodChainContext) +} + +func (s *DbGetMongoChainContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDbGetMongoChain(s) + } +} + +func (s *DbGetMongoChainContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDbGetMongoChain(s) + } +} + +func (s *DbGetMongoChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDbGetMongoChain(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) ConnectionStatement() (localctx IConnectionStatementContext) { + localctx = NewConnectionStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 16, MongoShellParserRULE_connectionStatement) + var _la int + + p.SetState(891) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetTokenStream().LA(1) { + case MongoShellParserMONGO: + localctx = NewMongoConnectionContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(867) + p.Match(MongoShellParserMONGO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(868) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(870) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(869) + p.Arguments() + } + + } + { + p.SetState(872) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(874) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserDOT { + { + p.SetState(873) + p.ConnectionMethodChain() + } + + } + + case MongoShellParserCONNECT: + localctx = NewConnectCallContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(876) + p.Match(MongoShellParserCONNECT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(877) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(879) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(878) + p.Arguments() + } + + } + { + p.SetState(881) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(883) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserDOT { + { + p.SetState(882) + p.ConnectionMethodChain() + } + + } + + case MongoShellParserDB: + localctx = NewDbGetMongoChainContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(885) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(886) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(887) + p.Match(MongoShellParserGET_MONGO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(888) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(889) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(890) + p.ConnectionMethodChain() + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IConnectionMethodChainContext is an interface to support dynamic dispatch. +type IConnectionMethodChainContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + AllDOT() []antlr.TerminalNode + DOT(i int) antlr.TerminalNode + AllConnectionMethod() []IConnectionMethodContext + ConnectionMethod(i int) IConnectionMethodContext + + // IsConnectionMethodChainContext differentiates from other interfaces. + IsConnectionMethodChainContext() +} + +type ConnectionMethodChainContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyConnectionMethodChainContext() *ConnectionMethodChainContext { + var p = new(ConnectionMethodChainContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_connectionMethodChain + return p +} + +func InitEmptyConnectionMethodChainContext(p *ConnectionMethodChainContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_connectionMethodChain +} + +func (*ConnectionMethodChainContext) IsConnectionMethodChainContext() {} + +func NewConnectionMethodChainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConnectionMethodChainContext { + var p = new(ConnectionMethodChainContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_connectionMethodChain + + return p +} + +func (s *ConnectionMethodChainContext) GetParser() antlr.Parser { return s.parser } + +func (s *ConnectionMethodChainContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) +} + +func (s *ConnectionMethodChainContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) +} + +func (s *ConnectionMethodChainContext) AllConnectionMethod() []IConnectionMethodContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IConnectionMethodContext); ok { + len++ + } + } + + tst := make([]IConnectionMethodContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IConnectionMethodContext); ok { + tst[i] = t.(IConnectionMethodContext) + i++ + } + } + + return tst +} + +func (s *ConnectionMethodChainContext) ConnectionMethod(i int) IConnectionMethodContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConnectionMethodContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IConnectionMethodContext) +} + +func (s *ConnectionMethodChainContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnectionMethodChainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ConnectionMethodChainContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnectionMethodChain(s) + } +} + +func (s *ConnectionMethodChainContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnectionMethodChain(s) + } +} + +func (s *ConnectionMethodChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnectionMethodChain(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) ConnectionMethodChain() (localctx IConnectionMethodChainContext) { + localctx = NewConnectionMethodChainContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 18, MongoShellParserRULE_connectionMethodChain) + var _la int + + p.EnterOuterAlt(localctx, 1) + p.SetState(895) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + for ok := true; ok; ok = _la == MongoShellParserDOT { + { + p.SetState(893) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(894) + p.ConnectionMethod() + } + + p.SetState(897) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IRsStatementContext is an interface to support dynamic dispatch. +type IRsStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + RS() antlr.TerminalNode + DOT() antlr.TerminalNode + Identifier() IIdentifierContext + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + + // IsRsStatementContext differentiates from other interfaces. + IsRsStatementContext() +} + +type RsStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyRsStatementContext() *RsStatementContext { + var p = new(RsStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_rsStatement + return p +} + +func InitEmptyRsStatementContext(p *RsStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_rsStatement +} + +func (*RsStatementContext) IsRsStatementContext() {} + +func NewRsStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RsStatementContext { + var p = new(RsStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_rsStatement + + return p +} + +func (s *RsStatementContext) GetParser() antlr.Parser { return s.parser } + +func (s *RsStatementContext) RS() antlr.TerminalNode { + return s.GetToken(MongoShellParserRS, 0) +} + +func (s *RsStatementContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *RsStatementContext) Identifier() IIdentifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *RsStatementContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *RsStatementContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *RsStatementContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *RsStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *RsStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *RsStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterRsStatement(s) + } +} + +func (s *RsStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitRsStatement(s) + } +} + +func (s *RsStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitRsStatement(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) RsStatement() (localctx IRsStatementContext) { + localctx = NewRsStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 20, MongoShellParserRULE_rsStatement) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(899) + p.Match(MongoShellParserRS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(900) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(901) + p.Identifier() + } + { + p.SetState(902) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(904) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(903) + p.Arguments() + } + + } + { + p.SetState(906) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IShStatementContext is an interface to support dynamic dispatch. +type IShStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + SH() antlr.TerminalNode + DOT() antlr.TerminalNode + Identifier() IIdentifierContext + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + + // IsShStatementContext differentiates from other interfaces. + IsShStatementContext() +} + +type ShStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyShStatementContext() *ShStatementContext { + var p = new(ShStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_shStatement + return p +} + +func InitEmptyShStatementContext(p *ShStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_shStatement +} + +func (*ShStatementContext) IsShStatementContext() {} + +func NewShStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShStatementContext { + var p = new(ShStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_shStatement + + return p +} + +func (s *ShStatementContext) GetParser() antlr.Parser { return s.parser } + +func (s *ShStatementContext) SH() antlr.TerminalNode { + return s.GetToken(MongoShellParserSH, 0) +} + +func (s *ShStatementContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *ShStatementContext) Identifier() IIdentifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *ShStatementContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ShStatementContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ShStatementContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *ShStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ShStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ShStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterShStatement(s) + } +} + +func (s *ShStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitShStatement(s) + } +} + +func (s *ShStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitShStatement(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) ShStatement() (localctx IShStatementContext) { + localctx = NewShStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 22, MongoShellParserRULE_shStatement) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(908) + p.Match(MongoShellParserSH) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(909) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(910) + p.Identifier() + } + { + p.SetState(911) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(913) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(912) + p.Arguments() + } + + } + { + p.SetState(915) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IEncryptionStatementContext is an interface to support dynamic dispatch. +type IEncryptionStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsEncryptionStatementContext differentiates from other interfaces. + IsEncryptionStatementContext() +} + +type EncryptionStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyEncryptionStatementContext() *EncryptionStatementContext { + var p = new(EncryptionStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_encryptionStatement + return p +} + +func InitEmptyEncryptionStatementContext(p *EncryptionStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_encryptionStatement +} + +func (*EncryptionStatementContext) IsEncryptionStatementContext() {} + +func NewEncryptionStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *EncryptionStatementContext { + var p = new(EncryptionStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_encryptionStatement + + return p +} + +func (s *EncryptionStatementContext) GetParser() antlr.Parser { return s.parser } + +func (s *EncryptionStatementContext) CopyAll(ctx *EncryptionStatementContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *EncryptionStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *EncryptionStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type KeyVaultStatementContext struct { + EncryptionStatementContext +} + +func NewKeyVaultStatementContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *KeyVaultStatementContext { + var p = new(KeyVaultStatementContext) + + InitEmptyEncryptionStatementContext(&p.EncryptionStatementContext) + p.parser = parser + p.CopyAll(ctx.(*EncryptionStatementContext)) + + return p +} + +func (s *KeyVaultStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *KeyVaultStatementContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *KeyVaultStatementContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) +} + +func (s *KeyVaultStatementContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) +} + +func (s *KeyVaultStatementContext) GET_MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_MONGO, 0) +} + +func (s *KeyVaultStatementContext) AllLPAREN() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserLPAREN) +} + +func (s *KeyVaultStatementContext) LPAREN(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, i) +} + +func (s *KeyVaultStatementContext) AllRPAREN() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserRPAREN) +} + +func (s *KeyVaultStatementContext) RPAREN(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, i) +} + +func (s *KeyVaultStatementContext) GET_KEY_VAULT() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_KEY_VAULT, 0) +} + +func (s *KeyVaultStatementContext) AllIdentifier() []IIdentifierContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IIdentifierContext); ok { + len++ + } + } + + tst := make([]IIdentifierContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IIdentifierContext); ok { + tst[i] = t.(IIdentifierContext) + i++ + } + } + + return tst +} + +func (s *KeyVaultStatementContext) Identifier(i int) IIdentifierContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *KeyVaultStatementContext) AllArguments() []IArgumentsContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IArgumentsContext); ok { + len++ + } + } + + tst := make([]IArgumentsContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IArgumentsContext); ok { + tst[i] = t.(IArgumentsContext) + i++ + } + } + + return tst +} + +func (s *KeyVaultStatementContext) Arguments(i int) IArgumentsContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *KeyVaultStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterKeyVaultStatement(s) + } +} + +func (s *KeyVaultStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitKeyVaultStatement(s) + } +} + +func (s *KeyVaultStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitKeyVaultStatement(s) + + default: + return t.VisitChildren(s) + } +} + +type ClientEncryptionStatementContext struct { + EncryptionStatementContext +} + +func NewClientEncryptionStatementContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ClientEncryptionStatementContext { + var p = new(ClientEncryptionStatementContext) + + InitEmptyEncryptionStatementContext(&p.EncryptionStatementContext) + p.parser = parser + p.CopyAll(ctx.(*EncryptionStatementContext)) + + return p +} + +func (s *ClientEncryptionStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ClientEncryptionStatementContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} + +func (s *ClientEncryptionStatementContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) +} + +func (s *ClientEncryptionStatementContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) +} + +func (s *ClientEncryptionStatementContext) GET_MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_MONGO, 0) +} + +func (s *ClientEncryptionStatementContext) AllLPAREN() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserLPAREN) +} + +func (s *ClientEncryptionStatementContext) LPAREN(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, i) +} + +func (s *ClientEncryptionStatementContext) AllRPAREN() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserRPAREN) +} + +func (s *ClientEncryptionStatementContext) RPAREN(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, i) +} + +func (s *ClientEncryptionStatementContext) GET_CLIENT_ENCRYPTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_CLIENT_ENCRYPTION, 0) +} + +func (s *ClientEncryptionStatementContext) AllIdentifier() []IIdentifierContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IIdentifierContext); ok { + len++ + } + } + + tst := make([]IIdentifierContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IIdentifierContext); ok { + tst[i] = t.(IIdentifierContext) + i++ + } + } + + return tst +} + +func (s *ClientEncryptionStatementContext) Identifier(i int) IIdentifierContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *ClientEncryptionStatementContext) AllArguments() []IArgumentsContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IArgumentsContext); ok { + len++ + } + } + + tst := make([]IArgumentsContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IArgumentsContext); ok { + tst[i] = t.(IArgumentsContext) + i++ + } + } + + return tst +} + +func (s *ClientEncryptionStatementContext) Arguments(i int) IArgumentsContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *ClientEncryptionStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterClientEncryptionStatement(s) + } +} + +func (s *ClientEncryptionStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitClientEncryptionStatement(s) + } +} + +func (s *ClientEncryptionStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitClientEncryptionStatement(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) EncryptionStatement() (localctx IEncryptionStatementContext) { + localctx = NewEncryptionStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 24, MongoShellParserRULE_encryptionStatement) + var _la int + + p.SetState(961) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 85, p.GetParserRuleContext()) { + case 1: + localctx = NewKeyVaultStatementContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(917) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } { - p.SetState(311) + p.SetState(918) p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule @@ -3532,15 +13702,47 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(312) - p.Match(MongoShellParserDROP_DATABASE) + p.SetState(919) + p.Match(MongoShellParserGET_MONGO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(920) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(921) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(922) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(923) + p.Match(MongoShellParserGET_KEY_VAULT) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(313) + p.SetState(924) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -3548,19 +13750,77 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(314) + p.SetState(925) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } + p.SetState(936) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - case 5: - localctx = NewDbStatsContext(p, localctx) - p.EnterOuterAlt(localctx, 5) + for _la == MongoShellParserDOT { + { + p.SetState(926) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(927) + p.Identifier() + } + { + p.SetState(928) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(930) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(929) + p.Arguments() + } + + } + { + p.SetState(932) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + p.SetState(938) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + + case 2: + localctx = NewClientEncryptionStatementContext(p, localctx) + p.EnterOuterAlt(localctx, 2) { - p.SetState(315) + p.SetState(939) p.Match(MongoShellParserDB) if p.HasError() { // Recognition error - abort rule @@ -3568,7 +13828,7 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(316) + p.SetState(940) p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule @@ -3576,203 +13836,415 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(317) - p.Match(MongoShellParserSTATS) + p.SetState(941) + p.Match(MongoShellParserGET_MONGO) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(318) + p.SetState(942) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(943) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(944) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(945) + p.Match(MongoShellParserGET_CLIENT_ENCRYPTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(946) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(320) + { + p.SetState(947) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(958) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(319) - p.Argument() - } + for _la == MongoShellParserDOT { + { + p.SetState(948) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(949) + p.Identifier() + } + { + p.SetState(950) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(952) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(951) + p.Arguments() + } + + } + { + p.SetState(954) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + p.SetState(960) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + } + + case antlr.ATNInvalidAltNumber: + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IPlanCacheStatementContext is an interface to support dynamic dispatch. +type IPlanCacheStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + DB() antlr.TerminalNode + CollectionAccess() ICollectionAccessContext + AllDOT() []antlr.TerminalNode + DOT(i int) antlr.TerminalNode + GET_PLAN_CACHE() antlr.TerminalNode + AllLPAREN() []antlr.TerminalNode + LPAREN(i int) antlr.TerminalNode + AllRPAREN() []antlr.TerminalNode + RPAREN(i int) antlr.TerminalNode + AllIdentifier() []IIdentifierContext + Identifier(i int) IIdentifierContext + AllArguments() []IArgumentsContext + Arguments(i int) IArgumentsContext + + // IsPlanCacheStatementContext differentiates from other interfaces. + IsPlanCacheStatementContext() +} + +type PlanCacheStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyPlanCacheStatementContext() *PlanCacheStatementContext { + var p = new(PlanCacheStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_planCacheStatement + return p +} + +func InitEmptyPlanCacheStatementContext(p *PlanCacheStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_planCacheStatement +} + +func (*PlanCacheStatementContext) IsPlanCacheStatementContext() {} + +func NewPlanCacheStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PlanCacheStatementContext { + var p = new(PlanCacheStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_planCacheStatement - } - { - p.SetState(322) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + return p +} - case 6: - localctx = NewServerStatusContext(p, localctx) - p.EnterOuterAlt(localctx, 6) - { - p.SetState(323) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(324) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(325) - p.Match(MongoShellParserSERVER_STATUS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(326) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(328) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func (s *PlanCacheStatementContext) GetParser() antlr.Parser { return s.parser } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(327) - p.Argument() - } +func (s *PlanCacheStatementContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) +} +func (s *PlanCacheStatementContext) CollectionAccess() ICollectionAccessContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICollectionAccessContext); ok { + t = ctx.(antlr.RuleContext) + break } - { - p.SetState(330) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + + if t == nil { + return nil + } + + return t.(ICollectionAccessContext) +} + +func (s *PlanCacheStatementContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) +} + +func (s *PlanCacheStatementContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) +} + +func (s *PlanCacheStatementContext) GET_PLAN_CACHE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_PLAN_CACHE, 0) +} + +func (s *PlanCacheStatementContext) AllLPAREN() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserLPAREN) +} + +func (s *PlanCacheStatementContext) LPAREN(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, i) +} + +func (s *PlanCacheStatementContext) AllRPAREN() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserRPAREN) +} + +func (s *PlanCacheStatementContext) RPAREN(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, i) +} + +func (s *PlanCacheStatementContext) AllIdentifier() []IIdentifierContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IIdentifierContext); ok { + len++ } + } - case 7: - localctx = NewServerBuildInfoContext(p, localctx) - p.EnterOuterAlt(localctx, 7) - { - p.SetState(331) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + tst := make([]IIdentifierContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IIdentifierContext); ok { + tst[i] = t.(IIdentifierContext) + i++ } - { - p.SetState(332) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + } + + return tst +} + +func (s *PlanCacheStatementContext) Identifier(i int) IIdentifierContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break } + j++ } - { - p.SetState(333) - p.Match(MongoShellParserSERVER_BUILD_INFO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *PlanCacheStatementContext) AllArguments() []IArgumentsContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IArgumentsContext); ok { + len++ } - { - p.SetState(334) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + + tst := make([]IArgumentsContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IArgumentsContext); ok { + tst[i] = t.(IArgumentsContext) + i++ } - { - p.SetState(335) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + } + + return tst +} + +func (s *PlanCacheStatementContext) Arguments(i int) IArgumentsContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break } + j++ } + } - case 8: - localctx = NewDbVersionContext(p, localctx) - p.EnterOuterAlt(localctx, 8) - { - p.SetState(336) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *PlanCacheStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PlanCacheStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *PlanCacheStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterPlanCacheStatement(s) + } +} + +func (s *PlanCacheStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitPlanCacheStatement(s) + } +} + +func (s *PlanCacheStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitPlanCacheStatement(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) PlanCacheStatement() (localctx IPlanCacheStatementContext) { + localctx = NewPlanCacheStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 26, MongoShellParserRULE_planCacheStatement) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(963) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(337) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(964) + p.CollectionAccess() + } + { + p.SetState(965) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(338) - p.Match(MongoShellParserVERSION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(966) + p.Match(MongoShellParserGET_PLAN_CACHE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(339) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(967) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(340) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(968) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } + } + p.SetState(979) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - case 9: - localctx = NewHostInfoContext(p, localctx) - p.EnterOuterAlt(localctx, 9) - { - p.SetState(341) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + for _la == MongoShellParserDOT { { - p.SetState(342) + p.SetState(969) p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule @@ -3780,67 +14252,33 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(343) - p.Match(MongoShellParserHOST_INFO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(970) + p.Identifier() } { - p.SetState(344) + p.SetState(971) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(345) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(973) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - case 10: - localctx = NewListCommandsContext(p, localctx) - p.EnterOuterAlt(localctx, 10) - { - p.SetState(346) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(347) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(348) - p.Match(MongoShellParserLIST_COMMANDS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(349) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(972) + p.Arguments() } + } { - p.SetState(350) + p.SetState(975) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -3848,115 +14286,211 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } - case 11: - localctx = NewRunCommandContext(p, localctx) - p.EnterOuterAlt(localctx, 11) - { - p.SetState(351) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(352) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(353) - p.Match(MongoShellParserRUN_COMMAND) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(354) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(355) - p.Arguments() - } - { - p.SetState(356) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(981) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// ISpStatementContext is an interface to support dynamic dispatch. +type ISpStatementContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + SP() antlr.TerminalNode + AllDOT() []antlr.TerminalNode + DOT(i int) antlr.TerminalNode + AllIdentifier() []IIdentifierContext + Identifier(i int) IIdentifierContext + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + + // IsSpStatementContext differentiates from other interfaces. + IsSpStatementContext() +} + +type SpStatementContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptySpStatementContext() *SpStatementContext { + var p = new(SpStatementContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_spStatement + return p +} + +func InitEmptySpStatementContext(p *SpStatementContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_spStatement +} + +func (*SpStatementContext) IsSpStatementContext() {} + +func NewSpStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SpStatementContext { + var p = new(SpStatementContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_spStatement + + return p +} + +func (s *SpStatementContext) GetParser() antlr.Parser { return s.parser } - case 12: - localctx = NewAdminCommandContext(p, localctx) - p.EnterOuterAlt(localctx, 12) - { - p.SetState(358) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(359) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } +func (s *SpStatementContext) SP() antlr.TerminalNode { + return s.GetToken(MongoShellParserSP, 0) +} + +func (s *SpStatementContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) +} + +func (s *SpStatementContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) +} + +func (s *SpStatementContext) AllIdentifier() []IIdentifierContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IIdentifierContext); ok { + len++ } - { - p.SetState(360) - p.Match(MongoShellParserADMIN_COMMAND) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + + tst := make([]IIdentifierContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IIdentifierContext); ok { + tst[i] = t.(IIdentifierContext) + i++ } - { - p.SetState(361) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + } + + return tst +} + +func (s *SpStatementContext) Identifier(i int) IIdentifierContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break } + j++ } - { - p.SetState(362) - p.Arguments() - } - { - p.SetState(363) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) +} + +func (s *SpStatementContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *SpStatementContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *SpStatementContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break } + } - case 13: - localctx = NewGetNameContext(p, localctx) - p.EnterOuterAlt(localctx, 13) + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *SpStatementContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *SpStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *SpStatementContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterSpStatement(s) + } +} + +func (s *SpStatementContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitSpStatement(s) + } +} + +func (s *SpStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitSpStatement(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) SpStatement() (localctx ISpStatementContext) { + localctx = NewSpStatementContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 28, MongoShellParserRULE_spStatement) + var _la int + + p.SetState(1002) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 90, p.GetParserRuleContext()) { + case 1: + p.EnterOuterAlt(localctx, 1) { - p.SetState(365) - p.Match(MongoShellParserDB) + p.SetState(982) + p.Match(MongoShellParserSP) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(366) + p.SetState(983) p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule @@ -3964,67 +14498,33 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(367) - p.Match(MongoShellParserGET_NAME) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(984) + p.Identifier() } { - p.SetState(368) + p.SetState(985) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(369) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(987) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - case 14: - localctx = NewGetMongoContext(p, localctx) - p.EnterOuterAlt(localctx, 14) - { - p.SetState(370) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(371) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(372) - p.Match(MongoShellParserGET_MONGO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(373) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(986) + p.Arguments() } + } { - p.SetState(374) + p.SetState(989) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -4032,19 +14532,18 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } - case 15: - localctx = NewGetSiblingDBContext(p, localctx) - p.EnterOuterAlt(localctx, 15) + case 2: + p.EnterOuterAlt(localctx, 2) { - p.SetState(375) - p.Match(MongoShellParserDB) + p.SetState(991) + p.Match(MongoShellParserSP) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(376) + p.SetState(992) p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule @@ -4052,77 +14551,51 @@ func (p *MongoShellParser) DbStatement() (localctx IDbStatementContext) { } } { - p.SetState(377) - p.Match(MongoShellParserGET_SIBLING_DB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(378) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(379) - p.Argument() + p.SetState(993) + p.Identifier() } { - p.SetState(380) - p.Match(MongoShellParserRPAREN) + p.SetState(994) + p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - - case 16: - localctx = NewDbGenericMethodContext(p, localctx) - p.EnterOuterAlt(localctx, 16) { - p.SetState(382) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(995) + p.Identifier() } { - p.SetState(383) - p.Match(MongoShellParserDOT) + p.SetState(996) + p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(384) - p.GenericDbMethod() + p.SetState(998) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - case 17: - localctx = NewCollectionOperationContext(p, localctx) - p.EnterOuterAlt(localctx, 17) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(997) + p.Arguments() + } + + } { - p.SetState(385) - p.Match(MongoShellParserDB) + p.SetState(1000) + p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(386) - p.CollectionAccess() - } - { - p.SetState(387) - p.MethodChain() - } case antlr.ATNInvalidAltNumber: goto errorExit @@ -4141,8 +14614,8 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IGenericDbMethodContext is an interface to support dynamic dispatch. -type IGenericDbMethodContext interface { +// INativeFunctionCallContext is an interface to support dynamic dispatch. +type INativeFunctionCallContext interface { antlr.ParserRuleContext // GetParser returns the parser. @@ -4154,43 +14627,43 @@ type IGenericDbMethodContext interface { RPAREN() antlr.TerminalNode Arguments() IArgumentsContext - // IsGenericDbMethodContext differentiates from other interfaces. - IsGenericDbMethodContext() + // IsNativeFunctionCallContext differentiates from other interfaces. + IsNativeFunctionCallContext() } -type GenericDbMethodContext struct { +type NativeFunctionCallContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyGenericDbMethodContext() *GenericDbMethodContext { - var p = new(GenericDbMethodContext) +func NewEmptyNativeFunctionCallContext() *NativeFunctionCallContext { + var p = new(NativeFunctionCallContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_genericDbMethod + p.RuleIndex = MongoShellParserRULE_nativeFunctionCall return p } -func InitEmptyGenericDbMethodContext(p *GenericDbMethodContext) { +func InitEmptyNativeFunctionCallContext(p *NativeFunctionCallContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_genericDbMethod + p.RuleIndex = MongoShellParserRULE_nativeFunctionCall } -func (*GenericDbMethodContext) IsGenericDbMethodContext() {} +func (*NativeFunctionCallContext) IsNativeFunctionCallContext() {} -func NewGenericDbMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GenericDbMethodContext { - var p = new(GenericDbMethodContext) +func NewNativeFunctionCallContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NativeFunctionCallContext { + var p = new(NativeFunctionCallContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_genericDbMethod + p.RuleIndex = MongoShellParserRULE_nativeFunctionCall return p } -func (s *GenericDbMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *NativeFunctionCallContext) GetParser() antlr.Parser { return s.parser } -func (s *GenericDbMethodContext) Identifier() IIdentifierContext { +func (s *NativeFunctionCallContext) Identifier() IIdentifierContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IIdentifierContext); ok { @@ -4206,15 +14679,15 @@ func (s *GenericDbMethodContext) Identifier() IIdentifierContext { return t.(IIdentifierContext) } -func (s *GenericDbMethodContext) LPAREN() antlr.TerminalNode { +func (s *NativeFunctionCallContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GenericDbMethodContext) RPAREN() antlr.TerminalNode { +func (s *NativeFunctionCallContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *GenericDbMethodContext) Arguments() IArgumentsContext { +func (s *NativeFunctionCallContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -4230,70 +14703,70 @@ func (s *GenericDbMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *GenericDbMethodContext) GetRuleContext() antlr.RuleContext { +func (s *NativeFunctionCallContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GenericDbMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *NativeFunctionCallContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *GenericDbMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *NativeFunctionCallContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGenericDbMethod(s) + listenerT.EnterNativeFunctionCall(s) } } -func (s *GenericDbMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *NativeFunctionCallContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGenericDbMethod(s) + listenerT.ExitNativeFunctionCall(s) } } -func (s *GenericDbMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *NativeFunctionCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGenericDbMethod(s) + return t.VisitNativeFunctionCall(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) GenericDbMethod() (localctx IGenericDbMethodContext) { - localctx = NewGenericDbMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 8, MongoShellParserRULE_genericDbMethod) +func (p *MongoShellParser) NativeFunctionCall() (localctx INativeFunctionCallContext) { + localctx = NewNativeFunctionCallContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 30, MongoShellParserRULE_nativeFunctionCall) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(391) + p.SetState(1004) p.Identifier() } { - p.SetState(392) + p.SetState(1005) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(394) + p.SetState(1007) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(393) + p.SetState(1006) p.Arguments() } } { - p.SetState(396) + p.SetState(1009) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -4314,84 +14787,142 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IBulkStatementContext is an interface to support dynamic dispatch. -type IBulkStatementContext interface { +// IConnectionMethodContext is an interface to support dynamic dispatch. +type IConnectionMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser - - // Getter signatures - DB() antlr.TerminalNode - CollectionAccess() ICollectionAccessContext - DOT() antlr.TerminalNode - BulkInitMethod() IBulkInitMethodContext - BulkMethodChain() IBulkMethodChainContext - - // IsBulkStatementContext differentiates from other interfaces. - IsBulkStatementContext() + // IsConnectionMethodContext differentiates from other interfaces. + IsConnectionMethodContext() } -type BulkStatementContext struct { +type ConnectionMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyBulkStatementContext() *BulkStatementContext { - var p = new(BulkStatementContext) +func NewEmptyConnectionMethodContext() *ConnectionMethodContext { + var p = new(ConnectionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkStatement + p.RuleIndex = MongoShellParserRULE_connectionMethod return p } -func InitEmptyBulkStatementContext(p *BulkStatementContext) { +func InitEmptyConnectionMethodContext(p *ConnectionMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkStatement + p.RuleIndex = MongoShellParserRULE_connectionMethod } -func (*BulkStatementContext) IsBulkStatementContext() {} +func (*ConnectionMethodContext) IsConnectionMethodContext() {} -func NewBulkStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkStatementContext { - var p = new(BulkStatementContext) +func NewConnectionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConnectionMethodContext { + var p = new(ConnectionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_bulkStatement + p.RuleIndex = MongoShellParserRULE_connectionMethod return p } -func (s *BulkStatementContext) GetParser() antlr.Parser { return s.parser } +func (s *ConnectionMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *BulkStatementContext) DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserDB, 0) +func (s *ConnectionMethodContext) CopyAll(ctx *ConnectionMethodContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) } -func (s *BulkStatementContext) CollectionAccess() ICollectionAccessContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICollectionAccessContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *ConnectionMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnectionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type ConnGetReadConcernContext struct { + ConnectionMethodContext +} + +func NewConnGetReadConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadConcernContext { + var p = new(ConnGetReadConcernContext) + + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionMethodContext)) + + return p +} + +func (s *ConnGetReadConcernContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnGetReadConcernContext) GET_READ_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_CONCERN, 0) +} + +func (s *ConnGetReadConcernContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ConnGetReadConcernContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ConnGetReadConcernContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnGetReadConcern(s) } +} - if t == nil { - return nil +func (s *ConnGetReadConcernContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnGetReadConcern(s) } +} - return t.(ICollectionAccessContext) +func (s *ConnGetReadConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnGetReadConcern(s) + + default: + return t.VisitChildren(s) + } } -func (s *BulkStatementContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) +type ConnSetReadPrefContext struct { + ConnectionMethodContext } -func (s *BulkStatementContext) BulkInitMethod() IBulkInitMethodContext { +func NewConnSetReadPrefContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnSetReadPrefContext { + var p = new(ConnSetReadPrefContext) + + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionMethodContext)) + + return p +} + +func (s *ConnSetReadPrefContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnSetReadPrefContext) SET_READ_PREF() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_READ_PREF, 0) +} + +func (s *ConnSetReadPrefContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ConnSetReadPrefContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBulkInitMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -4401,13 +14932,65 @@ func (s *BulkStatementContext) BulkInitMethod() IBulkInitMethodContext { return nil } - return t.(IBulkInitMethodContext) + return t.(IArgumentsContext) } -func (s *BulkStatementContext) BulkMethodChain() IBulkMethodChainContext { +func (s *ConnSetReadPrefContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ConnSetReadPrefContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnSetReadPref(s) + } +} + +func (s *ConnSetReadPrefContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnSetReadPref(s) + } +} + +func (s *ConnSetReadPrefContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnSetReadPref(s) + + default: + return t.VisitChildren(s) + } +} + +type ConnAdminCommandContext struct { + ConnectionMethodContext +} + +func NewConnAdminCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnAdminCommandContext { + var p = new(ConnAdminCommandContext) + + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionMethodContext)) + + return p +} + +func (s *ConnAdminCommandContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnAdminCommandContext) ADMIN_COMMAND() antlr.TerminalNode { + return s.GetToken(MongoShellParserADMIN_COMMAND, 0) +} + +func (s *ConnAdminCommandContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ConnAdminCommandContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBulkMethodChainContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -4417,362 +15000,175 @@ func (s *BulkStatementContext) BulkMethodChain() IBulkMethodChainContext { return nil } - return t.(IBulkMethodChainContext) -} - -func (s *BulkStatementContext) GetRuleContext() antlr.RuleContext { - return s + return t.(IArgumentsContext) } -func (s *BulkStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *ConnAdminCommandContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkStatementContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnAdminCommandContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkStatement(s) + listenerT.EnterConnAdminCommand(s) } } -func (s *BulkStatementContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnAdminCommandContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkStatement(s) + listenerT.ExitConnAdminCommand(s) } } -func (s *BulkStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnAdminCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkStatement(s) + return t.VisitConnAdminCommand(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BulkStatement() (localctx IBulkStatementContext) { - localctx = NewBulkStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 10, MongoShellParserRULE_bulkStatement) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(398) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(399) - p.CollectionAccess() - } - { - p.SetState(400) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(401) - p.BulkInitMethod() - } - p.SetState(403) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == MongoShellParserDOT { - { - p.SetState(402) - p.BulkMethodChain() - } - - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IBulkInitMethodContext is an interface to support dynamic dispatch. -type IBulkInitMethodContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode - LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode - - // IsBulkInitMethodContext differentiates from other interfaces. - IsBulkInitMethodContext() -} - -type BulkInitMethodContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} - -func NewEmptyBulkInitMethodContext() *BulkInitMethodContext { - var p = new(BulkInitMethodContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkInitMethod - return p -} - -func InitEmptyBulkInitMethodContext(p *BulkInitMethodContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkInitMethod +type ConnGetReadPrefTagSetContext struct { + ConnectionMethodContext } -func (*BulkInitMethodContext) IsBulkInitMethodContext() {} - -func NewBulkInitMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkInitMethodContext { - var p = new(BulkInitMethodContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func NewConnGetReadPrefTagSetContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadPrefTagSetContext { + var p = new(ConnGetReadPrefTagSetContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.RuleIndex = MongoShellParserRULE_bulkInitMethod + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkInitMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *ConnGetReadPrefTagSetContext) GetRuleContext() antlr.RuleContext { + return s +} -func (s *BulkInitMethodContext) INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode { - return s.GetToken(MongoShellParserINITIALIZE_ORDERED_BULK_OP, 0) +func (s *ConnGetReadPrefTagSetContext) GET_READ_PREF_TAG_SET() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_PREF_TAG_SET, 0) } -func (s *BulkInitMethodContext) LPAREN() antlr.TerminalNode { +func (s *ConnGetReadPrefTagSetContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkInitMethodContext) RPAREN() antlr.TerminalNode { +func (s *ConnGetReadPrefTagSetContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkInitMethodContext) INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode { - return s.GetToken(MongoShellParserINITIALIZE_UNORDERED_BULK_OP, 0) -} - -func (s *BulkInitMethodContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *BulkInitMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *BulkInitMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnGetReadPrefTagSetContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkInitMethod(s) + listenerT.EnterConnGetReadPrefTagSet(s) } } -func (s *BulkInitMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnGetReadPrefTagSetContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkInitMethod(s) + listenerT.ExitConnGetReadPrefTagSet(s) } } -func (s *BulkInitMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnGetReadPrefTagSetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkInitMethod(s) + return t.VisitConnGetReadPrefTagSet(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BulkInitMethod() (localctx IBulkInitMethodContext) { - localctx = NewBulkInitMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 12, MongoShellParserRULE_bulkInitMethod) - p.SetState(411) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case MongoShellParserINITIALIZE_ORDERED_BULK_OP: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(405) - p.Match(MongoShellParserINITIALIZE_ORDERED_BULK_OP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(406) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(407) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +type ConnGetWriteConcernContext struct { + ConnectionMethodContext +} - case MongoShellParserINITIALIZE_UNORDERED_BULK_OP: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(408) - p.Match(MongoShellParserINITIALIZE_UNORDERED_BULK_OP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(409) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(410) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func NewConnGetWriteConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetWriteConcernContext { + var p = new(ConnGetWriteConcernContext) - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit - } + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionMethodContext)) -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used + return p } -// IBulkMethodChainContext is an interface to support dynamic dispatch. -type IBulkMethodChainContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - AllDOT() []antlr.TerminalNode - DOT(i int) antlr.TerminalNode - AllBulkMethod() []IBulkMethodContext - BulkMethod(i int) IBulkMethodContext +func (s *ConnGetWriteConcernContext) GetRuleContext() antlr.RuleContext { + return s +} - // IsBulkMethodChainContext differentiates from other interfaces. - IsBulkMethodChainContext() +func (s *ConnGetWriteConcernContext) GET_WRITE_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_WRITE_CONCERN, 0) +} + +func (s *ConnGetWriteConcernContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -type BulkMethodChainContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *ConnGetWriteConcernContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func NewEmptyBulkMethodChainContext() *BulkMethodChainContext { - var p = new(BulkMethodChainContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkMethodChain - return p +func (s *ConnGetWriteConcernContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnGetWriteConcern(s) + } } -func InitEmptyBulkMethodChainContext(p *BulkMethodChainContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkMethodChain +func (s *ConnGetWriteConcernContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnGetWriteConcern(s) + } } -func (*BulkMethodChainContext) IsBulkMethodChainContext() {} +func (s *ConnGetWriteConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnGetWriteConcern(s) -func NewBulkMethodChainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkMethodChainContext { - var p = new(BulkMethodChainContext) + default: + return t.VisitChildren(s) + } +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +type ConnWatchContext struct { + ConnectionMethodContext +} + +func NewConnWatchContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnWatchContext { + var p = new(ConnWatchContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.RuleIndex = MongoShellParserRULE_bulkMethodChain + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkMethodChainContext) GetParser() antlr.Parser { return s.parser } - -func (s *BulkMethodChainContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) +func (s *ConnWatchContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *BulkMethodChainContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) +func (s *ConnWatchContext) WATCH() antlr.TerminalNode { + return s.GetToken(MongoShellParserWATCH, 0) } -func (s *BulkMethodChainContext) AllBulkMethod() []IBulkMethodContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IBulkMethodContext); ok { - len++ - } - } - - tst := make([]IBulkMethodContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IBulkMethodContext); ok { - tst[i] = t.(IBulkMethodContext) - i++ - } - } +func (s *ConnWatchContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - return tst +func (s *ConnWatchContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkMethodChainContext) BulkMethod(i int) IBulkMethodContext { +func (s *ConnWatchContext) Arguments() IArgumentsContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBulkMethodContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -4780,340 +15176,362 @@ func (s *BulkMethodChainContext) BulkMethod(i int) IBulkMethodContext { return nil } - return t.(IBulkMethodContext) -} - -func (s *BulkMethodChainContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *BulkMethodChainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + return t.(IArgumentsContext) } -func (s *BulkMethodChainContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnWatchContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkMethodChain(s) + listenerT.EnterConnWatch(s) } } -func (s *BulkMethodChainContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnWatchContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkMethodChain(s) + listenerT.ExitConnWatch(s) } } -func (s *BulkMethodChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnWatchContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkMethodChain(s) + return t.VisitConnWatch(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BulkMethodChain() (localctx IBulkMethodChainContext) { - localctx = NewBulkMethodChainContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 14, MongoShellParserRULE_bulkMethodChain) - var _la int +type ConnGetReadPrefContext struct { + ConnectionMethodContext +} - p.EnterOuterAlt(localctx, 1) - p.SetState(415) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) +func NewConnGetReadPrefContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadPrefContext { + var p = new(ConnGetReadPrefContext) - for ok := true; ok; ok = _la == MongoShellParserDOT { - { - p.SetState(413) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(414) - p.BulkMethod() - } + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionMethodContext)) - p.SetState(417) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + return p +} + +func (s *ConnGetReadPrefContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ConnGetReadPrefContext) GET_READ_PREF() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_PREF, 0) +} + +func (s *ConnGetReadPrefContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *ConnGetReadPrefContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ConnGetReadPrefContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnGetReadPref(s) } +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) +func (s *ConnGetReadPrefContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnGetReadPref(s) } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used } -// IBulkMethodContext is an interface to support dynamic dispatch. -type IBulkMethodContext interface { - antlr.ParserRuleContext +func (s *ConnGetReadPrefContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnGetReadPref(s) - // GetParser returns the parser. - GetParser() antlr.Parser - // IsBulkMethodContext differentiates from other interfaces. - IsBulkMethodContext() + default: + return t.VisitChildren(s) + } } -type BulkMethodContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +type ConnSetReadConcernContext struct { + ConnectionMethodContext } -func NewEmptyBulkMethodContext() *BulkMethodContext { - var p = new(BulkMethodContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkMethod +func NewConnSetReadConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnSetReadConcernContext { + var p = new(ConnSetReadConcernContext) + + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) + p.parser = parser + p.CopyAll(ctx.(*ConnectionMethodContext)) + return p } -func InitEmptyBulkMethodContext(p *BulkMethodContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bulkMethod +func (s *ConnSetReadConcernContext) GetRuleContext() antlr.RuleContext { + return s } -func (*BulkMethodContext) IsBulkMethodContext() {} +func (s *ConnSetReadConcernContext) SET_READ_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_READ_CONCERN, 0) +} -func NewBulkMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkMethodContext { - var p = new(BulkMethodContext) +func (s *ConnSetReadConcernContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *ConnSetReadConcernContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_bulkMethod + if t == nil { + return nil + } - return p + return t.(IArgumentContext) } -func (s *BulkMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *ConnSetReadConcernContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} -func (s *BulkMethodContext) CopyAll(ctx *BulkMethodContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) +func (s *ConnSetReadConcernContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterConnSetReadConcern(s) + } +} + +func (s *ConnSetReadConcernContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitConnSetReadConcern(s) + } } -func (s *BulkMethodContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *ConnSetReadConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitConnSetReadConcern(s) -func (s *BulkMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + default: + return t.VisitChildren(s) + } } -type BulkToStringContext struct { - BulkMethodContext +type ConnCloseContext struct { + ConnectionMethodContext } -func NewBulkToStringContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkToStringContext { - var p = new(BulkToStringContext) +func NewConnCloseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnCloseContext { + var p = new(ConnCloseContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkToStringContext) GetRuleContext() antlr.RuleContext { +func (s *ConnCloseContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkToStringContext) TO_STRING() antlr.TerminalNode { - return s.GetToken(MongoShellParserTO_STRING, 0) +func (s *ConnCloseContext) CLOSE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCLOSE, 0) } -func (s *BulkToStringContext) LPAREN() antlr.TerminalNode { +func (s *ConnCloseContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkToStringContext) RPAREN() antlr.TerminalNode { +func (s *ConnCloseContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkToStringContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnCloseContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkToString(s) + listenerT.EnterConnClose(s) } } -func (s *BulkToStringContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnCloseContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkToString(s) + listenerT.ExitConnClose(s) } } -func (s *BulkToStringContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnCloseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkToString(s) + return t.VisitConnClose(s) default: return t.VisitChildren(s) } } -type BulkGetOperationsContext struct { - BulkMethodContext +type ConnGenericMethodContext struct { + ConnectionMethodContext } -func NewBulkGetOperationsContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkGetOperationsContext { - var p = new(BulkGetOperationsContext) +func NewConnGenericMethodContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGenericMethodContext { + var p = new(ConnGenericMethodContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkGetOperationsContext) GetRuleContext() antlr.RuleContext { +func (s *ConnGenericMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkGetOperationsContext) GET_OPERATIONS() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_OPERATIONS, 0) +func (s *ConnGenericMethodContext) Identifier() IIdentifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IIdentifierContext) } -func (s *BulkGetOperationsContext) LPAREN() antlr.TerminalNode { +func (s *ConnGenericMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkGetOperationsContext) RPAREN() antlr.TerminalNode { +func (s *ConnGenericMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkGetOperationsContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnGenericMethodContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *ConnGenericMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkGetOperations(s) + listenerT.EnterConnGenericMethod(s) } } -func (s *BulkGetOperationsContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnGenericMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkGetOperations(s) + listenerT.ExitConnGenericMethod(s) } } -func (s *BulkGetOperationsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnGenericMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkGetOperations(s) + return t.VisitConnGenericMethod(s) default: return t.VisitChildren(s) } } -type BulkFindContext struct { - BulkMethodContext +type ConnGetDBNamesContext struct { + ConnectionMethodContext } -func NewBulkFindContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkFindContext { - var p = new(BulkFindContext) +func NewConnGetDBNamesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetDBNamesContext { + var p = new(ConnGetDBNamesContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkFindContext) GetRuleContext() antlr.RuleContext { +func (s *ConnGetDBNamesContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkFindContext) FIND() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND, 0) +func (s *ConnGetDBNamesContext) GET_DB_NAMES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_DB_NAMES, 0) } -func (s *BulkFindContext) LPAREN() antlr.TerminalNode { +func (s *ConnGetDBNamesContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkFindContext) Argument() IArgumentContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentContext) -} - -func (s *BulkFindContext) RPAREN() antlr.TerminalNode { +func (s *ConnGetDBNamesContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkFindContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnGetDBNamesContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkFind(s) + listenerT.EnterConnGetDBNames(s) } } -func (s *BulkFindContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnGetDBNamesContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkFind(s) + listenerT.ExitConnGetDBNames(s) } } -func (s *BulkFindContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnGetDBNamesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkFind(s) + return t.VisitConnGetDBNames(s) default: return t.VisitChildren(s) } } -type BulkInsertContext struct { - BulkMethodContext +type ConnGetDBContext struct { + ConnectionMethodContext } -func NewBulkInsertContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkInsertContext { - var p = new(BulkInsertContext) +func NewConnGetDBContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetDBContext { + var p = new(ConnGetDBContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkInsertContext) GetRuleContext() antlr.RuleContext { +func (s *ConnGetDBContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkInsertContext) INSERT() antlr.TerminalNode { - return s.GetToken(MongoShellParserINSERT, 0) +func (s *ConnGetDBContext) GET_DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_DB, 0) } -func (s *BulkInsertContext) LPAREN() antlr.TerminalNode { +func (s *ConnGetDBContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkInsertContext) Argument() IArgumentContext { +func (s *ConnGetDBContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentContext); ok { @@ -5129,198 +15547,182 @@ func (s *BulkInsertContext) Argument() IArgumentContext { return t.(IArgumentContext) } -func (s *BulkInsertContext) RPAREN() antlr.TerminalNode { +func (s *ConnGetDBContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkInsertContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnGetDBContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkInsert(s) + listenerT.EnterConnGetDB(s) } } -func (s *BulkInsertContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnGetDBContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkInsert(s) + listenerT.ExitConnGetDB(s) } } -func (s *BulkInsertContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnGetDBContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkInsert(s) + return t.VisitConnGetDB(s) default: return t.VisitChildren(s) } } -type BulkExecuteContext struct { - BulkMethodContext +type ConnGetReadPrefModeContext struct { + ConnectionMethodContext } -func NewBulkExecuteContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkExecuteContext { - var p = new(BulkExecuteContext) +func NewConnGetReadPrefModeContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadPrefModeContext { + var p = new(ConnGetReadPrefModeContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkExecuteContext) GetRuleContext() antlr.RuleContext { +func (s *ConnGetReadPrefModeContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkExecuteContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(MongoShellParserEXECUTE, 0) +func (s *ConnGetReadPrefModeContext) GET_READ_PREF_MODE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_PREF_MODE, 0) } -func (s *BulkExecuteContext) LPAREN() antlr.TerminalNode { +func (s *ConnGetReadPrefModeContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkExecuteContext) RPAREN() antlr.TerminalNode { +func (s *ConnGetReadPrefModeContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkExecuteContext) Argument() IArgumentContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentContext) -} - -func (s *BulkExecuteContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnGetReadPrefModeContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkExecute(s) + listenerT.EnterConnGetReadPrefMode(s) } } -func (s *BulkExecuteContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnGetReadPrefModeContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkExecute(s) + listenerT.ExitConnGetReadPrefMode(s) } } -func (s *BulkExecuteContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnGetReadPrefModeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkExecute(s) + return t.VisitConnGetReadPrefMode(s) default: return t.VisitChildren(s) } } -type BulkRemoveContext struct { - BulkMethodContext +type ConnStartSessionContext struct { + ConnectionMethodContext } -func NewBulkRemoveContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkRemoveContext { - var p = new(BulkRemoveContext) +func NewConnStartSessionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnStartSessionContext { + var p = new(ConnStartSessionContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkRemoveContext) GetRuleContext() antlr.RuleContext { +func (s *ConnStartSessionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkRemoveContext) REMOVE() antlr.TerminalNode { - return s.GetToken(MongoShellParserREMOVE, 0) +func (s *ConnStartSessionContext) START_SESSION() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTART_SESSION, 0) } -func (s *BulkRemoveContext) LPAREN() antlr.TerminalNode { +func (s *ConnStartSessionContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkRemoveContext) RPAREN() antlr.TerminalNode { +func (s *ConnStartSessionContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BulkRemoveContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnStartSessionContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentContext) +} + +func (s *ConnStartSessionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkRemove(s) + listenerT.EnterConnStartSession(s) } } -func (s *BulkRemoveContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnStartSessionContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkRemove(s) + listenerT.ExitConnStartSession(s) } } -func (s *BulkRemoveContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnStartSessionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkRemove(s) + return t.VisitConnStartSession(s) default: return t.VisitChildren(s) } } -type BulkGenericMethodContext struct { - BulkMethodContext +type ConnSetWriteConcernContext struct { + ConnectionMethodContext } -func NewBulkGenericMethodContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BulkGenericMethodContext { - var p = new(BulkGenericMethodContext) +func NewConnSetWriteConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnSetWriteConcernContext { + var p = new(ConnSetWriteConcernContext) - InitEmptyBulkMethodContext(&p.BulkMethodContext) + InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*BulkMethodContext)) + p.CopyAll(ctx.(*ConnectionMethodContext)) return p } -func (s *BulkGenericMethodContext) GetRuleContext() antlr.RuleContext { +func (s *ConnSetWriteConcernContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BulkGenericMethodContext) Identifier() IIdentifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IIdentifierContext) +func (s *ConnSetWriteConcernContext) SET_WRITE_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_WRITE_CONCERN, 0) } -func (s *BulkGenericMethodContext) LPAREN() antlr.TerminalNode { +func (s *ConnSetWriteConcernContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BulkGenericMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *BulkGenericMethodContext) Arguments() IArgumentsContext { +func (s *ConnSetWriteConcernContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -5330,56 +15732,264 @@ func (s *BulkGenericMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IArgumentContext) } -func (s *BulkGenericMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConnSetWriteConcernContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ConnSetWriteConcernContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBulkGenericMethod(s) + listenerT.EnterConnSetWriteConcern(s) } } -func (s *BulkGenericMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConnSetWriteConcernContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBulkGenericMethod(s) + listenerT.ExitConnSetWriteConcern(s) } } -func (s *BulkGenericMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConnSetWriteConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBulkGenericMethod(s) + return t.VisitConnSetWriteConcern(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { - localctx = NewBulkMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 16, MongoShellParserRULE_bulkMethod) +func (p *MongoShellParser) ConnectionMethod() (localctx IConnectionMethodContext) { + localctx = NewConnectionMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 32, MongoShellParserRULE_connectionMethod) var _la int - p.SetState(451) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } + p.SetState(1076) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 95, p.GetParserRuleContext()) { + case 1: + localctx = NewConnGetDBContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1011) + p.Match(MongoShellParserGET_DB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1012) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1013) + p.Argument() + } + { + p.SetState(1014) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 2: + localctx = NewConnGetReadConcernContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1016) + p.Match(MongoShellParserGET_READ_CONCERN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1017) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1018) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 3: + localctx = NewConnGetReadPrefContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1019) + p.Match(MongoShellParserGET_READ_PREF) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1020) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1021) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 4: + localctx = NewConnGetReadPrefModeContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1022) + p.Match(MongoShellParserGET_READ_PREF_MODE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1023) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1024) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 5: + localctx = NewConnGetReadPrefTagSetContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1025) + p.Match(MongoShellParserGET_READ_PREF_TAG_SET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1026) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1027) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 6: + localctx = NewConnGetWriteConcernContext(p, localctx) + p.EnterOuterAlt(localctx, 6) + { + p.SetState(1028) + p.Match(MongoShellParserGET_WRITE_CONCERN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1029) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1030) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 7: + localctx = NewConnSetReadPrefContext(p, localctx) + p.EnterOuterAlt(localctx, 7) + { + p.SetState(1031) + p.Match(MongoShellParserSET_READ_PREF) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1032) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1033) + p.Arguments() + } + { + p.SetState(1034) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 25, p.GetParserRuleContext()) { - case 1: - localctx = NewBulkFindContext(p, localctx) - p.EnterOuterAlt(localctx, 1) + case 8: + localctx = NewConnSetReadConcernContext(p, localctx) + p.EnterOuterAlt(localctx, 8) { - p.SetState(419) - p.Match(MongoShellParserFIND) + p.SetState(1036) + p.Match(MongoShellParserSET_READ_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(420) + p.SetState(1037) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -5387,11 +15997,11 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } { - p.SetState(421) + p.SetState(1038) p.Argument() } { - p.SetState(422) + p.SetState(1039) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5399,19 +16009,19 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case 2: - localctx = NewBulkInsertContext(p, localctx) - p.EnterOuterAlt(localctx, 2) + case 9: + localctx = NewConnSetWriteConcernContext(p, localctx) + p.EnterOuterAlt(localctx, 9) { - p.SetState(424) - p.Match(MongoShellParserINSERT) + p.SetState(1041) + p.Match(MongoShellParserSET_WRITE_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(425) + p.SetState(1042) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -5419,11 +16029,11 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } { - p.SetState(426) + p.SetState(1043) p.Argument() } { - p.SetState(427) + p.SetState(1044) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5431,27 +16041,41 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case 3: - localctx = NewBulkRemoveContext(p, localctx) - p.EnterOuterAlt(localctx, 3) + case 10: + localctx = NewConnStartSessionContext(p, localctx) + p.EnterOuterAlt(localctx, 10) { - p.SetState(429) - p.Match(MongoShellParserREMOVE) + p.SetState(1046) + p.Match(MongoShellParserSTART_SESSION) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(430) + p.SetState(1047) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } + p.SetState(1049) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1048) + p.Argument() + } + + } { - p.SetState(431) + p.SetState(1051) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5459,41 +16083,41 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case 4: - localctx = NewBulkExecuteContext(p, localctx) - p.EnterOuterAlt(localctx, 4) + case 11: + localctx = NewConnWatchContext(p, localctx) + p.EnterOuterAlt(localctx, 11) { - p.SetState(432) - p.Match(MongoShellParserEXECUTE) + p.SetState(1052) + p.Match(MongoShellParserWATCH) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(433) + p.SetState(1053) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(435) + p.SetState(1055) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(434) - p.Argument() + p.SetState(1054) + p.Arguments() } } { - p.SetState(437) + p.SetState(1057) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5501,19 +16125,19 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case 5: - localctx = NewBulkGetOperationsContext(p, localctx) - p.EnterOuterAlt(localctx, 5) + case 12: + localctx = NewConnCloseContext(p, localctx) + p.EnterOuterAlt(localctx, 12) { - p.SetState(438) - p.Match(MongoShellParserGET_OPERATIONS) + p.SetState(1058) + p.Match(MongoShellParserCLOSE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(439) + p.SetState(1059) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -5521,7 +16145,7 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } { - p.SetState(440) + p.SetState(1060) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5529,19 +16153,19 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case 6: - localctx = NewBulkToStringContext(p, localctx) - p.EnterOuterAlt(localctx, 6) + case 13: + localctx = NewConnAdminCommandContext(p, localctx) + p.EnterOuterAlt(localctx, 13) { - p.SetState(441) - p.Match(MongoShellParserTO_STRING) + p.SetState(1061) + p.Match(MongoShellParserADMIN_COMMAND) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(442) + p.SetState(1062) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -5549,7 +16173,11 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } { - p.SetState(443) + p.SetState(1063) + p.Arguments() + } + { + p.SetState(1064) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5557,37 +16185,65 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case 7: - localctx = NewBulkGenericMethodContext(p, localctx) - p.EnterOuterAlt(localctx, 7) + case 14: + localctx = NewConnGetDBNamesContext(p, localctx) + p.EnterOuterAlt(localctx, 14) + { + p.SetState(1066) + p.Match(MongoShellParserGET_DB_NAMES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1067) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1068) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 15: + localctx = NewConnGenericMethodContext(p, localctx) + p.EnterOuterAlt(localctx, 15) { - p.SetState(444) + p.SetState(1069) p.Identifier() } { - p.SetState(445) + p.SetState(1070) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(447) + p.SetState(1072) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(446) + p.SetState(1071) p.Arguments() } } { - p.SetState(449) + p.SetState(1074) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -5595,111 +16251,235 @@ func (p *MongoShellParser) BulkMethod() (localctx IBulkMethodContext) { } } - case antlr.ATNInvalidAltNumber: - goto errorExit + case antlr.ATNInvalidAltNumber: + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// ICollectionAccessContext is an interface to support dynamic dispatch. +type ICollectionAccessContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsCollectionAccessContext differentiates from other interfaces. + IsCollectionAccessContext() +} + +type CollectionAccessContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyCollectionAccessContext() *CollectionAccessContext { + var p = new(CollectionAccessContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_collectionAccess + return p +} + +func InitEmptyCollectionAccessContext(p *CollectionAccessContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_collectionAccess +} + +func (*CollectionAccessContext) IsCollectionAccessContext() {} + +func NewCollectionAccessContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionAccessContext { + var p = new(CollectionAccessContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_collectionAccess + + return p +} + +func (s *CollectionAccessContext) GetParser() antlr.Parser { return s.parser } + +func (s *CollectionAccessContext) CopyAll(ctx *CollectionAccessContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *CollectionAccessContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CollectionAccessContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type DotAccessContext struct { + CollectionAccessContext +} + +func NewDotAccessContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DotAccessContext { + var p = new(DotAccessContext) + + InitEmptyCollectionAccessContext(&p.CollectionAccessContext) + p.parser = parser + p.CopyAll(ctx.(*CollectionAccessContext)) + + return p +} + +func (s *DotAccessContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DotAccessContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} + +func (s *DotAccessContext) Identifier() IIdentifierContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIdentifierContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + return t.(IIdentifierContext) +} + +func (s *DotAccessContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDotAccess(s) } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used } -// IConnectionStatementContext is an interface to support dynamic dispatch. -type IConnectionStatementContext interface { - antlr.ParserRuleContext +func (s *DotAccessContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDotAccess(s) + } +} - // GetParser returns the parser. - GetParser() antlr.Parser - // IsConnectionStatementContext differentiates from other interfaces. - IsConnectionStatementContext() +func (s *DotAccessContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDotAccess(s) + + default: + return t.VisitChildren(s) + } } -type ConnectionStatementContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +type GetCollectionAccessContext struct { + CollectionAccessContext } -func NewEmptyConnectionStatementContext() *ConnectionStatementContext { - var p = new(ConnectionStatementContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_connectionStatement +func NewGetCollectionAccessContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetCollectionAccessContext { + var p = new(GetCollectionAccessContext) + + InitEmptyCollectionAccessContext(&p.CollectionAccessContext) + p.parser = parser + p.CopyAll(ctx.(*CollectionAccessContext)) + return p } -func InitEmptyConnectionStatementContext(p *ConnectionStatementContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_connectionStatement +func (s *GetCollectionAccessContext) GetRuleContext() antlr.RuleContext { + return s } -func (*ConnectionStatementContext) IsConnectionStatementContext() {} +func (s *GetCollectionAccessContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) +} -func NewConnectionStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConnectionStatementContext { - var p = new(ConnectionStatementContext) +func (s *GetCollectionAccessContext) GET_COLLECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_COLLECTION, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *GetCollectionAccessContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - p.parser = parser - p.RuleIndex = MongoShellParserRULE_connectionStatement +func (s *GetCollectionAccessContext) StringLiteral() IStringLiteralContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStringLiteralContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - return p + if t == nil { + return nil + } + + return t.(IStringLiteralContext) } -func (s *ConnectionStatementContext) GetParser() antlr.Parser { return s.parser } +func (s *GetCollectionAccessContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} -func (s *ConnectionStatementContext) CopyAll(ctx *ConnectionStatementContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) +func (s *GetCollectionAccessContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterGetCollectionAccess(s) + } } -func (s *ConnectionStatementContext) GetRuleContext() antlr.RuleContext { - return s +func (s *GetCollectionAccessContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitGetCollectionAccess(s) + } } -func (s *ConnectionStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *GetCollectionAccessContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitGetCollectionAccess(s) + + default: + return t.VisitChildren(s) + } } -type ConnectCallContext struct { - ConnectionStatementContext +type BracketAccessContext struct { + CollectionAccessContext } -func NewConnectCallContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnectCallContext { - var p = new(ConnectCallContext) +func NewBracketAccessContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BracketAccessContext { + var p = new(BracketAccessContext) - InitEmptyConnectionStatementContext(&p.ConnectionStatementContext) + InitEmptyCollectionAccessContext(&p.CollectionAccessContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionStatementContext)) + p.CopyAll(ctx.(*CollectionAccessContext)) return p } -func (s *ConnectCallContext) GetRuleContext() antlr.RuleContext { +func (s *BracketAccessContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ConnectCallContext) CONNECT() antlr.TerminalNode { - return s.GetToken(MongoShellParserCONNECT, 0) -} - -func (s *ConnectCallContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} - -func (s *ConnectCallContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *BracketAccessContext) LBRACKET() antlr.TerminalNode { + return s.GetToken(MongoShellParserLBRACKET, 0) } -func (s *ConnectCallContext) Arguments() IArgumentsContext { +func (s *BracketAccessContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IStringLiteralContext); ok { t = ctx.(antlr.RuleContext) break } @@ -5709,81 +16489,205 @@ func (s *ConnectCallContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IStringLiteralContext) } -func (s *ConnectCallContext) ConnectionMethodChain() IConnectionMethodChainContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IConnectionMethodChainContext); ok { - t = ctx.(antlr.RuleContext) - break +func (s *BracketAccessContext) RBRACKET() antlr.TerminalNode { + return s.GetToken(MongoShellParserRBRACKET, 0) +} + +func (s *BracketAccessContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterBracketAccess(s) + } +} + +func (s *BracketAccessContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitBracketAccess(s) + } +} + +func (s *BracketAccessContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitBracketAccess(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) CollectionAccess() (localctx ICollectionAccessContext) { + localctx = NewCollectionAccessContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 34, MongoShellParserRULE_collectionAccess) + p.SetState(1090) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 96, p.GetParserRuleContext()) { + case 1: + localctx = NewDotAccessContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1078) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1079) + p.Identifier() + } + + case 2: + localctx = NewBracketAccessContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1080) + p.Match(MongoShellParserLBRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1081) + p.StringLiteral() + } + { + p.SetState(1082) + p.Match(MongoShellParserRBRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case 3: + localctx = NewGetCollectionAccessContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1084) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1085) + p.Match(MongoShellParserGET_COLLECTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1086) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1087) + p.StringLiteral() + } + { + p.SetState(1088) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - if t == nil { - return nil + case antlr.ATNInvalidAltNumber: + goto errorExit } - return t.(IConnectionMethodChainContext) -} - -func (s *ConnectCallContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnectCall(s) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnectCallContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnectCall(s) - } +// IMethodChainContext is an interface to support dynamic dispatch. +type IMethodChainContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + AllDOT() []antlr.TerminalNode + DOT(i int) antlr.TerminalNode + CollectionExplainMethod() ICollectionExplainMethodContext + CollectionMethodCall() ICollectionMethodCallContext + AllCursorMethodCall() []ICursorMethodCallContext + CursorMethodCall(i int) ICursorMethodCallContext + + // IsMethodChainContext differentiates from other interfaces. + IsMethodChainContext() } -func (s *ConnectCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnectCall(s) +type MethodChainContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - default: - return t.VisitChildren(s) - } +func NewEmptyMethodChainContext() *MethodChainContext { + var p = new(MethodChainContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_methodChain + return p } -type MongoConnectionContext struct { - ConnectionStatementContext +func InitEmptyMethodChainContext(p *MethodChainContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_methodChain } -func NewMongoConnectionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *MongoConnectionContext { - var p = new(MongoConnectionContext) +func (*MethodChainContext) IsMethodChainContext() {} + +func NewMethodChainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MethodChainContext { + var p = new(MethodChainContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionStatementContext(&p.ConnectionStatementContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionStatementContext)) + p.RuleIndex = MongoShellParserRULE_methodChain return p } -func (s *MongoConnectionContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *MongoConnectionContext) MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserMONGO, 0) -} +func (s *MethodChainContext) GetParser() antlr.Parser { return s.parser } -func (s *MongoConnectionContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *MethodChainContext) AllDOT() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserDOT) } -func (s *MongoConnectionContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *MethodChainContext) DOT(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, i) } -func (s *MongoConnectionContext) Arguments() IArgumentsContext { +func (s *MethodChainContext) CollectionExplainMethod() ICollectionExplainMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(ICollectionExplainMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -5793,13 +16697,13 @@ func (s *MongoConnectionContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(ICollectionExplainMethodContext) } -func (s *MongoConnectionContext) ConnectionMethodChain() IConnectionMethodChainContext { +func (s *MethodChainContext) CollectionMethodCall() ICollectionMethodCallContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IConnectionMethodChainContext); ok { + if _, ok := ctx.(ICollectionMethodCallContext); ok { t = ctx.(antlr.RuleContext) break } @@ -5809,75 +16713,40 @@ func (s *MongoConnectionContext) ConnectionMethodChain() IConnectionMethodChainC return nil } - return t.(IConnectionMethodChainContext) -} - -func (s *MongoConnectionContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterMongoConnection(s) - } + return t.(ICollectionMethodCallContext) } -func (s *MongoConnectionContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitMongoConnection(s) +func (s *MethodChainContext) AllCursorMethodCall() []ICursorMethodCallContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(ICursorMethodCallContext); ok { + len++ + } } -} - -func (s *MongoConnectionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitMongoConnection(s) - default: - return t.VisitChildren(s) + tst := make([]ICursorMethodCallContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(ICursorMethodCallContext); ok { + tst[i] = t.(ICursorMethodCallContext) + i++ + } } -} - -type DbGetMongoChainContext struct { - ConnectionStatementContext -} - -func NewDbGetMongoChainContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DbGetMongoChainContext { - var p = new(DbGetMongoChainContext) - - InitEmptyConnectionStatementContext(&p.ConnectionStatementContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionStatementContext)) - - return p -} - -func (s *DbGetMongoChainContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *DbGetMongoChainContext) DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserDB, 0) -} - -func (s *DbGetMongoChainContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) -} - -func (s *DbGetMongoChainContext) GET_MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_MONGO, 0) -} - -func (s *DbGetMongoChainContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} -func (s *DbGetMongoChainContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + return tst } -func (s *DbGetMongoChainContext) ConnectionMethodChain() IConnectionMethodChainContext { +func (s *MethodChainContext) CursorMethodCall(i int) ICursorMethodCallContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IConnectionMethodChainContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(ICursorMethodCallContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -5885,168 +16754,110 @@ func (s *DbGetMongoChainContext) ConnectionMethodChain() IConnectionMethodChainC return nil } - return t.(IConnectionMethodChainContext) + return t.(ICursorMethodCallContext) } -func (s *DbGetMongoChainContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *MethodChainContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *MethodChainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *MethodChainContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDbGetMongoChain(s) + listenerT.EnterMethodChain(s) } } -func (s *DbGetMongoChainContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *MethodChainContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDbGetMongoChain(s) + listenerT.ExitMethodChain(s) } } -func (s *DbGetMongoChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *MethodChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDbGetMongoChain(s) + return t.VisitMethodChain(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) ConnectionStatement() (localctx IConnectionStatementContext) { - localctx = NewConnectionStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 18, MongoShellParserRULE_connectionStatement) +func (p *MongoShellParser) MethodChain() (localctx IMethodChainContext) { + localctx = NewMethodChainContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 36, MongoShellParserRULE_methodChain) var _la int - p.SetState(477) + p.SetState(1112) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetTokenStream().LA(1) { - case MongoShellParserMONGO: - localctx = NewMongoConnectionContext(p, localctx) + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 99, p.GetParserRuleContext()) { + case 1: p.EnterOuterAlt(localctx, 1) { - p.SetState(453) - p.Match(MongoShellParserMONGO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(454) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(456) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(455) - p.Arguments() - } - - } - { - p.SetState(458) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(460) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == MongoShellParserDOT { - { - p.SetState(459) - p.ConnectionMethodChain() - } - - } - - case MongoShellParserCONNECT: - localctx = NewConnectCallContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(462) - p.Match(MongoShellParserCONNECT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(463) - p.Match(MongoShellParserLPAREN) + p.SetState(1092) + p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(465) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(464) - p.Arguments() - } - + { + p.SetState(1093) + p.CollectionExplainMethod() } { - p.SetState(467) - p.Match(MongoShellParserRPAREN) + p.SetState(1094) + p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(469) + { + p.SetState(1095) + p.CollectionMethodCall() + } + p.SetState(1100) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if _la == MongoShellParserDOT { + for _la == MongoShellParserDOT { { - p.SetState(468) - p.ConnectionMethodChain() + p.SetState(1096) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1097) + p.CursorMethodCall() } - } - - case MongoShellParserDB: - localctx = NewDbGetMongoChainContext(p, localctx) - p.EnterOuterAlt(localctx, 3) - { - p.SetState(471) - p.Match(MongoShellParserDB) + p.SetState(1102) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } + _la = p.GetTokenStream().LA(1) } + + case 2: + p.EnterOuterAlt(localctx, 2) { - p.SetState(472) + p.SetState(1103) p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule @@ -6054,36 +16865,39 @@ func (p *MongoShellParser) ConnectionStatement() (localctx IConnectionStatementC } } { - p.SetState(473) - p.Match(MongoShellParserGET_MONGO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1104) + p.CollectionMethodCall() } - { - p.SetState(474) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1109) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - { - p.SetState(475) - p.Match(MongoShellParserRPAREN) + _la = p.GetTokenStream().LA(1) + + for _la == MongoShellParserDOT { + { + p.SetState(1105) + p.Match(MongoShellParserDOT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1106) + p.CursorMethodCall() + } + + p.SetState(1111) + p.GetErrorHandler().Sync(p) if p.HasError() { - // Recognition error - abort rule goto errorExit } - } - { - p.SetState(476) - p.ConnectionMethodChain() + _la = p.GetTokenStream().LA(1) } - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + case antlr.ATNInvalidAltNumber: goto errorExit } @@ -6100,94 +16914,285 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IConnectionMethodChainContext is an interface to support dynamic dispatch. -type IConnectionMethodChainContext interface { +// ICollectionMethodCallContext is an interface to support dynamic dispatch. +type ICollectionMethodCallContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllDOT() []antlr.TerminalNode - DOT(i int) antlr.TerminalNode - AllConnectionMethod() []IConnectionMethodContext - ConnectionMethod(i int) IConnectionMethodContext - - // IsConnectionMethodChainContext differentiates from other interfaces. - IsConnectionMethodChainContext() -} - -type ConnectionMethodChainContext struct { + FindMethod() IFindMethodContext + FindOneMethod() IFindOneMethodContext + CountDocumentsMethod() ICountDocumentsMethodContext + EstimatedDocumentCountMethod() IEstimatedDocumentCountMethodContext + DistinctMethod() IDistinctMethodContext + AggregateMethod() IAggregateMethodContext + GetIndexesMethod() IGetIndexesMethodContext + InsertOneMethod() IInsertOneMethodContext + InsertManyMethod() IInsertManyMethodContext + UpdateOneMethod() IUpdateOneMethodContext + UpdateManyMethod() IUpdateManyMethodContext + DeleteOneMethod() IDeleteOneMethodContext + DeleteManyMethod() IDeleteManyMethodContext + ReplaceOneMethod() IReplaceOneMethodContext + FindOneAndUpdateMethod() IFindOneAndUpdateMethodContext + FindOneAndReplaceMethod() IFindOneAndReplaceMethodContext + FindOneAndDeleteMethod() IFindOneAndDeleteMethodContext + CreateIndexMethod() ICreateIndexMethodContext + CreateIndexesMethod() ICreateIndexesMethodContext + DropIndexMethod() IDropIndexMethodContext + DropIndexesMethod() IDropIndexesMethodContext + DropMethod() IDropMethodContext + RenameCollectionMethod() IRenameCollectionMethodContext + StatsMethod() IStatsMethodContext + StorageSizeMethod() IStorageSizeMethodContext + TotalIndexSizeMethod() ITotalIndexSizeMethodContext + TotalSizeMethod() ITotalSizeMethodContext + DataSizeMethod() IDataSizeMethodContext + IsCappedMethod() IIsCappedMethodContext + ValidateMethod() IValidateMethodContext + LatencyStatsMethod() ILatencyStatsMethodContext + WatchMethod() IWatchMethodContext + BulkWriteMethod() IBulkWriteMethodContext + CollectionCountMethod() ICollectionCountMethodContext + CollectionInsertMethod() ICollectionInsertMethodContext + CollectionRemoveMethod() ICollectionRemoveMethodContext + UpdateMethod() IUpdateMethodContext + MapReduceMethod() IMapReduceMethodContext + FindAndModifyMethod() IFindAndModifyMethodContext + CollectionExplainMethod() ICollectionExplainMethodContext + AnalyzeShardKeyMethod() IAnalyzeShardKeyMethodContext + ConfigureQueryAnalyzerMethod() IConfigureQueryAnalyzerMethodContext + CompactStructuredEncryptionDataMethod() ICompactStructuredEncryptionDataMethodContext + HideIndexMethod() IHideIndexMethodContext + UnhideIndexMethod() IUnhideIndexMethodContext + ReIndexMethod() IReIndexMethodContext + GetShardDistributionMethod() IGetShardDistributionMethodContext + GetShardVersionMethod() IGetShardVersionMethodContext + CreateSearchIndexMethod() ICreateSearchIndexMethodContext + CreateSearchIndexesMethod() ICreateSearchIndexesMethodContext + DropSearchIndexMethod() IDropSearchIndexMethodContext + UpdateSearchIndexMethod() IUpdateSearchIndexMethodContext + + // IsCollectionMethodCallContext differentiates from other interfaces. + IsCollectionMethodCallContext() +} + +type CollectionMethodCallContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyConnectionMethodChainContext() *ConnectionMethodChainContext { - var p = new(ConnectionMethodChainContext) +func NewEmptyCollectionMethodCallContext() *CollectionMethodCallContext { + var p = new(CollectionMethodCallContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_connectionMethodChain + p.RuleIndex = MongoShellParserRULE_collectionMethodCall return p } -func InitEmptyConnectionMethodChainContext(p *ConnectionMethodChainContext) { +func InitEmptyCollectionMethodCallContext(p *CollectionMethodCallContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_connectionMethodChain + p.RuleIndex = MongoShellParserRULE_collectionMethodCall } -func (*ConnectionMethodChainContext) IsConnectionMethodChainContext() {} +func (*CollectionMethodCallContext) IsCollectionMethodCallContext() {} + +func NewCollectionMethodCallContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionMethodCallContext { + var p = new(CollectionMethodCallContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_collectionMethodCall + + return p +} + +func (s *CollectionMethodCallContext) GetParser() antlr.Parser { return s.parser } + +func (s *CollectionMethodCallContext) FindMethod() IFindMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFindMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IFindMethodContext) +} + +func (s *CollectionMethodCallContext) FindOneMethod() IFindOneMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFindOneMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IFindOneMethodContext) +} + +func (s *CollectionMethodCallContext) CountDocumentsMethod() ICountDocumentsMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICountDocumentsMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ICountDocumentsMethodContext) +} + +func (s *CollectionMethodCallContext) EstimatedDocumentCountMethod() IEstimatedDocumentCountMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IEstimatedDocumentCountMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IEstimatedDocumentCountMethodContext) +} + +func (s *CollectionMethodCallContext) DistinctMethod() IDistinctMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDistinctMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDistinctMethodContext) +} + +func (s *CollectionMethodCallContext) AggregateMethod() IAggregateMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAggregateMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IAggregateMethodContext) +} + +func (s *CollectionMethodCallContext) GetIndexesMethod() IGetIndexesMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGetIndexesMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IGetIndexesMethodContext) +} + +func (s *CollectionMethodCallContext) InsertOneMethod() IInsertOneMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IInsertOneMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } -func NewConnectionMethodChainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConnectionMethodChainContext { - var p = new(ConnectionMethodChainContext) + return t.(IInsertOneMethodContext) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *CollectionMethodCallContext) InsertManyMethod() IInsertManyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IInsertManyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_connectionMethodChain + if t == nil { + return nil + } - return p + return t.(IInsertManyMethodContext) } -func (s *ConnectionMethodChainContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionMethodCallContext) UpdateOneMethod() IUpdateOneMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IUpdateOneMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *ConnectionMethodChainContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) -} + if t == nil { + return nil + } -func (s *ConnectionMethodChainContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) + return t.(IUpdateOneMethodContext) } -func (s *ConnectionMethodChainContext) AllConnectionMethod() []IConnectionMethodContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IConnectionMethodContext); ok { - len++ +func (s *CollectionMethodCallContext) UpdateManyMethod() IUpdateManyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IUpdateManyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IConnectionMethodContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IConnectionMethodContext); ok { - tst[i] = t.(IConnectionMethodContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IUpdateManyMethodContext) } -func (s *ConnectionMethodChainContext) ConnectionMethod(i int) IConnectionMethodContext { +func (s *CollectionMethodCallContext) DeleteOneMethod() IDeleteOneMethodContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IConnectionMethodContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IDeleteOneMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -6195,150 +17200,173 @@ func (s *ConnectionMethodChainContext) ConnectionMethod(i int) IConnectionMethod return nil } - return t.(IConnectionMethodContext) + return t.(IDeleteOneMethodContext) } -func (s *ConnectionMethodChainContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *CollectionMethodCallContext) DeleteManyMethod() IDeleteManyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDeleteManyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *ConnectionMethodChainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + if t == nil { + return nil + } + + return t.(IDeleteManyMethodContext) } -func (s *ConnectionMethodChainContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnectionMethodChain(s) +func (s *CollectionMethodCallContext) ReplaceOneMethod() IReplaceOneMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IReplaceOneMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *ConnectionMethodChainContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnectionMethodChain(s) + if t == nil { + return nil } + + return t.(IReplaceOneMethodContext) } -func (s *ConnectionMethodChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnectionMethodChain(s) +func (s *CollectionMethodCallContext) FindOneAndUpdateMethod() IFindOneAndUpdateMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFindOneAndUpdateMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - default: - return t.VisitChildren(s) + if t == nil { + return nil } + + return t.(IFindOneAndUpdateMethodContext) } -func (p *MongoShellParser) ConnectionMethodChain() (localctx IConnectionMethodChainContext) { - localctx = NewConnectionMethodChainContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 20, MongoShellParserRULE_connectionMethodChain) - var _la int +func (s *CollectionMethodCallContext) FindOneAndReplaceMethod() IFindOneAndReplaceMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFindOneAndReplaceMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.EnterOuterAlt(localctx, 1) - p.SetState(481) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + if t == nil { + return nil } - _la = p.GetTokenStream().LA(1) - for ok := true; ok; ok = _la == MongoShellParserDOT { - { - p.SetState(479) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(480) - p.ConnectionMethod() - } + return t.(IFindOneAndReplaceMethodContext) +} - p.SetState(483) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (s *CollectionMethodCallContext) FindOneAndDeleteMethod() IFindOneAndDeleteMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFindOneAndDeleteMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} -// IRsStatementContext is an interface to support dynamic dispatch. -type IRsStatementContext interface { - antlr.ParserRuleContext + return t.(IFindOneAndDeleteMethodContext) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *CollectionMethodCallContext) CreateIndexMethod() ICreateIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICreateIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - // Getter signatures - RS() antlr.TerminalNode - DOT() antlr.TerminalNode - Identifier() IIdentifierContext - LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext + if t == nil { + return nil + } - // IsRsStatementContext differentiates from other interfaces. - IsRsStatementContext() + return t.(ICreateIndexMethodContext) } -type RsStatementContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *CollectionMethodCallContext) CreateIndexesMethod() ICreateIndexesMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICreateIndexesMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptyRsStatementContext() *RsStatementContext { - var p = new(RsStatementContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_rsStatement - return p -} + if t == nil { + return nil + } -func InitEmptyRsStatementContext(p *RsStatementContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_rsStatement + return t.(ICreateIndexesMethodContext) } -func (*RsStatementContext) IsRsStatementContext() {} +func (s *CollectionMethodCallContext) DropIndexMethod() IDropIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDropIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewRsStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RsStatementContext { - var p = new(RsStatementContext) + if t == nil { + return nil + } - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + return t.(IDropIndexMethodContext) +} - p.parser = parser - p.RuleIndex = MongoShellParserRULE_rsStatement +func (s *CollectionMethodCallContext) DropIndexesMethod() IDropIndexesMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDropIndexesMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } - return p + return t.(IDropIndexesMethodContext) } -func (s *RsStatementContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionMethodCallContext) DropMethod() IDropMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDropMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *RsStatementContext) RS() antlr.TerminalNode { - return s.GetToken(MongoShellParserRS, 0) -} + if t == nil { + return nil + } -func (s *RsStatementContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) + return t.(IDropMethodContext) } -func (s *RsStatementContext) Identifier() IIdentifierContext { +func (s *CollectionMethodCallContext) RenameCollectionMethod() IRenameCollectionMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { + if _, ok := ctx.(IRenameCollectionMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -6348,21 +17376,29 @@ func (s *RsStatementContext) Identifier() IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(IRenameCollectionMethodContext) } -func (s *RsStatementContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} +func (s *CollectionMethodCallContext) StatsMethod() IStatsMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStatsMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *RsStatementContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + if t == nil { + return nil + } + + return t.(IStatsMethodContext) } -func (s *RsStatementContext) Arguments() IArgumentsContext { +func (s *CollectionMethodCallContext) StorageSizeMethod() IStorageSizeMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IStorageSizeMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -6372,172 +17408,173 @@ func (s *RsStatementContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IStorageSizeMethodContext) } -func (s *RsStatementContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *CollectionMethodCallContext) TotalIndexSizeMethod() ITotalIndexSizeMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ITotalIndexSizeMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *RsStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + if t == nil { + return nil + } + + return t.(ITotalIndexSizeMethodContext) } -func (s *RsStatementContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterRsStatement(s) +func (s *CollectionMethodCallContext) TotalSizeMethod() ITotalSizeMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ITotalSizeMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *RsStatementContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitRsStatement(s) + if t == nil { + return nil } + + return t.(ITotalSizeMethodContext) } -func (s *RsStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitRsStatement(s) +func (s *CollectionMethodCallContext) DataSizeMethod() IDataSizeMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDataSizeMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - default: - return t.VisitChildren(s) + if t == nil { + return nil } -} -func (p *MongoShellParser) RsStatement() (localctx IRsStatementContext) { - localctx = NewRsStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 22, MongoShellParserRULE_rsStatement) - var _la int + return t.(IDataSizeMethodContext) +} - p.EnterOuterAlt(localctx, 1) - { - p.SetState(485) - p.Match(MongoShellParserRS) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(486) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit +func (s *CollectionMethodCallContext) IsCappedMethod() IIsCappedMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIsCappedMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - { - p.SetState(487) - p.Identifier() + + if t == nil { + return nil } - { - p.SetState(488) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + return t.(IIsCappedMethodContext) +} + +func (s *CollectionMethodCallContext) ValidateMethod() IValidateMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IValidateMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - p.SetState(490) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + + if t == nil { + return nil } - _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(489) - p.Arguments() - } + return t.(IValidateMethodContext) +} - } - { - p.SetState(492) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit +func (s *CollectionMethodCallContext) LatencyStatsMethod() ILatencyStatsMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILatencyStatsMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} -// IShStatementContext is an interface to support dynamic dispatch. -type IShStatementContext interface { - antlr.ParserRuleContext + return t.(ILatencyStatsMethodContext) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *CollectionMethodCallContext) WatchMethod() IWatchMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IWatchMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - // Getter signatures - SH() antlr.TerminalNode - DOT() antlr.TerminalNode - Identifier() IIdentifierContext - LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext + if t == nil { + return nil + } - // IsShStatementContext differentiates from other interfaces. - IsShStatementContext() + return t.(IWatchMethodContext) } -type ShStatementContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *CollectionMethodCallContext) BulkWriteMethod() IBulkWriteMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBulkWriteMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptyShStatementContext() *ShStatementContext { - var p = new(ShStatementContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_shStatement - return p -} + if t == nil { + return nil + } -func InitEmptyShStatementContext(p *ShStatementContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_shStatement + return t.(IBulkWriteMethodContext) } -func (*ShStatementContext) IsShStatementContext() {} - -func NewShStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShStatementContext { - var p = new(ShStatementContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *CollectionMethodCallContext) CollectionCountMethod() ICollectionCountMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICollectionCountMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_shStatement + if t == nil { + return nil + } - return p + return t.(ICollectionCountMethodContext) } -func (s *ShStatementContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionMethodCallContext) CollectionInsertMethod() ICollectionInsertMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICollectionInsertMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *ShStatementContext) SH() antlr.TerminalNode { - return s.GetToken(MongoShellParserSH, 0) -} + if t == nil { + return nil + } -func (s *ShStatementContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) + return t.(ICollectionInsertMethodContext) } -func (s *ShStatementContext) Identifier() IIdentifierContext { +func (s *CollectionMethodCallContext) CollectionRemoveMethod() ICollectionRemoveMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { + if _, ok := ctx.(ICollectionRemoveMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -6547,21 +17584,13 @@ func (s *ShStatementContext) Identifier() IIdentifierContext { return nil } - return t.(IIdentifierContext) -} - -func (s *ShStatementContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} - -func (s *ShStatementContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + return t.(ICollectionRemoveMethodContext) } -func (s *ShStatementContext) Arguments() IArgumentsContext { +func (s *CollectionMethodCallContext) UpdateMethod() IUpdateMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IUpdateMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -6571,248 +17600,207 @@ func (s *ShStatementContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) -} - -func (s *ShStatementContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *ShStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + return t.(IUpdateMethodContext) } -func (s *ShStatementContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterShStatement(s) +func (s *CollectionMethodCallContext) MapReduceMethod() IMapReduceMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMapReduceMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *ShStatementContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitShStatement(s) + if t == nil { + return nil } -} - -func (s *ShStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitShStatement(s) - default: - return t.VisitChildren(s) - } + return t.(IMapReduceMethodContext) } -func (p *MongoShellParser) ShStatement() (localctx IShStatementContext) { - localctx = NewShStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 24, MongoShellParserRULE_shStatement) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(494) - p.Match(MongoShellParserSH) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(495) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(496) - p.Identifier() - } - { - p.SetState(497) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit +func (s *CollectionMethodCallContext) FindAndModifyMethod() IFindAndModifyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IFindAndModifyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - p.SetState(499) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + + if t == nil { + return nil } - _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(498) - p.Arguments() - } + return t.(IFindAndModifyMethodContext) +} - } - { - p.SetState(501) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit +func (s *CollectionMethodCallContext) CollectionExplainMethod() ICollectionExplainMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICollectionExplainMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IEncryptionStatementContext is an interface to support dynamic dispatch. -type IEncryptionStatementContext interface { - antlr.ParserRuleContext - // GetParser returns the parser. - GetParser() antlr.Parser - // IsEncryptionStatementContext differentiates from other interfaces. - IsEncryptionStatementContext() + return t.(ICollectionExplainMethodContext) } -type EncryptionStatementContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *CollectionMethodCallContext) AnalyzeShardKeyMethod() IAnalyzeShardKeyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAnalyzeShardKeyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptyEncryptionStatementContext() *EncryptionStatementContext { - var p = new(EncryptionStatementContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_encryptionStatement - return p -} + if t == nil { + return nil + } -func InitEmptyEncryptionStatementContext(p *EncryptionStatementContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_encryptionStatement + return t.(IAnalyzeShardKeyMethodContext) } -func (*EncryptionStatementContext) IsEncryptionStatementContext() {} - -func NewEncryptionStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *EncryptionStatementContext { - var p = new(EncryptionStatementContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *CollectionMethodCallContext) ConfigureQueryAnalyzerMethod() IConfigureQueryAnalyzerMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IConfigureQueryAnalyzerMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_encryptionStatement + if t == nil { + return nil + } - return p + return t.(IConfigureQueryAnalyzerMethodContext) } -func (s *EncryptionStatementContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionMethodCallContext) CompactStructuredEncryptionDataMethod() ICompactStructuredEncryptionDataMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICompactStructuredEncryptionDataMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *EncryptionStatementContext) CopyAll(ctx *EncryptionStatementContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) -} + if t == nil { + return nil + } -func (s *EncryptionStatementContext) GetRuleContext() antlr.RuleContext { - return s + return t.(ICompactStructuredEncryptionDataMethodContext) } -func (s *EncryptionStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} +func (s *CollectionMethodCallContext) HideIndexMethod() IHideIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IHideIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -type KeyVaultStatementContext struct { - EncryptionStatementContext -} + if t == nil { + return nil + } -func NewKeyVaultStatementContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *KeyVaultStatementContext { - var p = new(KeyVaultStatementContext) + return t.(IHideIndexMethodContext) +} - InitEmptyEncryptionStatementContext(&p.EncryptionStatementContext) - p.parser = parser - p.CopyAll(ctx.(*EncryptionStatementContext)) +func (s *CollectionMethodCallContext) UnhideIndexMethod() IUnhideIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IUnhideIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - return p -} + if t == nil { + return nil + } -func (s *KeyVaultStatementContext) GetRuleContext() antlr.RuleContext { - return s + return t.(IUnhideIndexMethodContext) } -func (s *KeyVaultStatementContext) DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserDB, 0) -} +func (s *CollectionMethodCallContext) ReIndexMethod() IReIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IReIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *KeyVaultStatementContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) -} + if t == nil { + return nil + } -func (s *KeyVaultStatementContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) + return t.(IReIndexMethodContext) } -func (s *KeyVaultStatementContext) GET_MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_MONGO, 0) -} +func (s *CollectionMethodCallContext) GetShardDistributionMethod() IGetShardDistributionMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGetShardDistributionMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *KeyVaultStatementContext) AllLPAREN() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserLPAREN) -} + if t == nil { + return nil + } -func (s *KeyVaultStatementContext) LPAREN(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, i) + return t.(IGetShardDistributionMethodContext) } -func (s *KeyVaultStatementContext) AllRPAREN() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserRPAREN) -} +func (s *CollectionMethodCallContext) GetShardVersionMethod() IGetShardVersionMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IGetShardVersionMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *KeyVaultStatementContext) RPAREN(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, i) -} + if t == nil { + return nil + } -func (s *KeyVaultStatementContext) GET_KEY_VAULT() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_KEY_VAULT, 0) + return t.(IGetShardVersionMethodContext) } -func (s *KeyVaultStatementContext) AllIdentifier() []IIdentifierContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IIdentifierContext); ok { - len++ +func (s *CollectionMethodCallContext) CreateSearchIndexMethod() ICreateSearchIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICreateSearchIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IIdentifierContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IIdentifierContext); ok { - tst[i] = t.(IIdentifierContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(ICreateSearchIndexMethodContext) } -func (s *KeyVaultStatementContext) Identifier(i int) IIdentifierContext { +func (s *CollectionMethodCallContext) CreateSearchIndexesMethod() ICreateSearchIndexesMethodContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(ICreateSearchIndexesMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -6820,40 +17808,31 @@ func (s *KeyVaultStatementContext) Identifier(i int) IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(ICreateSearchIndexesMethodContext) } -func (s *KeyVaultStatementContext) AllArguments() []IArgumentsContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IArgumentsContext); ok { - len++ +func (s *CollectionMethodCallContext) DropSearchIndexMethod() IDropSearchIndexMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDropSearchIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IArgumentsContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IArgumentsContext); ok { - tst[i] = t.(IArgumentsContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IDropSearchIndexMethodContext) } -func (s *KeyVaultStatementContext) Arguments(i int) IArgumentsContext { +func (s *CollectionMethodCallContext) UpdateSearchIndexMethod() IUpdateSearchIndexMethodContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IUpdateSearchIndexMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -6861,470 +17840,415 @@ func (s *KeyVaultStatementContext) Arguments(i int) IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IUpdateSearchIndexMethodContext) } -func (s *KeyVaultStatementContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CollectionMethodCallContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *CollectionMethodCallContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *CollectionMethodCallContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterKeyVaultStatement(s) + listenerT.EnterCollectionMethodCall(s) } } -func (s *KeyVaultStatementContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CollectionMethodCallContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitKeyVaultStatement(s) + listenerT.ExitCollectionMethodCall(s) } } -func (s *KeyVaultStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CollectionMethodCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitKeyVaultStatement(s) + return t.VisitCollectionMethodCall(s) default: return t.VisitChildren(s) } } -type ClientEncryptionStatementContext struct { - EncryptionStatementContext -} - -func NewClientEncryptionStatementContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ClientEncryptionStatementContext { - var p = new(ClientEncryptionStatementContext) - - InitEmptyEncryptionStatementContext(&p.EncryptionStatementContext) - p.parser = parser - p.CopyAll(ctx.(*EncryptionStatementContext)) - - return p -} - -func (s *ClientEncryptionStatementContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *ClientEncryptionStatementContext) DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserDB, 0) -} - -func (s *ClientEncryptionStatementContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) -} - -func (s *ClientEncryptionStatementContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) -} - -func (s *ClientEncryptionStatementContext) GET_MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_MONGO, 0) -} +func (p *MongoShellParser) CollectionMethodCall() (localctx ICollectionMethodCallContext) { + localctx = NewCollectionMethodCallContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 38, MongoShellParserRULE_collectionMethodCall) + p.SetState(1166) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } -func (s *ClientEncryptionStatementContext) AllLPAREN() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserLPAREN) -} + switch p.GetTokenStream().LA(1) { + case MongoShellParserFIND: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1114) + p.FindMethod() + } -func (s *ClientEncryptionStatementContext) LPAREN(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, i) -} + case MongoShellParserFIND_ONE: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1115) + p.FindOneMethod() + } -func (s *ClientEncryptionStatementContext) AllRPAREN() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserRPAREN) -} + case MongoShellParserCOUNT_DOCUMENTS: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1116) + p.CountDocumentsMethod() + } -func (s *ClientEncryptionStatementContext) RPAREN(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, i) -} + case MongoShellParserESTIMATED_DOCUMENT_COUNT: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1117) + p.EstimatedDocumentCountMethod() + } -func (s *ClientEncryptionStatementContext) GET_CLIENT_ENCRYPTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_CLIENT_ENCRYPTION, 0) -} + case MongoShellParserDISTINCT: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1118) + p.DistinctMethod() + } -func (s *ClientEncryptionStatementContext) AllIdentifier() []IIdentifierContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IIdentifierContext); ok { - len++ + case MongoShellParserAGGREGATE: + p.EnterOuterAlt(localctx, 6) + { + p.SetState(1119) + p.AggregateMethod() } - } - tst := make([]IIdentifierContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IIdentifierContext); ok { - tst[i] = t.(IIdentifierContext) - i++ + case MongoShellParserGET_INDEXES: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(1120) + p.GetIndexesMethod() } - } - return tst -} + case MongoShellParserINSERT_ONE: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(1121) + p.InsertOneMethod() + } -func (s *ClientEncryptionStatementContext) Identifier(i int) IIdentifierContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + case MongoShellParserINSERT_MANY: + p.EnterOuterAlt(localctx, 9) + { + p.SetState(1122) + p.InsertManyMethod() } - } - if t == nil { - return nil - } + case MongoShellParserUPDATE_ONE: + p.EnterOuterAlt(localctx, 10) + { + p.SetState(1123) + p.UpdateOneMethod() + } - return t.(IIdentifierContext) -} + case MongoShellParserUPDATE_MANY: + p.EnterOuterAlt(localctx, 11) + { + p.SetState(1124) + p.UpdateManyMethod() + } -func (s *ClientEncryptionStatementContext) AllArguments() []IArgumentsContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IArgumentsContext); ok { - len++ + case MongoShellParserDELETE_ONE: + p.EnterOuterAlt(localctx, 12) + { + p.SetState(1125) + p.DeleteOneMethod() } - } - tst := make([]IArgumentsContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IArgumentsContext); ok { - tst[i] = t.(IArgumentsContext) - i++ + case MongoShellParserDELETE_MANY: + p.EnterOuterAlt(localctx, 13) + { + p.SetState(1126) + p.DeleteManyMethod() } - } - return tst -} + case MongoShellParserREPLACE_ONE: + p.EnterOuterAlt(localctx, 14) + { + p.SetState(1127) + p.ReplaceOneMethod() + } -func (s *ClientEncryptionStatementContext) Arguments(i int) IArgumentsContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + case MongoShellParserFIND_ONE_AND_UPDATE: + p.EnterOuterAlt(localctx, 15) + { + p.SetState(1128) + p.FindOneAndUpdateMethod() } - } - if t == nil { - return nil - } + case MongoShellParserFIND_ONE_AND_REPLACE: + p.EnterOuterAlt(localctx, 16) + { + p.SetState(1129) + p.FindOneAndReplaceMethod() + } - return t.(IArgumentsContext) -} + case MongoShellParserFIND_ONE_AND_DELETE: + p.EnterOuterAlt(localctx, 17) + { + p.SetState(1130) + p.FindOneAndDeleteMethod() + } -func (s *ClientEncryptionStatementContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterClientEncryptionStatement(s) - } -} + case MongoShellParserCREATE_INDEX: + p.EnterOuterAlt(localctx, 18) + { + p.SetState(1131) + p.CreateIndexMethod() + } -func (s *ClientEncryptionStatementContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitClientEncryptionStatement(s) - } -} + case MongoShellParserCREATE_INDEXES: + p.EnterOuterAlt(localctx, 19) + { + p.SetState(1132) + p.CreateIndexesMethod() + } -func (s *ClientEncryptionStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitClientEncryptionStatement(s) + case MongoShellParserDROP_INDEX: + p.EnterOuterAlt(localctx, 20) + { + p.SetState(1133) + p.DropIndexMethod() + } - default: - return t.VisitChildren(s) - } -} + case MongoShellParserDROP_INDEXES: + p.EnterOuterAlt(localctx, 21) + { + p.SetState(1134) + p.DropIndexesMethod() + } -func (p *MongoShellParser) EncryptionStatement() (localctx IEncryptionStatementContext) { - localctx = NewEncryptionStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 26, MongoShellParserRULE_encryptionStatement) - var _la int + case MongoShellParserDROP: + p.EnterOuterAlt(localctx, 22) + { + p.SetState(1135) + p.DropMethod() + } - p.SetState(547) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } + case MongoShellParserRENAME_COLLECTION: + p.EnterOuterAlt(localctx, 23) + { + p.SetState(1136) + p.RenameCollectionMethod() + } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 38, p.GetParserRuleContext()) { - case 1: - localctx = NewKeyVaultStatementContext(p, localctx) - p.EnterOuterAlt(localctx, 1) + case MongoShellParserSTATS: + p.EnterOuterAlt(localctx, 24) { - p.SetState(503) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1137) + p.StatsMethod() } + + case MongoShellParserSTORAGE_SIZE: + p.EnterOuterAlt(localctx, 25) { - p.SetState(504) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1138) + p.StorageSizeMethod() } + + case MongoShellParserTOTAL_INDEX_SIZE: + p.EnterOuterAlt(localctx, 26) { - p.SetState(505) - p.Match(MongoShellParserGET_MONGO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1139) + p.TotalIndexSizeMethod() } + + case MongoShellParserTOTAL_SIZE: + p.EnterOuterAlt(localctx, 27) { - p.SetState(506) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1140) + p.TotalSizeMethod() } + + case MongoShellParserDATA_SIZE: + p.EnterOuterAlt(localctx, 28) { - p.SetState(507) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1141) + p.DataSizeMethod() + } + + case MongoShellParserIS_CAPPED: + p.EnterOuterAlt(localctx, 29) + { + p.SetState(1142) + p.IsCappedMethod() } + + case MongoShellParserVALIDATE: + p.EnterOuterAlt(localctx, 30) { - p.SetState(508) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1143) + p.ValidateMethod() } + + case MongoShellParserLATENCY_STATS: + p.EnterOuterAlt(localctx, 31) { - p.SetState(509) - p.Match(MongoShellParserGET_KEY_VAULT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1144) + p.LatencyStatsMethod() } + + case MongoShellParserWATCH: + p.EnterOuterAlt(localctx, 32) { - p.SetState(510) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1145) + p.WatchMethod() } + + case MongoShellParserBULK_WRITE: + p.EnterOuterAlt(localctx, 33) { - p.SetState(511) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1146) + p.BulkWriteMethod() } - p.SetState(522) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + + case MongoShellParserCOUNT: + p.EnterOuterAlt(localctx, 34) + { + p.SetState(1147) + p.CollectionCountMethod() } - _la = p.GetTokenStream().LA(1) - for _la == MongoShellParserDOT { - { - p.SetState(512) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(513) - p.Identifier() - } - { - p.SetState(514) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(516) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + case MongoShellParserINSERT: + p.EnterOuterAlt(localctx, 35) + { + p.SetState(1148) + p.CollectionInsertMethod() + } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(515) - p.Arguments() - } + case MongoShellParserREMOVE: + p.EnterOuterAlt(localctx, 36) + { + p.SetState(1149) + p.CollectionRemoveMethod() + } - } - { - p.SetState(518) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + case MongoShellParserUPDATE: + p.EnterOuterAlt(localctx, 37) + { + p.SetState(1150) + p.UpdateMethod() + } - p.SetState(524) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + case MongoShellParserMAP_REDUCE: + p.EnterOuterAlt(localctx, 38) + { + p.SetState(1151) + p.MapReduceMethod() } - case 2: - localctx = NewClientEncryptionStatementContext(p, localctx) - p.EnterOuterAlt(localctx, 2) + case MongoShellParserFIND_AND_MODIFY: + p.EnterOuterAlt(localctx, 39) { - p.SetState(525) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1152) + p.FindAndModifyMethod() } + + case MongoShellParserEXPLAIN: + p.EnterOuterAlt(localctx, 40) { - p.SetState(526) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1153) + p.CollectionExplainMethod() } + + case MongoShellParserANALYZE_SHARD_KEY: + p.EnterOuterAlt(localctx, 41) { - p.SetState(527) - p.Match(MongoShellParserGET_MONGO) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1154) + p.AnalyzeShardKeyMethod() } + + case MongoShellParserCONFIGURE_QUERY_ANALYZER: + p.EnterOuterAlt(localctx, 42) { - p.SetState(528) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1155) + p.ConfigureQueryAnalyzerMethod() } + + case MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA: + p.EnterOuterAlt(localctx, 43) { - p.SetState(529) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1156) + p.CompactStructuredEncryptionDataMethod() } + + case MongoShellParserHIDE_INDEX: + p.EnterOuterAlt(localctx, 44) { - p.SetState(530) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1157) + p.HideIndexMethod() } + + case MongoShellParserUNHIDE_INDEX: + p.EnterOuterAlt(localctx, 45) { - p.SetState(531) - p.Match(MongoShellParserGET_CLIENT_ENCRYPTION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1158) + p.UnhideIndexMethod() } + + case MongoShellParserRE_INDEX: + p.EnterOuterAlt(localctx, 46) { - p.SetState(532) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1159) + p.ReIndexMethod() } + + case MongoShellParserGET_SHARD_DISTRIBUTION: + p.EnterOuterAlt(localctx, 47) { - p.SetState(533) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1160) + p.GetShardDistributionMethod() } - p.SetState(544) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + + case MongoShellParserGET_SHARD_VERSION: + p.EnterOuterAlt(localctx, 48) + { + p.SetState(1161) + p.GetShardVersionMethod() } - _la = p.GetTokenStream().LA(1) - for _la == MongoShellParserDOT { - { - p.SetState(534) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(535) - p.Identifier() - } - { - p.SetState(536) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(538) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + case MongoShellParserCREATE_SEARCH_INDEX: + p.EnterOuterAlt(localctx, 49) + { + p.SetState(1162) + p.CreateSearchIndexMethod() + } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(537) - p.Arguments() - } + case MongoShellParserCREATE_SEARCH_INDEXES: + p.EnterOuterAlt(localctx, 50) + { + p.SetState(1163) + p.CreateSearchIndexesMethod() + } - } - { - p.SetState(540) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + case MongoShellParserDROP_SEARCH_INDEX: + p.EnterOuterAlt(localctx, 51) + { + p.SetState(1164) + p.DropSearchIndexMethod() + } - p.SetState(546) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) + case MongoShellParserUPDATE_SEARCH_INDEX: + p.EnterOuterAlt(localctx, 52) + { + p.SetState(1165) + p.UpdateSearchIndexMethod() } - case antlr.ATNInvalidAltNumber: + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) goto errorExit } @@ -7341,72 +18265,90 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IPlanCacheStatementContext is an interface to support dynamic dispatch. -type IPlanCacheStatementContext interface { +// ICursorMethodCallContext is an interface to support dynamic dispatch. +type ICursorMethodCallContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DB() antlr.TerminalNode - CollectionAccess() ICollectionAccessContext - AllDOT() []antlr.TerminalNode - DOT(i int) antlr.TerminalNode - GET_PLAN_CACHE() antlr.TerminalNode - AllLPAREN() []antlr.TerminalNode - LPAREN(i int) antlr.TerminalNode - AllRPAREN() []antlr.TerminalNode - RPAREN(i int) antlr.TerminalNode - AllIdentifier() []IIdentifierContext - Identifier(i int) IIdentifierContext - AllArguments() []IArgumentsContext - Arguments(i int) IArgumentsContext + SortMethod() ISortMethodContext + LimitMethod() ILimitMethodContext + SkipMethod() ISkipMethodContext + CountMethod() ICountMethodContext + ProjectionMethod() IProjectionMethodContext + BatchSizeMethod() IBatchSizeMethodContext + CloseMethod() ICloseMethodContext + CollationMethod() ICollationMethodContext + CommentMethod() ICommentMethodContext + ExplainMethod() IExplainMethodContext + ForEachMethod() IForEachMethodContext + HasNextMethod() IHasNextMethodContext + HintMethod() IHintMethodContext + IsClosedMethod() IIsClosedMethodContext + IsExhaustedMethod() IIsExhaustedMethodContext + ItcountMethod() IItcountMethodContext + MapMethod() IMapMethodContext + MaxMethod() IMaxMethodContext + MaxAwaitTimeMSMethod() IMaxAwaitTimeMSMethodContext + MaxTimeMSMethod() IMaxTimeMSMethodContext + MinMethod() IMinMethodContext + NextMethod() INextMethodContext + NoCursorTimeoutMethod() INoCursorTimeoutMethodContext + ObjsLeftInBatchMethod() IObjsLeftInBatchMethodContext + PrettyMethod() IPrettyMethodContext + ReadConcernMethod() IReadConcernMethodContext + ReadPrefMethod() IReadPrefMethodContext + ReturnKeyMethod() IReturnKeyMethodContext + ShowRecordIdMethod() IShowRecordIdMethodContext + SizeMethod() ISizeMethodContext + TailableMethod() ITailableMethodContext + ToArrayMethod() IToArrayMethodContext + TryNextMethod() ITryNextMethodContext + AllowDiskUseMethod() IAllowDiskUseMethodContext + AddOptionMethod() IAddOptionMethodContext - // IsPlanCacheStatementContext differentiates from other interfaces. - IsPlanCacheStatementContext() + // IsCursorMethodCallContext differentiates from other interfaces. + IsCursorMethodCallContext() } -type PlanCacheStatementContext struct { +type CursorMethodCallContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyPlanCacheStatementContext() *PlanCacheStatementContext { - var p = new(PlanCacheStatementContext) +func NewEmptyCursorMethodCallContext() *CursorMethodCallContext { + var p = new(CursorMethodCallContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_planCacheStatement + p.RuleIndex = MongoShellParserRULE_cursorMethodCall return p } -func InitEmptyPlanCacheStatementContext(p *PlanCacheStatementContext) { +func InitEmptyCursorMethodCallContext(p *CursorMethodCallContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_planCacheStatement + p.RuleIndex = MongoShellParserRULE_cursorMethodCall } -func (*PlanCacheStatementContext) IsPlanCacheStatementContext() {} +func (*CursorMethodCallContext) IsCursorMethodCallContext() {} -func NewPlanCacheStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PlanCacheStatementContext { - var p = new(PlanCacheStatementContext) +func NewCursorMethodCallContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CursorMethodCallContext { + var p = new(CursorMethodCallContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_planCacheStatement + p.RuleIndex = MongoShellParserRULE_cursorMethodCall return p } -func (s *PlanCacheStatementContext) GetParser() antlr.Parser { return s.parser } - -func (s *PlanCacheStatementContext) DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserDB, 0) -} +func (s *CursorMethodCallContext) GetParser() antlr.Parser { return s.parser } -func (s *PlanCacheStatementContext) CollectionAccess() ICollectionAccessContext { +func (s *CursorMethodCallContext) SortMethod() ISortMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICollectionAccessContext); ok { + if _, ok := ctx.(ISortMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -7416,68 +18358,79 @@ func (s *PlanCacheStatementContext) CollectionAccess() ICollectionAccessContext return nil } - return t.(ICollectionAccessContext) + return t.(ISortMethodContext) } -func (s *PlanCacheStatementContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) -} +func (s *CursorMethodCallContext) LimitMethod() ILimitMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILimitMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *PlanCacheStatementContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) -} + if t == nil { + return nil + } -func (s *PlanCacheStatementContext) GET_PLAN_CACHE() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_PLAN_CACHE, 0) + return t.(ILimitMethodContext) } -func (s *PlanCacheStatementContext) AllLPAREN() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserLPAREN) -} +func (s *CursorMethodCallContext) SkipMethod() ISkipMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISkipMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *PlanCacheStatementContext) LPAREN(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, i) -} + if t == nil { + return nil + } -func (s *PlanCacheStatementContext) AllRPAREN() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserRPAREN) + return t.(ISkipMethodContext) } -func (s *PlanCacheStatementContext) RPAREN(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, i) +func (s *CursorMethodCallContext) CountMethod() ICountMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICountMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ICountMethodContext) } -func (s *PlanCacheStatementContext) AllIdentifier() []IIdentifierContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IIdentifierContext); ok { - len++ +func (s *CursorMethodCallContext) ProjectionMethod() IProjectionMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IProjectionMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IIdentifierContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IIdentifierContext); ok { - tst[i] = t.(IIdentifierContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IProjectionMethodContext) } -func (s *PlanCacheStatementContext) Identifier(i int) IIdentifierContext { +func (s *CursorMethodCallContext) BatchSizeMethod() IBatchSizeMethodContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IBatchSizeMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -7485,40 +18438,31 @@ func (s *PlanCacheStatementContext) Identifier(i int) IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(IBatchSizeMethodContext) } -func (s *PlanCacheStatementContext) AllArguments() []IArgumentsContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IArgumentsContext); ok { - len++ +func (s *CursorMethodCallContext) CloseMethod() ICloseMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICloseMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IArgumentsContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IArgumentsContext); ok { - tst[i] = t.(IArgumentsContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(ICloseMethodContext) } -func (s *PlanCacheStatementContext) Arguments(i int) IArgumentsContext { +func (s *CursorMethodCallContext) CollationMethod() ICollationMethodContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(ICollationMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -7526,257 +18470,127 @@ func (s *PlanCacheStatementContext) Arguments(i int) IArgumentsContext { return nil } - return t.(IArgumentsContext) -} - -func (s *PlanCacheStatementContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *PlanCacheStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + return t.(ICollationMethodContext) } -func (s *PlanCacheStatementContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterPlanCacheStatement(s) +func (s *CursorMethodCallContext) CommentMethod() ICommentMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ICommentMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *PlanCacheStatementContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitPlanCacheStatement(s) + if t == nil { + return nil } -} - -func (s *PlanCacheStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitPlanCacheStatement(s) - default: - return t.VisitChildren(s) - } + return t.(ICommentMethodContext) } -func (p *MongoShellParser) PlanCacheStatement() (localctx IPlanCacheStatementContext) { - localctx = NewPlanCacheStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 28, MongoShellParserRULE_planCacheStatement) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(549) - p.Match(MongoShellParserDB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(550) - p.CollectionAccess() - } - { - p.SetState(551) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(552) - p.Match(MongoShellParserGET_PLAN_CACHE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(553) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(554) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit +func (s *CursorMethodCallContext) ExplainMethod() IExplainMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IExplainMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - p.SetState(565) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - for _la == MongoShellParserDOT { - { - p.SetState(555) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(556) - p.Identifier() - } - { - p.SetState(557) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(559) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(558) - p.Arguments() - } + if t == nil { + return nil + } - } - { - p.SetState(561) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + return t.(IExplainMethodContext) +} - p.SetState(567) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (s *CursorMethodCallContext) ForEachMethod() IForEachMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IForEachMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// ISpStatementContext is an interface to support dynamic dispatch. -type ISpStatementContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - SP() antlr.TerminalNode - AllDOT() []antlr.TerminalNode - DOT(i int) antlr.TerminalNode - AllIdentifier() []IIdentifierContext - Identifier(i int) IIdentifierContext - LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext - // IsSpStatementContext differentiates from other interfaces. - IsSpStatementContext() + return t.(IForEachMethodContext) } -type SpStatementContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *CursorMethodCallContext) HasNextMethod() IHasNextMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IHasNextMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptySpStatementContext() *SpStatementContext { - var p = new(SpStatementContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_spStatement - return p -} + if t == nil { + return nil + } -func InitEmptySpStatementContext(p *SpStatementContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_spStatement + return t.(IHasNextMethodContext) } -func (*SpStatementContext) IsSpStatementContext() {} - -func NewSpStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SpStatementContext { - var p = new(SpStatementContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *CursorMethodCallContext) HintMethod() IHintMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IHintMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_spStatement + if t == nil { + return nil + } - return p + return t.(IHintMethodContext) } -func (s *SpStatementContext) GetParser() antlr.Parser { return s.parser } - -func (s *SpStatementContext) SP() antlr.TerminalNode { - return s.GetToken(MongoShellParserSP, 0) -} +func (s *CursorMethodCallContext) IsClosedMethod() IIsClosedMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIsClosedMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *SpStatementContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) -} + if t == nil { + return nil + } -func (s *SpStatementContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) + return t.(IIsClosedMethodContext) } -func (s *SpStatementContext) AllIdentifier() []IIdentifierContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IIdentifierContext); ok { - len++ +func (s *CursorMethodCallContext) IsExhaustedMethod() IIsExhaustedMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIsExhaustedMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } - tst := make([]IIdentifierContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IIdentifierContext); ok { - tst[i] = t.(IIdentifierContext) - i++ - } + if t == nil { + return nil } - return tst + return t.(IIsExhaustedMethodContext) } -func (s *SpStatementContext) Identifier(i int) IIdentifierContext { +func (s *CursorMethodCallContext) ItcountMethod() IItcountMethodContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IItcountMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -7784,21 +18598,29 @@ func (s *SpStatementContext) Identifier(i int) IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(IItcountMethodContext) } -func (s *SpStatementContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} +func (s *CursorMethodCallContext) MapMethod() IMapMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMapMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *SpStatementContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + if t == nil { + return nil + } + + return t.(IMapMethodContext) } -func (s *SpStatementContext) Arguments() IArgumentsContext { +func (s *CursorMethodCallContext) MaxMethod() IMaxMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IMaxMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -7808,239 +18630,221 @@ func (s *SpStatementContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IMaxMethodContext) } -func (s *SpStatementContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *CursorMethodCallContext) MaxAwaitTimeMSMethod() IMaxAwaitTimeMSMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMaxAwaitTimeMSMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *SpStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + if t == nil { + return nil + } + + return t.(IMaxAwaitTimeMSMethodContext) } -func (s *SpStatementContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterSpStatement(s) +func (s *CursorMethodCallContext) MaxTimeMSMethod() IMaxTimeMSMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMaxTimeMSMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} -func (s *SpStatementContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitSpStatement(s) + if t == nil { + return nil } + + return t.(IMaxTimeMSMethodContext) } -func (s *SpStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitSpStatement(s) +func (s *CursorMethodCallContext) MinMethod() IMinMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IMinMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - default: - return t.VisitChildren(s) + if t == nil { + return nil } + + return t.(IMinMethodContext) } -func (p *MongoShellParser) SpStatement() (localctx ISpStatementContext) { - localctx = NewSpStatementContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 30, MongoShellParserRULE_spStatement) - var _la int +func (s *CursorMethodCallContext) NextMethod() INextMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(INextMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.SetState(588) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + if t == nil { + return nil } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 43, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(568) - p.Match(MongoShellParserSP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(569) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(570) - p.Identifier() - } - { - p.SetState(571) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(573) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + return t.(INextMethodContext) +} + +func (s *CursorMethodCallContext) NoCursorTimeoutMethod() INoCursorTimeoutMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(INoCursorTimeoutMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) + } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(572) - p.Arguments() - } + if t == nil { + return nil + } - } - { - p.SetState(575) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + return t.(INoCursorTimeoutMethodContext) +} - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(577) - p.Match(MongoShellParserSP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(578) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(579) - p.Identifier() - } - { - p.SetState(580) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(581) - p.Identifier() - } - { - p.SetState(582) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(584) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit +func (s *CursorMethodCallContext) ObjsLeftInBatchMethod() IObjsLeftInBatchMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IObjsLeftInBatchMethodContext); ok { + t = ctx.(antlr.RuleContext) + break } - _la = p.GetTokenStream().LA(1) + } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(583) - p.Arguments() - } + if t == nil { + return nil + } - } - { - p.SetState(586) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + return t.(IObjsLeftInBatchMethodContext) +} - case antlr.ATNInvalidAltNumber: - goto errorExit +func (s *CursorMethodCallContext) PrettyMethod() IPrettyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IPrettyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + if t == nil { + return nil } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} -// INativeFunctionCallContext is an interface to support dynamic dispatch. -type INativeFunctionCallContext interface { - antlr.ParserRuleContext + return t.(IPrettyMethodContext) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *CursorMethodCallContext) ReadConcernMethod() IReadConcernMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IReadConcernMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - // Getter signatures - Identifier() IIdentifierContext - LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext + if t == nil { + return nil + } - // IsNativeFunctionCallContext differentiates from other interfaces. - IsNativeFunctionCallContext() + return t.(IReadConcernMethodContext) } -type NativeFunctionCallContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} +func (s *CursorMethodCallContext) ReadPrefMethod() IReadPrefMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IReadPrefMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewEmptyNativeFunctionCallContext() *NativeFunctionCallContext { - var p = new(NativeFunctionCallContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_nativeFunctionCall - return p + if t == nil { + return nil + } + + return t.(IReadPrefMethodContext) } -func InitEmptyNativeFunctionCallContext(p *NativeFunctionCallContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_nativeFunctionCall +func (s *CursorMethodCallContext) ReturnKeyMethod() IReturnKeyMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IReturnKeyMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IReturnKeyMethodContext) } -func (*NativeFunctionCallContext) IsNativeFunctionCallContext() {} +func (s *CursorMethodCallContext) ShowRecordIdMethod() IShowRecordIdMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IShowRecordIdMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func NewNativeFunctionCallContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NativeFunctionCallContext { - var p = new(NativeFunctionCallContext) + if t == nil { + return nil + } - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + return t.(IShowRecordIdMethodContext) +} - p.parser = parser - p.RuleIndex = MongoShellParserRULE_nativeFunctionCall +func (s *CursorMethodCallContext) SizeMethod() ISizeMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ISizeMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - return p + if t == nil { + return nil + } + + return t.(ISizeMethodContext) } -func (s *NativeFunctionCallContext) GetParser() antlr.Parser { return s.parser } +func (s *CursorMethodCallContext) TailableMethod() ITailableMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ITailableMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NativeFunctionCallContext) Identifier() IIdentifierContext { + if t == nil { + return nil + } + + return t.(ITailableMethodContext) +} + +func (s *CursorMethodCallContext) ToArrayMethod() IToArrayMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { + if _, ok := ctx.(IToArrayMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -8050,21 +18854,45 @@ func (s *NativeFunctionCallContext) Identifier() IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(IToArrayMethodContext) } -func (s *NativeFunctionCallContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *CursorMethodCallContext) TryNextMethod() ITryNextMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ITryNextMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(ITryNextMethodContext) } -func (s *NativeFunctionCallContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *CursorMethodCallContext) AllowDiskUseMethod() IAllowDiskUseMethodContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IAllowDiskUseMethodContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IAllowDiskUseMethodContext) } -func (s *NativeFunctionCallContext) Arguments() IArgumentsContext { +func (s *CursorMethodCallContext) AddOptionMethod() IAddOptionMethodContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IAddOptionMethodContext); ok { t = ctx.(antlr.RuleContext) break } @@ -8074,294 +18902,374 @@ func (s *NativeFunctionCallContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IAddOptionMethodContext) } -func (s *NativeFunctionCallContext) GetRuleContext() antlr.RuleContext { +func (s *CursorMethodCallContext) GetRuleContext() antlr.RuleContext { return s } -func (s *NativeFunctionCallContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CursorMethodCallContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *NativeFunctionCallContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CursorMethodCallContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterNativeFunctionCall(s) + listenerT.EnterCursorMethodCall(s) } } -func (s *NativeFunctionCallContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CursorMethodCallContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitNativeFunctionCall(s) + listenerT.ExitCursorMethodCall(s) } } -func (s *NativeFunctionCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CursorMethodCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitNativeFunctionCall(s) + return t.VisitCursorMethodCall(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) NativeFunctionCall() (localctx INativeFunctionCallContext) { - localctx = NewNativeFunctionCallContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 32, MongoShellParserRULE_nativeFunctionCall) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(590) - p.Identifier() - } - { - p.SetState(591) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(593) +func (p *MongoShellParser) CursorMethodCall() (localctx ICursorMethodCallContext) { + localctx = NewCursorMethodCallContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 40, MongoShellParserRULE_cursorMethodCall) + p.SetState(1203) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + switch p.GetTokenStream().LA(1) { + case MongoShellParserSORT: + p.EnterOuterAlt(localctx, 1) { - p.SetState(592) - p.Arguments() + p.SetState(1168) + p.SortMethod() } - } - { - p.SetState(595) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + case MongoShellParserLIMIT: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1169) + p.LimitMethod() } - } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} + case MongoShellParserSKIP_: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1170) + p.SkipMethod() + } + + case MongoShellParserCOUNT: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1171) + p.CountMethod() + } + + case MongoShellParserPROJECTION, MongoShellParserPROJECT: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1172) + p.ProjectionMethod() + } -// IConnectionMethodContext is an interface to support dynamic dispatch. -type IConnectionMethodContext interface { - antlr.ParserRuleContext + case MongoShellParserBATCH_SIZE: + p.EnterOuterAlt(localctx, 6) + { + p.SetState(1173) + p.BatchSizeMethod() + } - // GetParser returns the parser. - GetParser() antlr.Parser - // IsConnectionMethodContext differentiates from other interfaces. - IsConnectionMethodContext() -} + case MongoShellParserCLOSE: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(1174) + p.CloseMethod() + } -type ConnectionMethodContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} + case MongoShellParserCOLLATION: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(1175) + p.CollationMethod() + } -func NewEmptyConnectionMethodContext() *ConnectionMethodContext { - var p = new(ConnectionMethodContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_connectionMethod - return p -} + case MongoShellParserCOMMENT: + p.EnterOuterAlt(localctx, 9) + { + p.SetState(1176) + p.CommentMethod() + } -func InitEmptyConnectionMethodContext(p *ConnectionMethodContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_connectionMethod -} + case MongoShellParserEXPLAIN: + p.EnterOuterAlt(localctx, 10) + { + p.SetState(1177) + p.ExplainMethod() + } -func (*ConnectionMethodContext) IsConnectionMethodContext() {} + case MongoShellParserFOR_EACH: + p.EnterOuterAlt(localctx, 11) + { + p.SetState(1178) + p.ForEachMethod() + } -func NewConnectionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConnectionMethodContext { - var p = new(ConnectionMethodContext) + case MongoShellParserHAS_NEXT: + p.EnterOuterAlt(localctx, 12) + { + p.SetState(1179) + p.HasNextMethod() + } - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + case MongoShellParserHINT: + p.EnterOuterAlt(localctx, 13) + { + p.SetState(1180) + p.HintMethod() + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_connectionMethod + case MongoShellParserIS_CLOSED: + p.EnterOuterAlt(localctx, 14) + { + p.SetState(1181) + p.IsClosedMethod() + } - return p -} + case MongoShellParserIS_EXHAUSTED: + p.EnterOuterAlt(localctx, 15) + { + p.SetState(1182) + p.IsExhaustedMethod() + } -func (s *ConnectionMethodContext) GetParser() antlr.Parser { return s.parser } + case MongoShellParserIT_COUNT: + p.EnterOuterAlt(localctx, 16) + { + p.SetState(1183) + p.ItcountMethod() + } -func (s *ConnectionMethodContext) CopyAll(ctx *ConnectionMethodContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) -} + case MongoShellParserMAP: + p.EnterOuterAlt(localctx, 17) + { + p.SetState(1184) + p.MapMethod() + } -func (s *ConnectionMethodContext) GetRuleContext() antlr.RuleContext { - return s -} + case MongoShellParserMAX: + p.EnterOuterAlt(localctx, 18) + { + p.SetState(1185) + p.MaxMethod() + } -func (s *ConnectionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} + case MongoShellParserMAX_AWAIT_TIME_MS: + p.EnterOuterAlt(localctx, 19) + { + p.SetState(1186) + p.MaxAwaitTimeMSMethod() + } -type ConnGetReadConcernContext struct { - ConnectionMethodContext -} + case MongoShellParserMAX_TIME_MS: + p.EnterOuterAlt(localctx, 20) + { + p.SetState(1187) + p.MaxTimeMSMethod() + } -func NewConnGetReadConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadConcernContext { - var p = new(ConnGetReadConcernContext) + case MongoShellParserMIN: + p.EnterOuterAlt(localctx, 21) + { + p.SetState(1188) + p.MinMethod() + } - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + case MongoShellParserNEXT: + p.EnterOuterAlt(localctx, 22) + { + p.SetState(1189) + p.NextMethod() + } - return p -} + case MongoShellParserNO_CURSOR_TIMEOUT: + p.EnterOuterAlt(localctx, 23) + { + p.SetState(1190) + p.NoCursorTimeoutMethod() + } -func (s *ConnGetReadConcernContext) GetRuleContext() antlr.RuleContext { - return s -} + case MongoShellParserOBJS_LEFT_IN_BATCH: + p.EnterOuterAlt(localctx, 24) + { + p.SetState(1191) + p.ObjsLeftInBatchMethod() + } -func (s *ConnGetReadConcernContext) GET_READ_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_CONCERN, 0) -} + case MongoShellParserPRETTY: + p.EnterOuterAlt(localctx, 25) + { + p.SetState(1192) + p.PrettyMethod() + } -func (s *ConnGetReadConcernContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} + case MongoShellParserREAD_CONCERN: + p.EnterOuterAlt(localctx, 26) + { + p.SetState(1193) + p.ReadConcernMethod() + } -func (s *ConnGetReadConcernContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} + case MongoShellParserREAD_PREF: + p.EnterOuterAlt(localctx, 27) + { + p.SetState(1194) + p.ReadPrefMethod() + } -func (s *ConnGetReadConcernContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetReadConcern(s) - } -} + case MongoShellParserRETURN_KEY: + p.EnterOuterAlt(localctx, 28) + { + p.SetState(1195) + p.ReturnKeyMethod() + } -func (s *ConnGetReadConcernContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetReadConcern(s) - } -} + case MongoShellParserSHOW_RECORD_ID: + p.EnterOuterAlt(localctx, 29) + { + p.SetState(1196) + p.ShowRecordIdMethod() + } -func (s *ConnGetReadConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnGetReadConcern(s) + case MongoShellParserSIZE: + p.EnterOuterAlt(localctx, 30) + { + p.SetState(1197) + p.SizeMethod() + } - default: - return t.VisitChildren(s) - } -} + case MongoShellParserTAILABLE: + p.EnterOuterAlt(localctx, 31) + { + p.SetState(1198) + p.TailableMethod() + } -type ConnSetReadPrefContext struct { - ConnectionMethodContext -} + case MongoShellParserTO_ARRAY: + p.EnterOuterAlt(localctx, 32) + { + p.SetState(1199) + p.ToArrayMethod() + } -func NewConnSetReadPrefContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnSetReadPrefContext { - var p = new(ConnSetReadPrefContext) + case MongoShellParserTRY_NEXT: + p.EnterOuterAlt(localctx, 33) + { + p.SetState(1200) + p.TryNextMethod() + } - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + case MongoShellParserALLOW_DISK_USE: + p.EnterOuterAlt(localctx, 34) + { + p.SetState(1201) + p.AllowDiskUseMethod() + } - return p -} + case MongoShellParserADD_OPTION: + p.EnterOuterAlt(localctx, 35) + { + p.SetState(1202) + p.AddOptionMethod() + } -func (s *ConnSetReadPrefContext) GetRuleContext() antlr.RuleContext { - return s -} + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } -func (s *ConnSetReadPrefContext) SET_READ_PREF() antlr.TerminalNode { - return s.GetToken(MongoShellParserSET_READ_PREF, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnSetReadPrefContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} +// IFindMethodContext is an interface to support dynamic dispatch. +type IFindMethodContext interface { + antlr.ParserRuleContext -func (s *ConnSetReadPrefContext) Arguments() IArgumentsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } + // GetParser returns the parser. + GetParser() antlr.Parser - if t == nil { - return nil - } + // Getter signatures + FIND() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext - return t.(IArgumentsContext) + // IsFindMethodContext differentiates from other interfaces. + IsFindMethodContext() } -func (s *ConnSetReadPrefContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +type FindMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *ConnSetReadPrefContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnSetReadPref(s) - } +func NewEmptyFindMethodContext() *FindMethodContext { + var p = new(FindMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findMethod + return p } -func (s *ConnSetReadPrefContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnSetReadPref(s) - } +func InitEmptyFindMethodContext(p *FindMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findMethod } -func (s *ConnSetReadPrefContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnSetReadPref(s) - - default: - return t.VisitChildren(s) - } -} +func (*FindMethodContext) IsFindMethodContext() {} -type ConnAdminCommandContext struct { - ConnectionMethodContext -} +func NewFindMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindMethodContext { + var p = new(FindMethodContext) -func NewConnAdminCommandContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnAdminCommandContext { - var p = new(ConnAdminCommandContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.RuleIndex = MongoShellParserRULE_findMethod return p } -func (s *ConnAdminCommandContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *FindMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ConnAdminCommandContext) ADMIN_COMMAND() antlr.TerminalNode { - return s.GetToken(MongoShellParserADMIN_COMMAND, 0) +func (s *FindMethodContext) FIND() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND, 0) } -func (s *ConnAdminCommandContext) LPAREN() antlr.TerminalNode { +func (s *FindMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ConnAdminCommandContext) Arguments() IArgumentsContext { +func (s *FindMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *FindMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -8377,167 +19285,156 @@ func (s *ConnAdminCommandContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *ConnAdminCommandContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *ConnAdminCommandContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnAdminCommand(s) - } -} - -func (s *ConnAdminCommandContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnAdminCommand(s) - } -} - -func (s *ConnAdminCommandContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnAdminCommand(s) - - default: - return t.VisitChildren(s) - } -} - -type ConnGetReadPrefTagSetContext struct { - ConnectionMethodContext -} - -func NewConnGetReadPrefTagSetContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadPrefTagSetContext { - var p = new(ConnGetReadPrefTagSetContext) - - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) - - return p -} - -func (s *ConnGetReadPrefTagSetContext) GetRuleContext() antlr.RuleContext { +func (s *FindMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ConnGetReadPrefTagSetContext) GET_READ_PREF_TAG_SET() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_PREF_TAG_SET, 0) -} - -func (s *ConnGetReadPrefTagSetContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} - -func (s *ConnGetReadPrefTagSetContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *FindMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *ConnGetReadPrefTagSetContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *FindMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetReadPrefTagSet(s) + listenerT.EnterFindMethod(s) } } -func (s *ConnGetReadPrefTagSetContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *FindMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetReadPrefTagSet(s) + listenerT.ExitFindMethod(s) } } -func (s *ConnGetReadPrefTagSetContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *FindMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitConnGetReadPrefTagSet(s) + return t.VisitFindMethod(s) default: return t.VisitChildren(s) } } -type ConnGetWriteConcernContext struct { - ConnectionMethodContext -} - -func NewConnGetWriteConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetWriteConcernContext { - var p = new(ConnGetWriteConcernContext) +func (p *MongoShellParser) FindMethod() (localctx IFindMethodContext) { + localctx = NewFindMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 42, MongoShellParserRULE_findMethod) + var _la int - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1205) + p.Match(MongoShellParserFIND) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1206) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1208) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - return p -} + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1207) + p.Arguments() + } -func (s *ConnGetWriteConcernContext) GetRuleContext() antlr.RuleContext { - return s -} + } + { + p.SetState(1210) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *ConnGetWriteConcernContext) GET_WRITE_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_WRITE_CONCERN, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnGetWriteConcernContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} +// IFindOneMethodContext is an interface to support dynamic dispatch. +type IFindOneMethodContext interface { + antlr.ParserRuleContext -func (s *ConnGetWriteConcernContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *ConnGetWriteConcernContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetWriteConcern(s) - } -} + // Getter signatures + FIND_ONE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext -func (s *ConnGetWriteConcernContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetWriteConcern(s) - } + // IsFindOneMethodContext differentiates from other interfaces. + IsFindOneMethodContext() } -func (s *ConnGetWriteConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnGetWriteConcern(s) +type FindOneMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - default: - return t.VisitChildren(s) - } +func NewEmptyFindOneMethodContext() *FindOneMethodContext { + var p = new(FindOneMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneMethod + return p } -type ConnWatchContext struct { - ConnectionMethodContext +func InitEmptyFindOneMethodContext(p *FindOneMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneMethod } -func NewConnWatchContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnWatchContext { - var p = new(ConnWatchContext) +func (*FindOneMethodContext) IsFindOneMethodContext() {} + +func NewFindOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneMethodContext { + var p = new(FindOneMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.RuleIndex = MongoShellParserRULE_findOneMethod return p } -func (s *ConnWatchContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *FindOneMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ConnWatchContext) WATCH() antlr.TerminalNode { - return s.GetToken(MongoShellParserWATCH, 0) +func (s *FindOneMethodContext) FIND_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE, 0) } -func (s *ConnWatchContext) LPAREN() antlr.TerminalNode { +func (s *FindOneMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ConnWatchContext) RPAREN() antlr.TerminalNode { +func (s *FindOneMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ConnWatchContext) Arguments() IArgumentsContext { +func (s *FindOneMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -8553,110 +19450,159 @@ func (s *ConnWatchContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *ConnWatchContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *FindOneMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *FindOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *FindOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnWatch(s) + listenerT.EnterFindOneMethod(s) } } -func (s *ConnWatchContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *FindOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnWatch(s) + listenerT.ExitFindOneMethod(s) } } -func (s *ConnWatchContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *FindOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitConnWatch(s) + return t.VisitFindOneMethod(s) default: return t.VisitChildren(s) } } -type ConnGetReadPrefContext struct { - ConnectionMethodContext -} +func (p *MongoShellParser) FindOneMethod() (localctx IFindOneMethodContext) { + localctx = NewFindOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 44, MongoShellParserRULE_findOneMethod) + var _la int -func NewConnGetReadPrefContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadPrefContext { - var p = new(ConnGetReadPrefContext) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1212) + p.Match(MongoShellParserFIND_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1213) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1215) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1214) + p.Arguments() + } - return p -} + } + { + p.SetState(1217) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *ConnGetReadPrefContext) GetRuleContext() antlr.RuleContext { - return s +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnGetReadPrefContext) GET_READ_PREF() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_PREF, 0) -} +// ICountDocumentsMethodContext is an interface to support dynamic dispatch. +type ICountDocumentsMethodContext interface { + antlr.ParserRuleContext -func (s *ConnGetReadPrefContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *ConnGetReadPrefContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} + // Getter signatures + COUNT_DOCUMENTS() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext -func (s *ConnGetReadPrefContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetReadPref(s) - } + // IsCountDocumentsMethodContext differentiates from other interfaces. + IsCountDocumentsMethodContext() } -func (s *ConnGetReadPrefContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetReadPref(s) - } +type CountDocumentsMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *ConnGetReadPrefContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnGetReadPref(s) - - default: - return t.VisitChildren(s) - } +func NewEmptyCountDocumentsMethodContext() *CountDocumentsMethodContext { + var p = new(CountDocumentsMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_countDocumentsMethod + return p } -type ConnSetReadConcernContext struct { - ConnectionMethodContext +func InitEmptyCountDocumentsMethodContext(p *CountDocumentsMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_countDocumentsMethod } -func NewConnSetReadConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnSetReadConcernContext { - var p = new(ConnSetReadConcernContext) +func (*CountDocumentsMethodContext) IsCountDocumentsMethodContext() {} + +func NewCountDocumentsMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CountDocumentsMethodContext { + var p = new(CountDocumentsMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.RuleIndex = MongoShellParserRULE_countDocumentsMethod return p } -func (s *ConnSetReadConcernContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *CountDocumentsMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ConnSetReadConcernContext) SET_READ_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserSET_READ_CONCERN, 0) +func (s *CountDocumentsMethodContext) COUNT_DOCUMENTS() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOUNT_DOCUMENTS, 0) } -func (s *ConnSetReadConcernContext) LPAREN() antlr.TerminalNode { +func (s *CountDocumentsMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ConnSetReadConcernContext) Argument() IArgumentContext { +func (s *CountDocumentsMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *CountDocumentsMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -8666,133 +19612,162 @@ func (s *ConnSetReadConcernContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *ConnSetReadConcernContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *CountDocumentsMethodContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *ConnSetReadConcernContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CountDocumentsMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *CountDocumentsMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnSetReadConcern(s) + listenerT.EnterCountDocumentsMethod(s) } } -func (s *ConnSetReadConcernContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CountDocumentsMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnSetReadConcern(s) + listenerT.ExitCountDocumentsMethod(s) } } -func (s *ConnSetReadConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CountDocumentsMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitConnSetReadConcern(s) + return t.VisitCountDocumentsMethod(s) default: return t.VisitChildren(s) } -} - -type ConnCloseContext struct { - ConnectionMethodContext -} +} + +func (p *MongoShellParser) CountDocumentsMethod() (localctx ICountDocumentsMethodContext) { + localctx = NewCountDocumentsMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 46, MongoShellParserRULE_countDocumentsMethod) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1219) + p.Match(MongoShellParserCOUNT_DOCUMENTS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1220) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1222) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func NewConnCloseContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnCloseContext { - var p = new(ConnCloseContext) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1221) + p.Arguments() + } - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + } + { + p.SetState(1224) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - return p +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnCloseContext) GetRuleContext() antlr.RuleContext { - return s -} +// IEstimatedDocumentCountMethodContext is an interface to support dynamic dispatch. +type IEstimatedDocumentCountMethodContext interface { + antlr.ParserRuleContext -func (s *ConnCloseContext) CLOSE() antlr.TerminalNode { - return s.GetToken(MongoShellParserCLOSE, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *ConnCloseContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} + // Getter signatures + ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Argument() IArgumentContext -func (s *ConnCloseContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + // IsEstimatedDocumentCountMethodContext differentiates from other interfaces. + IsEstimatedDocumentCountMethodContext() } -func (s *ConnCloseContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnClose(s) - } +type EstimatedDocumentCountMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *ConnCloseContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnClose(s) - } +func NewEmptyEstimatedDocumentCountMethodContext() *EstimatedDocumentCountMethodContext { + var p = new(EstimatedDocumentCountMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_estimatedDocumentCountMethod + return p } -func (s *ConnCloseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnClose(s) - - default: - return t.VisitChildren(s) - } +func InitEmptyEstimatedDocumentCountMethodContext(p *EstimatedDocumentCountMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_estimatedDocumentCountMethod } -type ConnGenericMethodContext struct { - ConnectionMethodContext -} +func (*EstimatedDocumentCountMethodContext) IsEstimatedDocumentCountMethodContext() {} -func NewConnGenericMethodContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGenericMethodContext { - var p = new(ConnGenericMethodContext) +func NewEstimatedDocumentCountMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *EstimatedDocumentCountMethodContext { + var p = new(EstimatedDocumentCountMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.RuleIndex = MongoShellParserRULE_estimatedDocumentCountMethod return p } -func (s *ConnGenericMethodContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *ConnGenericMethodContext) Identifier() IIdentifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *EstimatedDocumentCountMethodContext) GetParser() antlr.Parser { return s.parser } - return t.(IIdentifierContext) +func (s *EstimatedDocumentCountMethodContext) ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode { + return s.GetToken(MongoShellParserESTIMATED_DOCUMENT_COUNT, 0) } -func (s *ConnGenericMethodContext) LPAREN() antlr.TerminalNode { +func (s *EstimatedDocumentCountMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ConnGenericMethodContext) RPAREN() antlr.TerminalNode { +func (s *EstimatedDocumentCountMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ConnGenericMethodContext) Arguments() IArgumentsContext { +func (s *EstimatedDocumentCountMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -8802,113 +19777,158 @@ func (s *ConnGenericMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IArgumentContext) } -func (s *ConnGenericMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *EstimatedDocumentCountMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *EstimatedDocumentCountMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *EstimatedDocumentCountMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGenericMethod(s) + listenerT.EnterEstimatedDocumentCountMethod(s) } } -func (s *ConnGenericMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *EstimatedDocumentCountMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGenericMethod(s) + listenerT.ExitEstimatedDocumentCountMethod(s) } } -func (s *ConnGenericMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *EstimatedDocumentCountMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitConnGenericMethod(s) + return t.VisitEstimatedDocumentCountMethod(s) default: return t.VisitChildren(s) } } -type ConnGetDBNamesContext struct { - ConnectionMethodContext -} +func (p *MongoShellParser) EstimatedDocumentCountMethod() (localctx IEstimatedDocumentCountMethodContext) { + localctx = NewEstimatedDocumentCountMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 48, MongoShellParserRULE_estimatedDocumentCountMethod) + var _la int -func NewConnGetDBNamesContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetDBNamesContext { - var p = new(ConnGetDBNamesContext) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1226) + p.Match(MongoShellParserESTIMATED_DOCUMENT_COUNT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1227) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1229) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1228) + p.Argument() + } - return p -} + } + { + p.SetState(1231) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *ConnGetDBNamesContext) GetRuleContext() antlr.RuleContext { - return s +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnGetDBNamesContext) GET_DB_NAMES() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_DB_NAMES, 0) -} +// IDistinctMethodContext is an interface to support dynamic dispatch. +type IDistinctMethodContext interface { + antlr.ParserRuleContext -func (s *ConnGetDBNamesContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *ConnGetDBNamesContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} + // Getter signatures + DISTINCT() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode -func (s *ConnGetDBNamesContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetDBNames(s) - } + // IsDistinctMethodContext differentiates from other interfaces. + IsDistinctMethodContext() } -func (s *ConnGetDBNamesContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetDBNames(s) - } +type DistinctMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *ConnGetDBNamesContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnGetDBNames(s) +func NewEmptyDistinctMethodContext() *DistinctMethodContext { + var p = new(DistinctMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_distinctMethod + return p +} - default: - return t.VisitChildren(s) - } +func InitEmptyDistinctMethodContext(p *DistinctMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_distinctMethod } -type ConnGetDBContext struct { - ConnectionMethodContext -} +func (*DistinctMethodContext) IsDistinctMethodContext() {} -func NewConnGetDBContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetDBContext { - var p = new(ConnGetDBContext) +func NewDistinctMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DistinctMethodContext { + var p = new(DistinctMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.RuleIndex = MongoShellParserRULE_distinctMethod return p } -func (s *ConnGetDBContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *DistinctMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ConnGetDBContext) GET_DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_DB, 0) +func (s *DistinctMethodContext) DISTINCT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDISTINCT, 0) } -func (s *ConnGetDBContext) LPAREN() antlr.TerminalNode { +func (s *DistinctMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ConnGetDBContext) Argument() IArgumentContext { +func (s *DistinctMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -8918,121 +19938,154 @@ func (s *ConnGetDBContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *ConnGetDBContext) RPAREN() antlr.TerminalNode { +func (s *DistinctMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ConnGetDBContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DistinctMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DistinctMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DistinctMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetDB(s) + listenerT.EnterDistinctMethod(s) } } -func (s *ConnGetDBContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DistinctMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetDB(s) + listenerT.ExitDistinctMethod(s) } } -func (s *ConnGetDBContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DistinctMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitConnGetDB(s) + return t.VisitDistinctMethod(s) default: return t.VisitChildren(s) } } -type ConnGetReadPrefModeContext struct { - ConnectionMethodContext -} - -func NewConnGetReadPrefModeContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnGetReadPrefModeContext { - var p = new(ConnGetReadPrefModeContext) - - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) +func (p *MongoShellParser) DistinctMethod() (localctx IDistinctMethodContext) { + localctx = NewDistinctMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 50, MongoShellParserRULE_distinctMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1233) + p.Match(MongoShellParserDISTINCT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1234) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1235) + p.Arguments() + } + { + p.SetState(1236) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - return p +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *ConnGetReadPrefModeContext) GetRuleContext() antlr.RuleContext { - return s -} +// IAggregateMethodContext is an interface to support dynamic dispatch. +type IAggregateMethodContext interface { + antlr.ParserRuleContext -func (s *ConnGetReadPrefModeContext) GET_READ_PREF_MODE() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_PREF_MODE, 0) -} + // GetParser returns the parser. + GetParser() antlr.Parser -func (s *ConnGetReadPrefModeContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} + // Getter signatures + AGGREGATE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext -func (s *ConnGetReadPrefModeContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + // IsAggregateMethodContext differentiates from other interfaces. + IsAggregateMethodContext() } -func (s *ConnGetReadPrefModeContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnGetReadPrefMode(s) - } +type AggregateMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *ConnGetReadPrefModeContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnGetReadPrefMode(s) - } +func NewEmptyAggregateMethodContext() *AggregateMethodContext { + var p = new(AggregateMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_aggregateMethod + return p } -func (s *ConnGetReadPrefModeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnGetReadPrefMode(s) - - default: - return t.VisitChildren(s) - } +func InitEmptyAggregateMethodContext(p *AggregateMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_aggregateMethod } -type ConnStartSessionContext struct { - ConnectionMethodContext -} +func (*AggregateMethodContext) IsAggregateMethodContext() {} -func NewConnStartSessionContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnStartSessionContext { - var p = new(ConnStartSessionContext) +func NewAggregateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AggregateMethodContext { + var p = new(AggregateMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) + p.RuleIndex = MongoShellParserRULE_aggregateMethod return p } -func (s *ConnStartSessionContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *AggregateMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ConnStartSessionContext) START_SESSION() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTART_SESSION, 0) +func (s *AggregateMethodContext) AGGREGATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserAGGREGATE, 0) } -func (s *ConnStartSessionContext) LPAREN() antlr.TerminalNode { +func (s *AggregateMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ConnStartSessionContext) RPAREN() antlr.TerminalNode { +func (s *AggregateMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ConnStartSessionContext) Argument() IArgumentContext { +func (s *AggregateMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -9042,591 +20095,520 @@ func (s *ConnStartSessionContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *ConnStartSessionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *AggregateMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *AggregateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *AggregateMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnStartSession(s) + listenerT.EnterAggregateMethod(s) } } -func (s *ConnStartSessionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *AggregateMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnStartSession(s) + listenerT.ExitAggregateMethod(s) } } -func (s *ConnStartSessionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *AggregateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitConnStartSession(s) + return t.VisitAggregateMethod(s) default: return t.VisitChildren(s) } } -type ConnSetWriteConcernContext struct { - ConnectionMethodContext -} - -func NewConnSetWriteConcernContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ConnSetWriteConcernContext { - var p = new(ConnSetWriteConcernContext) - - InitEmptyConnectionMethodContext(&p.ConnectionMethodContext) - p.parser = parser - p.CopyAll(ctx.(*ConnectionMethodContext)) - - return p -} - -func (s *ConnSetWriteConcernContext) GetRuleContext() antlr.RuleContext { - return s -} +func (p *MongoShellParser) AggregateMethod() (localctx IAggregateMethodContext) { + localctx = NewAggregateMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 52, MongoShellParserRULE_aggregateMethod) + var _la int -func (s *ConnSetWriteConcernContext) SET_WRITE_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserSET_WRITE_CONCERN, 0) -} + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1238) + p.Match(MongoShellParserAGGREGATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1239) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1241) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) -func (s *ConnSetWriteConcernContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1240) + p.Arguments() + } -func (s *ConnSetWriteConcernContext) Argument() IArgumentContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { - t = ctx.(antlr.RuleContext) - break + } + { + p.SetState(1243) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - return t.(IArgumentContext) +// IGetIndexesMethodContext is an interface to support dynamic dispatch. +type IGetIndexesMethodContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + GET_INDEXES() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + + // IsGetIndexesMethodContext differentiates from other interfaces. + IsGetIndexesMethodContext() } -func (s *ConnSetWriteConcernContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +type GetIndexesMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *ConnSetWriteConcernContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterConnSetWriteConcern(s) - } +func NewEmptyGetIndexesMethodContext() *GetIndexesMethodContext { + var p = new(GetIndexesMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_getIndexesMethod + return p } -func (s *ConnSetWriteConcernContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitConnSetWriteConcern(s) - } +func InitEmptyGetIndexesMethodContext(p *GetIndexesMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_getIndexesMethod } -func (s *ConnSetWriteConcernContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitConnSetWriteConcern(s) +func (*GetIndexesMethodContext) IsGetIndexesMethodContext() {} - default: - return t.VisitChildren(s) - } -} +func NewGetIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GetIndexesMethodContext { + var p = new(GetIndexesMethodContext) -func (p *MongoShellParser) ConnectionMethod() (localctx IConnectionMethodContext) { - localctx = NewConnectionMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 34, MongoShellParserRULE_connectionMethod) - var _la int + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - p.SetState(662) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } + p.parser = parser + p.RuleIndex = MongoShellParserRULE_getIndexesMethod - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 48, p.GetParserRuleContext()) { - case 1: - localctx = NewConnGetDBContext(p, localctx) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(597) - p.Match(MongoShellParserGET_DB) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(598) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(599) - p.Argument() - } - { - p.SetState(600) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + return p +} - case 2: - localctx = NewConnGetReadConcernContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(602) - p.Match(MongoShellParserGET_READ_CONCERN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(603) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(604) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) GetParser() antlr.Parser { return s.parser } - case 3: - localctx = NewConnGetReadPrefContext(p, localctx) - p.EnterOuterAlt(localctx, 3) - { - p.SetState(605) - p.Match(MongoShellParserGET_READ_PREF) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(606) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(607) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) GET_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_INDEXES, 0) +} - case 4: - localctx = NewConnGetReadPrefModeContext(p, localctx) - p.EnterOuterAlt(localctx, 4) - { - p.SetState(608) - p.Match(MongoShellParserGET_READ_PREF_MODE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(609) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(610) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - case 5: - localctx = NewConnGetReadPrefTagSetContext(p, localctx) - p.EnterOuterAlt(localctx, 5) - { - p.SetState(611) - p.Match(MongoShellParserGET_READ_PREF_TAG_SET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(612) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(613) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - case 6: - localctx = NewConnGetWriteConcernContext(p, localctx) - p.EnterOuterAlt(localctx, 6) - { - p.SetState(614) - p.Match(MongoShellParserGET_WRITE_CONCERN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(615) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(616) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - case 7: - localctx = NewConnSetReadPrefContext(p, localctx) - p.EnterOuterAlt(localctx, 7) - { - p.SetState(617) - p.Match(MongoShellParserSET_READ_PREF) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(618) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(619) - p.Arguments() - } - { - p.SetState(620) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} - case 8: - localctx = NewConnSetReadConcernContext(p, localctx) - p.EnterOuterAlt(localctx, 8) - { - p.SetState(622) - p.Match(MongoShellParserSET_READ_CONCERN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(623) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(624) - p.Argument() - } - { - p.SetState(625) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterGetIndexesMethod(s) + } +} - case 9: - localctx = NewConnSetWriteConcernContext(p, localctx) - p.EnterOuterAlt(localctx, 9) - { - p.SetState(627) - p.Match(MongoShellParserSET_WRITE_CONCERN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(628) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(629) - p.Argument() - } - { - p.SetState(630) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *GetIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitGetIndexesMethod(s) + } +} - case 10: - localctx = NewConnStartSessionContext(p, localctx) - p.EnterOuterAlt(localctx, 10) - { - p.SetState(632) - p.Match(MongoShellParserSTART_SESSION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } +func (s *GetIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitGetIndexesMethod(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) GetIndexesMethod() (localctx IGetIndexesMethodContext) { + localctx = NewGetIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 54, MongoShellParserRULE_getIndexesMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1245) + p.Match(MongoShellParserGET_INDEXES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(633) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(1246) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - p.SetState(635) - p.GetErrorHandler().Sync(p) + } + { + p.SetState(1247) + p.Match(MongoShellParserRPAREN) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IInsertOneMethodContext is an interface to support dynamic dispatch. +type IInsertOneMethodContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + INSERT_ONE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + + // IsInsertOneMethodContext differentiates from other interfaces. + IsInsertOneMethodContext() +} + +type InsertOneMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyInsertOneMethodContext() *InsertOneMethodContext { + var p = new(InsertOneMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_insertOneMethod + return p +} + +func InitEmptyInsertOneMethodContext(p *InsertOneMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_insertOneMethod +} + +func (*InsertOneMethodContext) IsInsertOneMethodContext() {} + +func NewInsertOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InsertOneMethodContext { + var p = new(InsertOneMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_insertOneMethod + + return p +} + +func (s *InsertOneMethodContext) GetParser() antlr.Parser { return s.parser } + +func (s *InsertOneMethodContext) INSERT_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT_ONE, 0) +} + +func (s *InsertOneMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *InsertOneMethodContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *InsertOneMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *InsertOneMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *InsertOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *InsertOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterInsertOneMethod(s) + } +} - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(634) - p.Argument() - } +func (s *InsertOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitInsertOneMethod(s) + } +} - } - { - p.SetState(637) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *InsertOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitInsertOneMethod(s) - case 11: - localctx = NewConnWatchContext(p, localctx) - p.EnterOuterAlt(localctx, 11) - { - p.SetState(638) - p.Match(MongoShellParserWATCH) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) InsertOneMethod() (localctx IInsertOneMethodContext) { + localctx = NewInsertOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 56, MongoShellParserRULE_insertOneMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1249) + p.Match(MongoShellParserINSERT_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(639) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(1250) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - p.SetState(641) - p.GetErrorHandler().Sync(p) + } + { + p.SetState(1251) + p.Arguments() + } + { + p.SetState(1252) + p.Match(MongoShellParserRPAREN) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) + } - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(640) - p.Arguments() - } +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - } - { - p.SetState(643) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +// IInsertManyMethodContext is an interface to support dynamic dispatch. +type IInsertManyMethodContext interface { + antlr.ParserRuleContext - case 12: - localctx = NewConnCloseContext(p, localctx) - p.EnterOuterAlt(localctx, 12) - { - p.SetState(644) - p.Match(MongoShellParserCLOSE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(645) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(646) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + // GetParser returns the parser. + GetParser() antlr.Parser - case 13: - localctx = NewConnAdminCommandContext(p, localctx) - p.EnterOuterAlt(localctx, 13) - { - p.SetState(647) - p.Match(MongoShellParserADMIN_COMMAND) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(648) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(649) - p.Arguments() - } - { - p.SetState(650) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + // Getter signatures + INSERT_MANY() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode - case 14: - localctx = NewConnGetDBNamesContext(p, localctx) - p.EnterOuterAlt(localctx, 14) - { - p.SetState(652) - p.Match(MongoShellParserGET_DB_NAMES) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(653) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(654) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + // IsInsertManyMethodContext differentiates from other interfaces. + IsInsertManyMethodContext() +} + +type InsertManyMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyInsertManyMethodContext() *InsertManyMethodContext { + var p = new(InsertManyMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_insertManyMethod + return p +} + +func InitEmptyInsertManyMethodContext(p *InsertManyMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_insertManyMethod +} + +func (*InsertManyMethodContext) IsInsertManyMethodContext() {} + +func NewInsertManyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InsertManyMethodContext { + var p = new(InsertManyMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_insertManyMethod + + return p +} + +func (s *InsertManyMethodContext) GetParser() antlr.Parser { return s.parser } + +func (s *InsertManyMethodContext) INSERT_MANY() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT_MANY, 0) +} + +func (s *InsertManyMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *InsertManyMethodContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *InsertManyMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *InsertManyMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - case 15: - localctx = NewConnGenericMethodContext(p, localctx) - p.EnterOuterAlt(localctx, 15) - { - p.SetState(655) - p.Identifier() - } - { - p.SetState(656) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(658) - p.GetErrorHandler().Sync(p) +func (s *InsertManyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *InsertManyMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterInsertManyMethod(s) + } +} + +func (s *InsertManyMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitInsertManyMethod(s) + } +} + +func (s *InsertManyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitInsertManyMethod(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) InsertManyMethod() (localctx IInsertManyMethodContext) { + localctx = NewInsertManyMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 58, MongoShellParserRULE_insertManyMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1254) + p.Match(MongoShellParserINSERT_MANY) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(657) - p.Arguments() - } - + } + { + p.SetState(1255) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(660) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(1256) + p.Arguments() + } + { + p.SetState(1257) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case antlr.ATNInvalidAltNumber: - goto errorExit } errorExit: @@ -9642,86 +20624,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICollectionAccessContext is an interface to support dynamic dispatch. -type ICollectionAccessContext interface { +// IUpdateOneMethodContext is an interface to support dynamic dispatch. +type IUpdateOneMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser - // IsCollectionAccessContext differentiates from other interfaces. - IsCollectionAccessContext() + + // Getter signatures + UPDATE_ONE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + + // IsUpdateOneMethodContext differentiates from other interfaces. + IsUpdateOneMethodContext() } -type CollectionAccessContext struct { +type UpdateOneMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCollectionAccessContext() *CollectionAccessContext { - var p = new(CollectionAccessContext) +func NewEmptyUpdateOneMethodContext() *UpdateOneMethodContext { + var p = new(UpdateOneMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_collectionAccess + p.RuleIndex = MongoShellParserRULE_updateOneMethod return p } -func InitEmptyCollectionAccessContext(p *CollectionAccessContext) { +func InitEmptyUpdateOneMethodContext(p *UpdateOneMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_collectionAccess + p.RuleIndex = MongoShellParserRULE_updateOneMethod } -func (*CollectionAccessContext) IsCollectionAccessContext() {} +func (*UpdateOneMethodContext) IsUpdateOneMethodContext() {} -func NewCollectionAccessContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionAccessContext { - var p = new(CollectionAccessContext) +func NewUpdateOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UpdateOneMethodContext { + var p = new(UpdateOneMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_collectionAccess + p.RuleIndex = MongoShellParserRULE_updateOneMethod return p } -func (s *CollectionAccessContext) GetParser() antlr.Parser { return s.parser } - -func (s *CollectionAccessContext) CopyAll(ctx *CollectionAccessContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) -} - -func (s *CollectionAccessContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *CollectionAccessContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -type DotAccessContext struct { - CollectionAccessContext -} - -func NewDotAccessContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DotAccessContext { - var p = new(DotAccessContext) - - InitEmptyCollectionAccessContext(&p.CollectionAccessContext) - p.parser = parser - p.CopyAll(ctx.(*CollectionAccessContext)) - - return p -} +func (s *UpdateOneMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DotAccessContext) GetRuleContext() antlr.RuleContext { - return s +func (s *UpdateOneMethodContext) UPDATE_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_ONE, 0) } -func (s *DotAccessContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) +func (s *UpdateOneMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DotAccessContext) Identifier() IIdentifierContext { +func (s *UpdateOneMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -9731,129 +20694,150 @@ func (s *DotAccessContext) Identifier() IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(IArgumentsContext) } -func (s *DotAccessContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UpdateOneMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *UpdateOneMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *UpdateOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *UpdateOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDotAccess(s) + listenerT.EnterUpdateOneMethod(s) } } -func (s *DotAccessContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UpdateOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDotAccess(s) + listenerT.ExitUpdateOneMethod(s) } } -func (s *DotAccessContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UpdateOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDotAccess(s) + return t.VisitUpdateOneMethod(s) default: return t.VisitChildren(s) } } -type GetCollectionAccessContext struct { - CollectionAccessContext -} - -func NewGetCollectionAccessContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *GetCollectionAccessContext { - var p = new(GetCollectionAccessContext) - - InitEmptyCollectionAccessContext(&p.CollectionAccessContext) - p.parser = parser - p.CopyAll(ctx.(*CollectionAccessContext)) - - return p -} - -func (s *GetCollectionAccessContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *GetCollectionAccessContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) -} - -func (s *GetCollectionAccessContext) GET_COLLECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_COLLECTION, 0) -} +func (p *MongoShellParser) UpdateOneMethod() (localctx IUpdateOneMethodContext) { + localctx = NewUpdateOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 60, MongoShellParserRULE_updateOneMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1259) + p.Match(MongoShellParserUPDATE_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1260) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1261) + p.Arguments() + } + { + p.SetState(1262) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *GetCollectionAccessContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *GetCollectionAccessContext) StringLiteral() IStringLiteralContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IUpdateManyMethodContext is an interface to support dynamic dispatch. +type IUpdateManyMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IStringLiteralContext) -} + // Getter signatures + UPDATE_MANY() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode -func (s *GetCollectionAccessContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + // IsUpdateManyMethodContext differentiates from other interfaces. + IsUpdateManyMethodContext() } -func (s *GetCollectionAccessContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGetCollectionAccess(s) - } +type UpdateManyMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser } -func (s *GetCollectionAccessContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGetCollectionAccess(s) - } +func NewEmptyUpdateManyMethodContext() *UpdateManyMethodContext { + var p = new(UpdateManyMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_updateManyMethod + return p } -func (s *GetCollectionAccessContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitGetCollectionAccess(s) - - default: - return t.VisitChildren(s) - } +func InitEmptyUpdateManyMethodContext(p *UpdateManyMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_updateManyMethod } -type BracketAccessContext struct { - CollectionAccessContext -} +func (*UpdateManyMethodContext) IsUpdateManyMethodContext() {} -func NewBracketAccessContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *BracketAccessContext { - var p = new(BracketAccessContext) +func NewUpdateManyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UpdateManyMethodContext { + var p = new(UpdateManyMethodContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - InitEmptyCollectionAccessContext(&p.CollectionAccessContext) p.parser = parser - p.CopyAll(ctx.(*CollectionAccessContext)) + p.RuleIndex = MongoShellParserRULE_updateManyMethod return p } -func (s *BracketAccessContext) GetRuleContext() antlr.RuleContext { - return s +func (s *UpdateManyMethodContext) GetParser() antlr.Parser { return s.parser } + +func (s *UpdateManyMethodContext) UPDATE_MANY() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_MANY, 0) } -func (s *BracketAccessContext) LBRACKET() antlr.TerminalNode { - return s.GetToken(MongoShellParserLBRACKET, 0) +func (s *UpdateManyMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BracketAccessContext) StringLiteral() IStringLiteralContext { +func (s *UpdateManyMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -9863,127 +20847,74 @@ func (s *BracketAccessContext) StringLiteral() IStringLiteralContext { return nil } - return t.(IStringLiteralContext) + return t.(IArgumentsContext) } -func (s *BracketAccessContext) RBRACKET() antlr.TerminalNode { - return s.GetToken(MongoShellParserRBRACKET, 0) +func (s *UpdateManyMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BracketAccessContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UpdateManyMethodContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *UpdateManyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *UpdateManyMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBracketAccess(s) + listenerT.EnterUpdateManyMethod(s) } } -func (s *BracketAccessContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UpdateManyMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBracketAccess(s) + listenerT.ExitUpdateManyMethod(s) } } -func (s *BracketAccessContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UpdateManyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBracketAccess(s) + return t.VisitUpdateManyMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) CollectionAccess() (localctx ICollectionAccessContext) { - localctx = NewCollectionAccessContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 36, MongoShellParserRULE_collectionAccess) - p.SetState(676) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 49, p.GetParserRuleContext()) { - case 1: - localctx = NewDotAccessContext(p, localctx) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(664) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(665) - p.Identifier() - } - - case 2: - localctx = NewBracketAccessContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(666) - p.Match(MongoShellParserLBRACKET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(667) - p.StringLiteral() - } - { - p.SetState(668) - p.Match(MongoShellParserRBRACKET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 3: - localctx = NewGetCollectionAccessContext(p, localctx) - p.EnterOuterAlt(localctx, 3) - { - p.SetState(670) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(671) - p.Match(MongoShellParserGET_COLLECTION) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(672) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } +func (p *MongoShellParser) UpdateManyMethod() (localctx IUpdateManyMethodContext) { + localctx = NewUpdateManyMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 62, MongoShellParserRULE_updateManyMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1264) + p.Match(MongoShellParserUPDATE_MANY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(673) - p.StringLiteral() + } + { + p.SetState(1265) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - { - p.SetState(674) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + } + { + p.SetState(1266) + p.Arguments() + } + { + p.SetState(1267) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case antlr.ATNInvalidAltNumber: - goto errorExit } errorExit: @@ -9999,94 +20930,69 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IMethodChainContext is an interface to support dynamic dispatch. -type IMethodChainContext interface { +// IDeleteOneMethodContext is an interface to support dynamic dispatch. +type IDeleteOneMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AllDOT() []antlr.TerminalNode - DOT(i int) antlr.TerminalNode - AllMethodCall() []IMethodCallContext - MethodCall(i int) IMethodCallContext + DELETE_ONE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode - // IsMethodChainContext differentiates from other interfaces. - IsMethodChainContext() + // IsDeleteOneMethodContext differentiates from other interfaces. + IsDeleteOneMethodContext() } -type MethodChainContext struct { +type DeleteOneMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyMethodChainContext() *MethodChainContext { - var p = new(MethodChainContext) +func NewEmptyDeleteOneMethodContext() *DeleteOneMethodContext { + var p = new(DeleteOneMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_methodChain + p.RuleIndex = MongoShellParserRULE_deleteOneMethod return p } -func InitEmptyMethodChainContext(p *MethodChainContext) { +func InitEmptyDeleteOneMethodContext(p *DeleteOneMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_methodChain + p.RuleIndex = MongoShellParserRULE_deleteOneMethod } -func (*MethodChainContext) IsMethodChainContext() {} +func (*DeleteOneMethodContext) IsDeleteOneMethodContext() {} -func NewMethodChainContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MethodChainContext { - var p = new(MethodChainContext) +func NewDeleteOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DeleteOneMethodContext { + var p = new(DeleteOneMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_methodChain + p.RuleIndex = MongoShellParserRULE_deleteOneMethod return p -} - -func (s *MethodChainContext) GetParser() antlr.Parser { return s.parser } - -func (s *MethodChainContext) AllDOT() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserDOT) -} - -func (s *MethodChainContext) DOT(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, i) -} - -func (s *MethodChainContext) AllMethodCall() []IMethodCallContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IMethodCallContext); ok { - len++ - } - } +} - tst := make([]IMethodCallContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IMethodCallContext); ok { - tst[i] = t.(IMethodCallContext) - i++ - } - } +func (s *DeleteOneMethodContext) GetParser() antlr.Parser { return s.parser } - return tst +func (s *DeleteOneMethodContext) DELETE_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDELETE_ONE, 0) +} + +func (s *DeleteOneMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodChainContext) MethodCall(i int) IMethodCallContext { +func (s *DeleteOneMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMethodCallContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -10094,84 +21000,74 @@ func (s *MethodChainContext) MethodCall(i int) IMethodCallContext { return nil } - return t.(IMethodCallContext) + return t.(IArgumentsContext) } -func (s *MethodChainContext) GetRuleContext() antlr.RuleContext { +func (s *DeleteOneMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DeleteOneMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *MethodChainContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DeleteOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodChainContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DeleteOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterMethodChain(s) + listenerT.EnterDeleteOneMethod(s) } } -func (s *MethodChainContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DeleteOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitMethodChain(s) + listenerT.ExitDeleteOneMethod(s) } } -func (s *MethodChainContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DeleteOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitMethodChain(s) + return t.VisitDeleteOneMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) MethodChain() (localctx IMethodChainContext) { - localctx = NewMethodChainContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 38, MongoShellParserRULE_methodChain) - var _la int - +func (p *MongoShellParser) DeleteOneMethod() (localctx IDeleteOneMethodContext) { + localctx = NewDeleteOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 64, MongoShellParserRULE_deleteOneMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(678) - p.Match(MongoShellParserDOT) + p.SetState(1269) + p.Match(MongoShellParserDELETE_ONE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(679) - p.MethodCall() + p.SetState(1270) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - p.SetState(684) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit + { + p.SetState(1271) + p.Arguments() } - _la = p.GetTokenStream().LA(1) - - for _la == MongoShellParserDOT { - { - p.SetState(680) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(681) - p.MethodCall() - } - - p.SetState(686) - p.GetErrorHandler().Sync(p) + { + p.SetState(1272) + p.Match(MongoShellParserRPAREN) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) } errorExit: @@ -10187,122 +21083,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IMethodCallContext is an interface to support dynamic dispatch. -type IMethodCallContext interface { +// IDeleteManyMethodContext is an interface to support dynamic dispatch. +type IDeleteManyMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FindMethod() IFindMethodContext - FindOneMethod() IFindOneMethodContext - CountDocumentsMethod() ICountDocumentsMethodContext - EstimatedDocumentCountMethod() IEstimatedDocumentCountMethodContext - DistinctMethod() IDistinctMethodContext - AggregateMethod() IAggregateMethodContext - GetIndexesMethod() IGetIndexesMethodContext - InsertOneMethod() IInsertOneMethodContext - InsertManyMethod() IInsertManyMethodContext - UpdateOneMethod() IUpdateOneMethodContext - UpdateManyMethod() IUpdateManyMethodContext - DeleteOneMethod() IDeleteOneMethodContext - DeleteManyMethod() IDeleteManyMethodContext - ReplaceOneMethod() IReplaceOneMethodContext - FindOneAndUpdateMethod() IFindOneAndUpdateMethodContext - FindOneAndReplaceMethod() IFindOneAndReplaceMethodContext - FindOneAndDeleteMethod() IFindOneAndDeleteMethodContext - CreateIndexMethod() ICreateIndexMethodContext - CreateIndexesMethod() ICreateIndexesMethodContext - DropIndexMethod() IDropIndexMethodContext - DropIndexesMethod() IDropIndexesMethodContext - DropMethod() IDropMethodContext - RenameCollectionMethod() IRenameCollectionMethodContext - StatsMethod() IStatsMethodContext - StorageSizeMethod() IStorageSizeMethodContext - TotalIndexSizeMethod() ITotalIndexSizeMethodContext - TotalSizeMethod() ITotalSizeMethodContext - DataSizeMethod() IDataSizeMethodContext - IsCappedMethod() IIsCappedMethodContext - ValidateMethod() IValidateMethodContext - LatencyStatsMethod() ILatencyStatsMethodContext - SortMethod() ISortMethodContext - LimitMethod() ILimitMethodContext - SkipMethod() ISkipMethodContext - CountMethod() ICountMethodContext - ProjectionMethod() IProjectionMethodContext - BatchSizeMethod() IBatchSizeMethodContext - CloseMethod() ICloseMethodContext - CollationMethod() ICollationMethodContext - CommentMethod() ICommentMethodContext - ExplainMethod() IExplainMethodContext - ForEachMethod() IForEachMethodContext - HasNextMethod() IHasNextMethodContext - HintMethod() IHintMethodContext - IsClosedMethod() IIsClosedMethodContext - IsExhaustedMethod() IIsExhaustedMethodContext - ItcountMethod() IItcountMethodContext - MapMethod() IMapMethodContext - MaxMethod() IMaxMethodContext - MaxAwaitTimeMSMethod() IMaxAwaitTimeMSMethodContext - MaxTimeMSMethod() IMaxTimeMSMethodContext - MinMethod() IMinMethodContext - NextMethod() INextMethodContext - NoCursorTimeoutMethod() INoCursorTimeoutMethodContext - ObjsLeftInBatchMethod() IObjsLeftInBatchMethodContext - PrettyMethod() IPrettyMethodContext - ReadConcernMethod() IReadConcernMethodContext - ReadPrefMethod() IReadPrefMethodContext - ReturnKeyMethod() IReturnKeyMethodContext - ShowRecordIdMethod() IShowRecordIdMethodContext - SizeMethod() ISizeMethodContext - TailableMethod() ITailableMethodContext - ToArrayMethod() IToArrayMethodContext - TryNextMethod() ITryNextMethodContext - AllowDiskUseMethod() IAllowDiskUseMethodContext - AddOptionMethod() IAddOptionMethodContext - GenericMethod() IGenericMethodContext + DELETE_MANY() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode - // IsMethodCallContext differentiates from other interfaces. - IsMethodCallContext() + // IsDeleteManyMethodContext differentiates from other interfaces. + IsDeleteManyMethodContext() } -type MethodCallContext struct { +type DeleteManyMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyMethodCallContext() *MethodCallContext { - var p = new(MethodCallContext) +func NewEmptyDeleteManyMethodContext() *DeleteManyMethodContext { + var p = new(DeleteManyMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_methodCall + p.RuleIndex = MongoShellParserRULE_deleteManyMethod return p } -func InitEmptyMethodCallContext(p *MethodCallContext) { +func InitEmptyDeleteManyMethodContext(p *DeleteManyMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_methodCall + p.RuleIndex = MongoShellParserRULE_deleteManyMethod } -func (*MethodCallContext) IsMethodCallContext() {} +func (*DeleteManyMethodContext) IsDeleteManyMethodContext() {} -func NewMethodCallContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MethodCallContext { - var p = new(MethodCallContext) +func NewDeleteManyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DeleteManyMethodContext { + var p = new(DeleteManyMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_methodCall + p.RuleIndex = MongoShellParserRULE_deleteManyMethod return p } -func (s *MethodCallContext) GetParser() antlr.Parser { return s.parser } +func (s *DeleteManyMethodContext) GetParser() antlr.Parser { return s.parser } + +func (s *DeleteManyMethodContext) DELETE_MANY() antlr.TerminalNode { + return s.GetToken(MongoShellParserDELETE_MANY, 0) +} + +func (s *DeleteManyMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} -func (s *MethodCallContext) FindMethod() IFindMethodContext { +func (s *DeleteManyMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFindMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -10312,125 +21153,150 @@ func (s *MethodCallContext) FindMethod() IFindMethodContext { return nil } - return t.(IFindMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) FindOneMethod() IFindOneMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFindOneMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *DeleteManyMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *DeleteManyMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IFindOneMethodContext) +func (s *DeleteManyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) CountDocumentsMethod() ICountDocumentsMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICountDocumentsMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *DeleteManyMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDeleteManyMethod(s) } +} - if t == nil { - return nil +func (s *DeleteManyMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDeleteManyMethod(s) } +} - return t.(ICountDocumentsMethodContext) +func (s *DeleteManyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDeleteManyMethod(s) + + default: + return t.VisitChildren(s) + } } -func (s *MethodCallContext) EstimatedDocumentCountMethod() IEstimatedDocumentCountMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IEstimatedDocumentCountMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) DeleteManyMethod() (localctx IDeleteManyMethodContext) { + localctx = NewDeleteManyMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 66, MongoShellParserRULE_deleteManyMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1274) + p.Match(MongoShellParserDELETE_MANY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1275) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1276) + p.Arguments() + } + { + p.SetState(1277) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IEstimatedDocumentCountMethodContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *MethodCallContext) DistinctMethod() IDistinctMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDistinctMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IReplaceOneMethodContext is an interface to support dynamic dispatch. +type IReplaceOneMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IDistinctMethodContext) + // Getter signatures + REPLACE_ONE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + + // IsReplaceOneMethodContext differentiates from other interfaces. + IsReplaceOneMethodContext() } -func (s *MethodCallContext) AggregateMethod() IAggregateMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAggregateMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type ReplaceOneMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyReplaceOneMethodContext() *ReplaceOneMethodContext { + var p = new(ReplaceOneMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_replaceOneMethod + return p +} - return t.(IAggregateMethodContext) +func InitEmptyReplaceOneMethodContext(p *ReplaceOneMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_replaceOneMethod } -func (s *MethodCallContext) GetIndexesMethod() IGetIndexesMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGetIndexesMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*ReplaceOneMethodContext) IsReplaceOneMethodContext() {} - if t == nil { - return nil - } +func NewReplaceOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReplaceOneMethodContext { + var p = new(ReplaceOneMethodContext) - return t.(IGetIndexesMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_replaceOneMethod + + return p } -func (s *MethodCallContext) InsertOneMethod() IInsertOneMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IInsertOneMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *ReplaceOneMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *ReplaceOneMethodContext) REPLACE_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREPLACE_ONE, 0) +} - return t.(IInsertOneMethodContext) +func (s *ReplaceOneMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) InsertManyMethod() IInsertManyMethodContext { +func (s *ReplaceOneMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IInsertManyMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -10440,173 +21306,150 @@ func (s *MethodCallContext) InsertManyMethod() IInsertManyMethodContext { return nil } - return t.(IInsertManyMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) UpdateOneMethod() IUpdateOneMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IUpdateOneMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *ReplaceOneMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *ReplaceOneMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IUpdateOneMethodContext) +func (s *ReplaceOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) UpdateManyMethod() IUpdateManyMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IUpdateManyMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *ReplaceOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterReplaceOneMethod(s) } +} - if t == nil { - return nil +func (s *ReplaceOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitReplaceOneMethod(s) } - - return t.(IUpdateManyMethodContext) } -func (s *MethodCallContext) DeleteOneMethod() IDeleteOneMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDeleteOneMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *ReplaceOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitReplaceOneMethod(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(IDeleteOneMethodContext) } -func (s *MethodCallContext) DeleteManyMethod() IDeleteManyMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDeleteManyMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) ReplaceOneMethod() (localctx IReplaceOneMethodContext) { + localctx = NewReplaceOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 68, MongoShellParserRULE_replaceOneMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1279) + p.Match(MongoShellParserREPLACE_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + { + p.SetState(1280) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - return t.(IDeleteManyMethodContext) -} - -func (s *MethodCallContext) ReplaceOneMethod() IReplaceOneMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IReplaceOneMethodContext); ok { - t = ctx.(antlr.RuleContext) - break + { + p.SetState(1281) + p.Arguments() + } + { + p.SetState(1282) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IReplaceOneMethodContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *MethodCallContext) FindOneAndUpdateMethod() IFindOneAndUpdateMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFindOneAndUpdateMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IFindOneAndUpdateMethodContext is an interface to support dynamic dispatch. +type IFindOneAndUpdateMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IFindOneAndUpdateMethodContext) -} + // Getter signatures + FIND_ONE_AND_UPDATE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode -func (s *MethodCallContext) FindOneAndReplaceMethod() IFindOneAndReplaceMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFindOneAndReplaceMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } + // IsFindOneAndUpdateMethodContext differentiates from other interfaces. + IsFindOneAndUpdateMethodContext() +} - if t == nil { - return nil - } +type FindOneAndUpdateMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - return t.(IFindOneAndReplaceMethodContext) +func NewEmptyFindOneAndUpdateMethodContext() *FindOneAndUpdateMethodContext { + var p = new(FindOneAndUpdateMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneAndUpdateMethod + return p } -func (s *MethodCallContext) FindOneAndDeleteMethod() IFindOneAndDeleteMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IFindOneAndDeleteMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func InitEmptyFindOneAndUpdateMethodContext(p *FindOneAndUpdateMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneAndUpdateMethod +} - if t == nil { - return nil - } +func (*FindOneAndUpdateMethodContext) IsFindOneAndUpdateMethodContext() {} - return t.(IFindOneAndDeleteMethodContext) -} +func NewFindOneAndUpdateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneAndUpdateMethodContext { + var p = new(FindOneAndUpdateMethodContext) -func (s *MethodCallContext) CreateIndexMethod() ICreateIndexMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICreateIndexMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - if t == nil { - return nil - } + p.parser = parser + p.RuleIndex = MongoShellParserRULE_findOneAndUpdateMethod - return t.(ICreateIndexMethodContext) + return p } -func (s *MethodCallContext) CreateIndexesMethod() ICreateIndexesMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICreateIndexesMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndUpdateMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *FindOneAndUpdateMethodContext) FIND_ONE_AND_UPDATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE_AND_UPDATE, 0) +} - return t.(ICreateIndexesMethodContext) +func (s *FindOneAndUpdateMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) DropIndexMethod() IDropIndexMethodContext { +func (s *FindOneAndUpdateMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDropIndexMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -10616,157 +21459,150 @@ func (s *MethodCallContext) DropIndexMethod() IDropIndexMethodContext { return nil } - return t.(IDropIndexMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) DropIndexesMethod() IDropIndexesMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDropIndexesMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndUpdateMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *FindOneAndUpdateMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IDropIndexesMethodContext) +func (s *FindOneAndUpdateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) DropMethod() IDropMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDropMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *FindOneAndUpdateMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterFindOneAndUpdateMethod(s) } +} - if t == nil { - return nil +func (s *FindOneAndUpdateMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitFindOneAndUpdateMethod(s) } - - return t.(IDropMethodContext) } -func (s *MethodCallContext) RenameCollectionMethod() IRenameCollectionMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IRenameCollectionMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndUpdateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitFindOneAndUpdateMethod(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(IRenameCollectionMethodContext) } -func (s *MethodCallContext) StatsMethod() IStatsMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStatsMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) FindOneAndUpdateMethod() (localctx IFindOneAndUpdateMethodContext) { + localctx = NewFindOneAndUpdateMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 70, MongoShellParserRULE_findOneAndUpdateMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1284) + p.Match(MongoShellParserFIND_ONE_AND_UPDATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + { + p.SetState(1285) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - return t.(IStatsMethodContext) -} - -func (s *MethodCallContext) StorageSizeMethod() IStorageSizeMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStorageSizeMethodContext); ok { - t = ctx.(antlr.RuleContext) - break + { + p.SetState(1286) + p.Arguments() + } + { + p.SetState(1287) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IStorageSizeMethodContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *MethodCallContext) TotalIndexSizeMethod() ITotalIndexSizeMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ITotalIndexSizeMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IFindOneAndReplaceMethodContext is an interface to support dynamic dispatch. +type IFindOneAndReplaceMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(ITotalIndexSizeMethodContext) + // Getter signatures + FIND_ONE_AND_REPLACE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + + // IsFindOneAndReplaceMethodContext differentiates from other interfaces. + IsFindOneAndReplaceMethodContext() } -func (s *MethodCallContext) TotalSizeMethod() ITotalSizeMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ITotalSizeMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type FindOneAndReplaceMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyFindOneAndReplaceMethodContext() *FindOneAndReplaceMethodContext { + var p = new(FindOneAndReplaceMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneAndReplaceMethod + return p +} - return t.(ITotalSizeMethodContext) +func InitEmptyFindOneAndReplaceMethodContext(p *FindOneAndReplaceMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneAndReplaceMethod } -func (s *MethodCallContext) DataSizeMethod() IDataSizeMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDataSizeMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*FindOneAndReplaceMethodContext) IsFindOneAndReplaceMethodContext() {} - if t == nil { - return nil - } +func NewFindOneAndReplaceMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneAndReplaceMethodContext { + var p = new(FindOneAndReplaceMethodContext) - return t.(IDataSizeMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_findOneAndReplaceMethod + + return p } -func (s *MethodCallContext) IsCappedMethod() IIsCappedMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIsCappedMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndReplaceMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *FindOneAndReplaceMethodContext) FIND_ONE_AND_REPLACE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE_AND_REPLACE, 0) +} - return t.(IIsCappedMethodContext) +func (s *FindOneAndReplaceMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) ValidateMethod() IValidateMethodContext { +func (s *FindOneAndReplaceMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IValidateMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -10776,125 +21612,150 @@ func (s *MethodCallContext) ValidateMethod() IValidateMethodContext { return nil } - return t.(IValidateMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) LatencyStatsMethod() ILatencyStatsMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILatencyStatsMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndReplaceMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *FindOneAndReplaceMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(ILatencyStatsMethodContext) +func (s *FindOneAndReplaceMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) SortMethod() ISortMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISortMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *FindOneAndReplaceMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterFindOneAndReplaceMethod(s) } +} - if t == nil { - return nil +func (s *FindOneAndReplaceMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitFindOneAndReplaceMethod(s) } - - return t.(ISortMethodContext) } -func (s *MethodCallContext) LimitMethod() ILimitMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILimitMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndReplaceMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitFindOneAndReplaceMethod(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(ILimitMethodContext) } -func (s *MethodCallContext) SkipMethod() ISkipMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISkipMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) FindOneAndReplaceMethod() (localctx IFindOneAndReplaceMethodContext) { + localctx = NewFindOneAndReplaceMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 72, MongoShellParserRULE_findOneAndReplaceMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1289) + p.Match(MongoShellParserFIND_ONE_AND_REPLACE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1290) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1291) + p.Arguments() + } + { + p.SetState(1292) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - return t.(ISkipMethodContext) +// IFindOneAndDeleteMethodContext is an interface to support dynamic dispatch. +type IFindOneAndDeleteMethodContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + FIND_ONE_AND_DELETE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + + // IsFindOneAndDeleteMethodContext differentiates from other interfaces. + IsFindOneAndDeleteMethodContext() } -func (s *MethodCallContext) CountMethod() ICountMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICountMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type FindOneAndDeleteMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyFindOneAndDeleteMethodContext() *FindOneAndDeleteMethodContext { + var p = new(FindOneAndDeleteMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneAndDeleteMethod + return p +} - return t.(ICountMethodContext) +func InitEmptyFindOneAndDeleteMethodContext(p *FindOneAndDeleteMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_findOneAndDeleteMethod } -func (s *MethodCallContext) ProjectionMethod() IProjectionMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IProjectionMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*FindOneAndDeleteMethodContext) IsFindOneAndDeleteMethodContext() {} - if t == nil { - return nil - } +func NewFindOneAndDeleteMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneAndDeleteMethodContext { + var p = new(FindOneAndDeleteMethodContext) - return t.(IProjectionMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_findOneAndDeleteMethod + + return p } -func (s *MethodCallContext) BatchSizeMethod() IBatchSizeMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBatchSizeMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndDeleteMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *FindOneAndDeleteMethodContext) FIND_ONE_AND_DELETE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE_AND_DELETE, 0) +} - return t.(IBatchSizeMethodContext) +func (s *FindOneAndDeleteMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) CloseMethod() ICloseMethodContext { +func (s *FindOneAndDeleteMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICloseMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -10904,125 +21765,150 @@ func (s *MethodCallContext) CloseMethod() ICloseMethodContext { return nil } - return t.(ICloseMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) CollationMethod() ICollationMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICollationMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *FindOneAndDeleteMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *FindOneAndDeleteMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(ICollationMethodContext) +func (s *FindOneAndDeleteMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) CommentMethod() ICommentMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ICommentMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *FindOneAndDeleteMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterFindOneAndDeleteMethod(s) } +} - if t == nil { - return nil +func (s *FindOneAndDeleteMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitFindOneAndDeleteMethod(s) } +} - return t.(ICommentMethodContext) +func (s *FindOneAndDeleteMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitFindOneAndDeleteMethod(s) + + default: + return t.VisitChildren(s) + } } -func (s *MethodCallContext) ExplainMethod() IExplainMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExplainMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) FindOneAndDeleteMethod() (localctx IFindOneAndDeleteMethodContext) { + localctx = NewFindOneAndDeleteMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 74, MongoShellParserRULE_findOneAndDeleteMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1294) + p.Match(MongoShellParserFIND_ONE_AND_DELETE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1295) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1296) + p.Arguments() + } + { + p.SetState(1297) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IExplainMethodContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *MethodCallContext) ForEachMethod() IForEachMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IForEachMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// ICreateIndexMethodContext is an interface to support dynamic dispatch. +type ICreateIndexMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IForEachMethodContext) + // Getter signatures + CREATE_INDEX() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + + // IsCreateIndexMethodContext differentiates from other interfaces. + IsCreateIndexMethodContext() } -func (s *MethodCallContext) HasNextMethod() IHasNextMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IHasNextMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type CreateIndexMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyCreateIndexMethodContext() *CreateIndexMethodContext { + var p = new(CreateIndexMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_createIndexMethod + return p +} - return t.(IHasNextMethodContext) +func InitEmptyCreateIndexMethodContext(p *CreateIndexMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_createIndexMethod } -func (s *MethodCallContext) HintMethod() IHintMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IHintMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*CreateIndexMethodContext) IsCreateIndexMethodContext() {} - if t == nil { - return nil - } +func NewCreateIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateIndexMethodContext { + var p = new(CreateIndexMethodContext) - return t.(IHintMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_createIndexMethod + + return p } -func (s *MethodCallContext) IsClosedMethod() IIsClosedMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIsClosedMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *CreateIndexMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *CreateIndexMethodContext) CREATE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_INDEX, 0) +} - return t.(IIsClosedMethodContext) +func (s *CreateIndexMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) IsExhaustedMethod() IIsExhaustedMethodContext { +func (s *CreateIndexMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIsExhaustedMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -11032,173 +21918,150 @@ func (s *MethodCallContext) IsExhaustedMethod() IIsExhaustedMethodContext { return nil } - return t.(IIsExhaustedMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) ItcountMethod() IItcountMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IItcountMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *CreateIndexMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *CreateIndexMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IItcountMethodContext) +func (s *CreateIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) MapMethod() IMapMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMapMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *CreateIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterCreateIndexMethod(s) } +} - if t == nil { - return nil +func (s *CreateIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitCreateIndexMethod(s) } - - return t.(IMapMethodContext) } -func (s *MethodCallContext) MaxMethod() IMaxMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMaxMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *CreateIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitCreateIndexMethod(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(IMaxMethodContext) } -func (s *MethodCallContext) MaxAwaitTimeMSMethod() IMaxAwaitTimeMSMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMaxAwaitTimeMSMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) CreateIndexMethod() (localctx ICreateIndexMethodContext) { + localctx = NewCreateIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 76, MongoShellParserRULE_createIndexMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1299) + p.Match(MongoShellParserCREATE_INDEX) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + { + p.SetState(1300) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - return t.(IMaxAwaitTimeMSMethodContext) -} - -func (s *MethodCallContext) MaxTimeMSMethod() IMaxTimeMSMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMaxTimeMSMethodContext); ok { - t = ctx.(antlr.RuleContext) - break + { + p.SetState(1301) + p.Arguments() + } + { + p.SetState(1302) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IMaxTimeMSMethodContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *MethodCallContext) MinMethod() IMinMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IMinMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// ICreateIndexesMethodContext is an interface to support dynamic dispatch. +type ICreateIndexesMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IMinMethodContext) -} + // Getter signatures + CREATE_INDEXES() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode -func (s *MethodCallContext) NextMethod() INextMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(INextMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } + // IsCreateIndexesMethodContext differentiates from other interfaces. + IsCreateIndexesMethodContext() +} - if t == nil { - return nil - } +type CreateIndexesMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - return t.(INextMethodContext) +func NewEmptyCreateIndexesMethodContext() *CreateIndexesMethodContext { + var p = new(CreateIndexesMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_createIndexesMethod + return p } -func (s *MethodCallContext) NoCursorTimeoutMethod() INoCursorTimeoutMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(INoCursorTimeoutMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func InitEmptyCreateIndexesMethodContext(p *CreateIndexesMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_createIndexesMethod +} - if t == nil { - return nil - } +func (*CreateIndexesMethodContext) IsCreateIndexesMethodContext() {} - return t.(INoCursorTimeoutMethodContext) -} +func NewCreateIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateIndexesMethodContext { + var p = new(CreateIndexesMethodContext) -func (s *MethodCallContext) ObjsLeftInBatchMethod() IObjsLeftInBatchMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IObjsLeftInBatchMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - if t == nil { - return nil - } + p.parser = parser + p.RuleIndex = MongoShellParserRULE_createIndexesMethod - return t.(IObjsLeftInBatchMethodContext) + return p } -func (s *MethodCallContext) PrettyMethod() IPrettyMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IPrettyMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *CreateIndexesMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *CreateIndexesMethodContext) CREATE_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_INDEXES, 0) +} - return t.(IPrettyMethodContext) +func (s *CreateIndexesMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) ReadConcernMethod() IReadConcernMethodContext { +func (s *CreateIndexesMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IReadConcernMethodContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -11208,157 +22071,150 @@ func (s *MethodCallContext) ReadConcernMethod() IReadConcernMethodContext { return nil } - return t.(IReadConcernMethodContext) + return t.(IArgumentsContext) } -func (s *MethodCallContext) ReadPrefMethod() IReadPrefMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IReadPrefMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *CreateIndexesMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - if t == nil { - return nil - } +func (s *CreateIndexesMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IReadPrefMethodContext) +func (s *CreateIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) ReturnKeyMethod() IReturnKeyMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IReturnKeyMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *CreateIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterCreateIndexesMethod(s) } +} - if t == nil { - return nil +func (s *CreateIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitCreateIndexesMethod(s) } - - return t.(IReturnKeyMethodContext) } -func (s *MethodCallContext) ShowRecordIdMethod() IShowRecordIdMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IShowRecordIdMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *CreateIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitCreateIndexesMethod(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(IShowRecordIdMethodContext) } -func (s *MethodCallContext) SizeMethod() ISizeMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ISizeMethodContext); ok { - t = ctx.(antlr.RuleContext) - break +func (p *MongoShellParser) CreateIndexesMethod() (localctx ICreateIndexesMethodContext) { + localctx = NewCreateIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 78, MongoShellParserRULE_createIndexesMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1304) + p.Match(MongoShellParserCREATE_INDEXES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + { + p.SetState(1305) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - return t.(ISizeMethodContext) -} - -func (s *MethodCallContext) TailableMethod() ITailableMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ITailableMethodContext); ok { - t = ctx.(antlr.RuleContext) - break + { + p.SetState(1306) + p.Arguments() + } + { + p.SetState(1307) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(ITailableMethodContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *MethodCallContext) ToArrayMethod() IToArrayMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IToArrayMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IDropIndexMethodContext is an interface to support dynamic dispatch. +type IDropIndexMethodContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser - return t.(IToArrayMethodContext) + // Getter signatures + DROP_INDEX() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Argument() IArgumentContext + RPAREN() antlr.TerminalNode + + // IsDropIndexMethodContext differentiates from other interfaces. + IsDropIndexMethodContext() } -func (s *MethodCallContext) TryNextMethod() ITryNextMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ITryNextMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type DropIndexMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyDropIndexMethodContext() *DropIndexMethodContext { + var p = new(DropIndexMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_dropIndexMethod + return p +} - return t.(ITryNextMethodContext) +func InitEmptyDropIndexMethodContext(p *DropIndexMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_dropIndexMethod } -func (s *MethodCallContext) AllowDiskUseMethod() IAllowDiskUseMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAllowDiskUseMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*DropIndexMethodContext) IsDropIndexMethodContext() {} - if t == nil { - return nil - } +func NewDropIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropIndexMethodContext { + var p = new(DropIndexMethodContext) - return t.(IAllowDiskUseMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_dropIndexMethod + + return p } -func (s *MethodCallContext) AddOptionMethod() IAddOptionMethodContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IAddOptionMethodContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *DropIndexMethodContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *DropIndexMethodContext) DROP_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_INDEX, 0) +} - return t.(IAddOptionMethodContext) +func (s *DropIndexMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *MethodCallContext) GenericMethod() IGenericMethodContext { +func (s *DropIndexMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IGenericMethodContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -11368,520 +22224,239 @@ func (s *MethodCallContext) GenericMethod() IGenericMethodContext { return nil } - return t.(IGenericMethodContext) + return t.(IArgumentContext) +} + +func (s *DropIndexMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *MethodCallContext) GetRuleContext() antlr.RuleContext { +func (s *DropIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *MethodCallContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DropIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *MethodCallContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DropIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterMethodCall(s) + listenerT.EnterDropIndexMethod(s) } } -func (s *MethodCallContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DropIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitMethodCall(s) - } -} - -func (s *MethodCallContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitMethodCall(s) - - default: - return t.VisitChildren(s) + listenerT.ExitDropIndexMethod(s) } } -func (p *MongoShellParser) MethodCall() (localctx IMethodCallContext) { - localctx = NewMethodCallContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 40, MongoShellParserRULE_methodCall) - p.SetState(754) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 51, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(687) - p.FindMethod() - } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(688) - p.FindOneMethod() - } - - case 3: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(689) - p.CountDocumentsMethod() - } - - case 4: - p.EnterOuterAlt(localctx, 4) - { - p.SetState(690) - p.EstimatedDocumentCountMethod() - } - - case 5: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(691) - p.DistinctMethod() - } - - case 6: - p.EnterOuterAlt(localctx, 6) - { - p.SetState(692) - p.AggregateMethod() - } - - case 7: - p.EnterOuterAlt(localctx, 7) - { - p.SetState(693) - p.GetIndexesMethod() - } - - case 8: - p.EnterOuterAlt(localctx, 8) - { - p.SetState(694) - p.InsertOneMethod() - } - - case 9: - p.EnterOuterAlt(localctx, 9) - { - p.SetState(695) - p.InsertManyMethod() - } - - case 10: - p.EnterOuterAlt(localctx, 10) - { - p.SetState(696) - p.UpdateOneMethod() - } - - case 11: - p.EnterOuterAlt(localctx, 11) - { - p.SetState(697) - p.UpdateManyMethod() - } - - case 12: - p.EnterOuterAlt(localctx, 12) - { - p.SetState(698) - p.DeleteOneMethod() - } - - case 13: - p.EnterOuterAlt(localctx, 13) - { - p.SetState(699) - p.DeleteManyMethod() - } - - case 14: - p.EnterOuterAlt(localctx, 14) - { - p.SetState(700) - p.ReplaceOneMethod() - } - - case 15: - p.EnterOuterAlt(localctx, 15) - { - p.SetState(701) - p.FindOneAndUpdateMethod() - } - - case 16: - p.EnterOuterAlt(localctx, 16) - { - p.SetState(702) - p.FindOneAndReplaceMethod() - } - - case 17: - p.EnterOuterAlt(localctx, 17) - { - p.SetState(703) - p.FindOneAndDeleteMethod() - } - - case 18: - p.EnterOuterAlt(localctx, 18) - { - p.SetState(704) - p.CreateIndexMethod() - } - - case 19: - p.EnterOuterAlt(localctx, 19) - { - p.SetState(705) - p.CreateIndexesMethod() - } - - case 20: - p.EnterOuterAlt(localctx, 20) - { - p.SetState(706) - p.DropIndexMethod() - } - - case 21: - p.EnterOuterAlt(localctx, 21) - { - p.SetState(707) - p.DropIndexesMethod() - } - - case 22: - p.EnterOuterAlt(localctx, 22) - { - p.SetState(708) - p.DropMethod() - } - - case 23: - p.EnterOuterAlt(localctx, 23) - { - p.SetState(709) - p.RenameCollectionMethod() - } - - case 24: - p.EnterOuterAlt(localctx, 24) - { - p.SetState(710) - p.StatsMethod() - } - - case 25: - p.EnterOuterAlt(localctx, 25) - { - p.SetState(711) - p.StorageSizeMethod() - } - - case 26: - p.EnterOuterAlt(localctx, 26) - { - p.SetState(712) - p.TotalIndexSizeMethod() - } - - case 27: - p.EnterOuterAlt(localctx, 27) - { - p.SetState(713) - p.TotalSizeMethod() - } - - case 28: - p.EnterOuterAlt(localctx, 28) - { - p.SetState(714) - p.DataSizeMethod() - } - - case 29: - p.EnterOuterAlt(localctx, 29) - { - p.SetState(715) - p.IsCappedMethod() - } - - case 30: - p.EnterOuterAlt(localctx, 30) - { - p.SetState(716) - p.ValidateMethod() - } - - case 31: - p.EnterOuterAlt(localctx, 31) - { - p.SetState(717) - p.LatencyStatsMethod() - } - - case 32: - p.EnterOuterAlt(localctx, 32) - { - p.SetState(718) - p.SortMethod() - } - - case 33: - p.EnterOuterAlt(localctx, 33) - { - p.SetState(719) - p.LimitMethod() - } - - case 34: - p.EnterOuterAlt(localctx, 34) - { - p.SetState(720) - p.SkipMethod() - } +func (s *DropIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDropIndexMethod(s) - case 35: - p.EnterOuterAlt(localctx, 35) - { - p.SetState(721) - p.CountMethod() - } + default: + return t.VisitChildren(s) + } +} - case 36: - p.EnterOuterAlt(localctx, 36) - { - p.SetState(722) - p.ProjectionMethod() +func (p *MongoShellParser) DropIndexMethod() (localctx IDropIndexMethodContext) { + localctx = NewDropIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 80, MongoShellParserRULE_dropIndexMethod) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1309) + p.Match(MongoShellParserDROP_INDEX) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case 37: - p.EnterOuterAlt(localctx, 37) - { - p.SetState(723) - p.BatchSizeMethod() + } + { + p.SetState(1310) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case 38: - p.EnterOuterAlt(localctx, 38) - { - p.SetState(724) - p.CloseMethod() + } + { + p.SetState(1311) + p.Argument() + } + { + p.SetState(1312) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } + } - case 39: - p.EnterOuterAlt(localctx, 39) - { - p.SetState(725) - p.CollationMethod() - } +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} - case 40: - p.EnterOuterAlt(localctx, 40) - { - p.SetState(726) - p.CommentMethod() - } +// IDropIndexesMethodContext is an interface to support dynamic dispatch. +type IDropIndexesMethodContext interface { + antlr.ParserRuleContext - case 41: - p.EnterOuterAlt(localctx, 41) - { - p.SetState(727) - p.ExplainMethod() - } + // GetParser returns the parser. + GetParser() antlr.Parser - case 42: - p.EnterOuterAlt(localctx, 42) - { - p.SetState(728) - p.ForEachMethod() - } + // Getter signatures + DROP_INDEXES() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + Argument() IArgumentContext - case 43: - p.EnterOuterAlt(localctx, 43) - { - p.SetState(729) - p.HasNextMethod() - } + // IsDropIndexesMethodContext differentiates from other interfaces. + IsDropIndexesMethodContext() +} - case 44: - p.EnterOuterAlt(localctx, 44) - { - p.SetState(730) - p.HintMethod() - } +type DropIndexesMethodContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - case 45: - p.EnterOuterAlt(localctx, 45) - { - p.SetState(731) - p.IsClosedMethod() - } +func NewEmptyDropIndexesMethodContext() *DropIndexesMethodContext { + var p = new(DropIndexesMethodContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_dropIndexesMethod + return p +} - case 46: - p.EnterOuterAlt(localctx, 46) - { - p.SetState(732) - p.IsExhaustedMethod() - } +func InitEmptyDropIndexesMethodContext(p *DropIndexesMethodContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_dropIndexesMethod +} - case 47: - p.EnterOuterAlt(localctx, 47) - { - p.SetState(733) - p.ItcountMethod() - } +func (*DropIndexesMethodContext) IsDropIndexesMethodContext() {} - case 48: - p.EnterOuterAlt(localctx, 48) - { - p.SetState(734) - p.MapMethod() - } +func NewDropIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropIndexesMethodContext { + var p = new(DropIndexesMethodContext) - case 49: - p.EnterOuterAlt(localctx, 49) - { - p.SetState(735) - p.MaxMethod() - } + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - case 50: - p.EnterOuterAlt(localctx, 50) - { - p.SetState(736) - p.MaxAwaitTimeMSMethod() - } + p.parser = parser + p.RuleIndex = MongoShellParserRULE_dropIndexesMethod - case 51: - p.EnterOuterAlt(localctx, 51) - { - p.SetState(737) - p.MaxTimeMSMethod() - } + return p +} - case 52: - p.EnterOuterAlt(localctx, 52) - { - p.SetState(738) - p.MinMethod() - } +func (s *DropIndexesMethodContext) GetParser() antlr.Parser { return s.parser } - case 53: - p.EnterOuterAlt(localctx, 53) - { - p.SetState(739) - p.NextMethod() - } +func (s *DropIndexesMethodContext) DROP_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_INDEXES, 0) +} - case 54: - p.EnterOuterAlt(localctx, 54) - { - p.SetState(740) - p.NoCursorTimeoutMethod() - } +func (s *DropIndexesMethodContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - case 55: - p.EnterOuterAlt(localctx, 55) - { - p.SetState(741) - p.ObjsLeftInBatchMethod() - } +func (s *DropIndexesMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - case 56: - p.EnterOuterAlt(localctx, 56) - { - p.SetState(742) - p.PrettyMethod() +func (s *DropIndexesMethodContext) Argument() IArgumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentContext); ok { + t = ctx.(antlr.RuleContext) + break } + } - case 57: - p.EnterOuterAlt(localctx, 57) - { - p.SetState(743) - p.ReadConcernMethod() - } + if t == nil { + return nil + } - case 58: - p.EnterOuterAlt(localctx, 58) - { - p.SetState(744) - p.ReadPrefMethod() - } + return t.(IArgumentContext) +} - case 59: - p.EnterOuterAlt(localctx, 59) - { - p.SetState(745) - p.ReturnKeyMethod() - } +func (s *DropIndexesMethodContext) GetRuleContext() antlr.RuleContext { + return s +} - case 60: - p.EnterOuterAlt(localctx, 60) - { - p.SetState(746) - p.ShowRecordIdMethod() - } +func (s *DropIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *DropIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDropIndexesMethod(s) + } +} - case 61: - p.EnterOuterAlt(localctx, 61) - { - p.SetState(747) - p.SizeMethod() - } +func (s *DropIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDropIndexesMethod(s) + } +} - case 62: - p.EnterOuterAlt(localctx, 62) - { - p.SetState(748) - p.TailableMethod() - } +func (s *DropIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDropIndexesMethod(s) - case 63: - p.EnterOuterAlt(localctx, 63) - { - p.SetState(749) - p.ToArrayMethod() - } + default: + return t.VisitChildren(s) + } +} - case 64: - p.EnterOuterAlt(localctx, 64) - { - p.SetState(750) - p.TryNextMethod() - } +func (p *MongoShellParser) DropIndexesMethod() (localctx IDropIndexesMethodContext) { + localctx = NewDropIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 82, MongoShellParserRULE_dropIndexesMethod) + var _la int - case 65: - p.EnterOuterAlt(localctx, 65) - { - p.SetState(751) - p.AllowDiskUseMethod() + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1314) + p.Match(MongoShellParserDROP_INDEXES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - - case 66: - p.EnterOuterAlt(localctx, 66) - { - p.SetState(752) - p.AddOptionMethod() + } + { + p.SetState(1315) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } + } + p.SetState(1317) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) - case 67: - p.EnterOuterAlt(localctx, 67) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(753) - p.GenericMethod() + p.SetState(1316) + p.Argument() } - case antlr.ATNInvalidAltNumber: - goto errorExit + } + { + p.SetState(1319) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -11897,71 +22472,71 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFindMethodContext is an interface to support dynamic dispatch. -type IFindMethodContext interface { +// IDropMethodContext is an interface to support dynamic dispatch. +type IDropMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FIND() antlr.TerminalNode + DROP() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext + Argument() IArgumentContext - // IsFindMethodContext differentiates from other interfaces. - IsFindMethodContext() + // IsDropMethodContext differentiates from other interfaces. + IsDropMethodContext() } -type FindMethodContext struct { +type DropMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFindMethodContext() *FindMethodContext { - var p = new(FindMethodContext) +func NewEmptyDropMethodContext() *DropMethodContext { + var p = new(DropMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findMethod + p.RuleIndex = MongoShellParserRULE_dropMethod return p } -func InitEmptyFindMethodContext(p *FindMethodContext) { +func InitEmptyDropMethodContext(p *DropMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findMethod + p.RuleIndex = MongoShellParserRULE_dropMethod } -func (*FindMethodContext) IsFindMethodContext() {} +func (*DropMethodContext) IsDropMethodContext() {} -func NewFindMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindMethodContext { - var p = new(FindMethodContext) +func NewDropMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropMethodContext { + var p = new(DropMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_findMethod + p.RuleIndex = MongoShellParserRULE_dropMethod return p } -func (s *FindMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *DropMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *FindMethodContext) FIND() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND, 0) +func (s *DropMethodContext) DROP() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP, 0) } -func (s *FindMethodContext) LPAREN() antlr.TerminalNode { +func (s *DropMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *FindMethodContext) RPAREN() antlr.TerminalNode { +func (s *DropMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *FindMethodContext) Arguments() IArgumentsContext { +func (s *DropMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -11971,77 +22546,77 @@ func (s *FindMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IArgumentContext) } -func (s *FindMethodContext) GetRuleContext() antlr.RuleContext { +func (s *DropMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *FindMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DropMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *FindMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DropMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterFindMethod(s) + listenerT.EnterDropMethod(s) } } -func (s *FindMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DropMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitFindMethod(s) + listenerT.ExitDropMethod(s) } } -func (s *FindMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DropMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitFindMethod(s) + return t.VisitDropMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) FindMethod() (localctx IFindMethodContext) { - localctx = NewFindMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 42, MongoShellParserRULE_findMethod) +func (p *MongoShellParser) DropMethod() (localctx IDropMethodContext) { + localctx = NewDropMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 84, MongoShellParserRULE_dropMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(756) - p.Match(MongoShellParserFIND) + p.SetState(1321) + p.Match(MongoShellParserDROP) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(757) + p.SetState(1322) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(759) + p.SetState(1324) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(758) - p.Arguments() + p.SetState(1323) + p.Argument() } } { - p.SetState(761) + p.SetState(1326) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -12062,68 +22637,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFindOneMethodContext is an interface to support dynamic dispatch. -type IFindOneMethodContext interface { +// IRenameCollectionMethodContext is an interface to support dynamic dispatch. +type IRenameCollectionMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FIND_ONE() antlr.TerminalNode + RENAME_COLLECTION() antlr.TerminalNode LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode - // IsFindOneMethodContext differentiates from other interfaces. - IsFindOneMethodContext() + // IsRenameCollectionMethodContext differentiates from other interfaces. + IsRenameCollectionMethodContext() } -type FindOneMethodContext struct { +type RenameCollectionMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFindOneMethodContext() *FindOneMethodContext { - var p = new(FindOneMethodContext) +func NewEmptyRenameCollectionMethodContext() *RenameCollectionMethodContext { + var p = new(RenameCollectionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneMethod + p.RuleIndex = MongoShellParserRULE_renameCollectionMethod return p } -func InitEmptyFindOneMethodContext(p *FindOneMethodContext) { +func InitEmptyRenameCollectionMethodContext(p *RenameCollectionMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneMethod + p.RuleIndex = MongoShellParserRULE_renameCollectionMethod } -func (*FindOneMethodContext) IsFindOneMethodContext() {} +func (*RenameCollectionMethodContext) IsRenameCollectionMethodContext() {} -func NewFindOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneMethodContext { - var p = new(FindOneMethodContext) +func NewRenameCollectionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RenameCollectionMethodContext { + var p = new(RenameCollectionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_findOneMethod + p.RuleIndex = MongoShellParserRULE_renameCollectionMethod return p } -func (s *FindOneMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *RenameCollectionMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *FindOneMethodContext) FIND_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE, 0) +func (s *RenameCollectionMethodContext) RENAME_COLLECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserRENAME_COLLECTION, 0) } -func (s *FindOneMethodContext) LPAREN() antlr.TerminalNode { +func (s *RenameCollectionMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *FindOneMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *FindOneMethodContext) Arguments() IArgumentsContext { +func (s *RenameCollectionMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -12139,74 +22710,66 @@ func (s *FindOneMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *FindOneMethodContext) GetRuleContext() antlr.RuleContext { +func (s *RenameCollectionMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *RenameCollectionMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *FindOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *RenameCollectionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *FindOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *RenameCollectionMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterFindOneMethod(s) + listenerT.EnterRenameCollectionMethod(s) } } -func (s *FindOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *RenameCollectionMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitFindOneMethod(s) + listenerT.ExitRenameCollectionMethod(s) } } -func (s *FindOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *RenameCollectionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitFindOneMethod(s) + return t.VisitRenameCollectionMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) FindOneMethod() (localctx IFindOneMethodContext) { - localctx = NewFindOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 44, MongoShellParserRULE_findOneMethod) - var _la int - +func (p *MongoShellParser) RenameCollectionMethod() (localctx IRenameCollectionMethodContext) { + localctx = NewRenameCollectionMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 86, MongoShellParserRULE_renameCollectionMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(763) - p.Match(MongoShellParserFIND_ONE) + p.SetState(1328) + p.Match(MongoShellParserRENAME_COLLECTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(764) + p.SetState(1329) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(766) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(765) - p.Arguments() - } - + { + p.SetState(1330) + p.Arguments() } { - p.SetState(768) + p.SetState(1331) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -12227,71 +22790,71 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICountDocumentsMethodContext is an interface to support dynamic dispatch. -type ICountDocumentsMethodContext interface { +// IStatsMethodContext is an interface to support dynamic dispatch. +type IStatsMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - COUNT_DOCUMENTS() antlr.TerminalNode + STATS() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext + Argument() IArgumentContext - // IsCountDocumentsMethodContext differentiates from other interfaces. - IsCountDocumentsMethodContext() + // IsStatsMethodContext differentiates from other interfaces. + IsStatsMethodContext() } -type CountDocumentsMethodContext struct { +type StatsMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCountDocumentsMethodContext() *CountDocumentsMethodContext { - var p = new(CountDocumentsMethodContext) +func NewEmptyStatsMethodContext() *StatsMethodContext { + var p = new(StatsMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_countDocumentsMethod + p.RuleIndex = MongoShellParserRULE_statsMethod return p } -func InitEmptyCountDocumentsMethodContext(p *CountDocumentsMethodContext) { +func InitEmptyStatsMethodContext(p *StatsMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_countDocumentsMethod + p.RuleIndex = MongoShellParserRULE_statsMethod } -func (*CountDocumentsMethodContext) IsCountDocumentsMethodContext() {} +func (*StatsMethodContext) IsStatsMethodContext() {} -func NewCountDocumentsMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CountDocumentsMethodContext { - var p = new(CountDocumentsMethodContext) +func NewStatsMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StatsMethodContext { + var p = new(StatsMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_countDocumentsMethod + p.RuleIndex = MongoShellParserRULE_statsMethod return p } -func (s *CountDocumentsMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *StatsMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *CountDocumentsMethodContext) COUNT_DOCUMENTS() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOUNT_DOCUMENTS, 0) +func (s *StatsMethodContext) STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTATS, 0) } -func (s *CountDocumentsMethodContext) LPAREN() antlr.TerminalNode { +func (s *StatsMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *CountDocumentsMethodContext) RPAREN() antlr.TerminalNode { +func (s *StatsMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *CountDocumentsMethodContext) Arguments() IArgumentsContext { +func (s *StatsMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -12301,77 +22864,77 @@ func (s *CountDocumentsMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IArgumentContext) } -func (s *CountDocumentsMethodContext) GetRuleContext() antlr.RuleContext { +func (s *StatsMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *CountDocumentsMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *StatsMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *CountDocumentsMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *StatsMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterCountDocumentsMethod(s) + listenerT.EnterStatsMethod(s) } } -func (s *CountDocumentsMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *StatsMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitCountDocumentsMethod(s) + listenerT.ExitStatsMethod(s) } } -func (s *CountDocumentsMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *StatsMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitCountDocumentsMethod(s) + return t.VisitStatsMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) CountDocumentsMethod() (localctx ICountDocumentsMethodContext) { - localctx = NewCountDocumentsMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 46, MongoShellParserRULE_countDocumentsMethod) +func (p *MongoShellParser) StatsMethod() (localctx IStatsMethodContext) { + localctx = NewStatsMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 88, MongoShellParserRULE_statsMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(770) - p.Match(MongoShellParserCOUNT_DOCUMENTS) + p.SetState(1333) + p.Match(MongoShellParserSTATS) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(771) + p.SetState(1334) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(773) + p.SetState(1336) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(772) - p.Arguments() + p.SetState(1335) + p.Argument() } } { - p.SetState(775) + p.SetState(1338) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -12392,151 +22955,118 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IEstimatedDocumentCountMethodContext is an interface to support dynamic dispatch. -type IEstimatedDocumentCountMethodContext interface { +// IStorageSizeMethodContext is an interface to support dynamic dispatch. +type IStorageSizeMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode + STORAGE_SIZE() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - Argument() IArgumentContext - // IsEstimatedDocumentCountMethodContext differentiates from other interfaces. - IsEstimatedDocumentCountMethodContext() + // IsStorageSizeMethodContext differentiates from other interfaces. + IsStorageSizeMethodContext() } -type EstimatedDocumentCountMethodContext struct { +type StorageSizeMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyEstimatedDocumentCountMethodContext() *EstimatedDocumentCountMethodContext { - var p = new(EstimatedDocumentCountMethodContext) +func NewEmptyStorageSizeMethodContext() *StorageSizeMethodContext { + var p = new(StorageSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_estimatedDocumentCountMethod + p.RuleIndex = MongoShellParserRULE_storageSizeMethod return p } -func InitEmptyEstimatedDocumentCountMethodContext(p *EstimatedDocumentCountMethodContext) { +func InitEmptyStorageSizeMethodContext(p *StorageSizeMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_estimatedDocumentCountMethod + p.RuleIndex = MongoShellParserRULE_storageSizeMethod } -func (*EstimatedDocumentCountMethodContext) IsEstimatedDocumentCountMethodContext() {} +func (*StorageSizeMethodContext) IsStorageSizeMethodContext() {} -func NewEstimatedDocumentCountMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *EstimatedDocumentCountMethodContext { - var p = new(EstimatedDocumentCountMethodContext) +func NewStorageSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StorageSizeMethodContext { + var p = new(StorageSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_estimatedDocumentCountMethod + p.RuleIndex = MongoShellParserRULE_storageSizeMethod return p } -func (s *EstimatedDocumentCountMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *StorageSizeMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *EstimatedDocumentCountMethodContext) ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode { - return s.GetToken(MongoShellParserESTIMATED_DOCUMENT_COUNT, 0) +func (s *StorageSizeMethodContext) STORAGE_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTORAGE_SIZE, 0) } -func (s *EstimatedDocumentCountMethodContext) LPAREN() antlr.TerminalNode { +func (s *StorageSizeMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *EstimatedDocumentCountMethodContext) RPAREN() antlr.TerminalNode { +func (s *StorageSizeMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *EstimatedDocumentCountMethodContext) Argument() IArgumentContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentContext) -} - -func (s *EstimatedDocumentCountMethodContext) GetRuleContext() antlr.RuleContext { +func (s *StorageSizeMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *EstimatedDocumentCountMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *StorageSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *EstimatedDocumentCountMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *StorageSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterEstimatedDocumentCountMethod(s) + listenerT.EnterStorageSizeMethod(s) } } -func (s *EstimatedDocumentCountMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *StorageSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitEstimatedDocumentCountMethod(s) + listenerT.ExitStorageSizeMethod(s) } } -func (s *EstimatedDocumentCountMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *StorageSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitEstimatedDocumentCountMethod(s) + return t.VisitStorageSizeMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) EstimatedDocumentCountMethod() (localctx IEstimatedDocumentCountMethodContext) { - localctx = NewEstimatedDocumentCountMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 48, MongoShellParserRULE_estimatedDocumentCountMethod) - var _la int - +func (p *MongoShellParser) StorageSizeMethod() (localctx IStorageSizeMethodContext) { + localctx = NewStorageSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 90, MongoShellParserRULE_storageSizeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(777) - p.Match(MongoShellParserESTIMATED_DOCUMENT_COUNT) + p.SetState(1340) + p.Match(MongoShellParserSTORAGE_SIZE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(778) + p.SetState(1341) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(780) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(779) - p.Argument() - } - - } { - p.SetState(782) + p.SetState(1342) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -12557,127 +23087,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDistinctMethodContext is an interface to support dynamic dispatch. -type IDistinctMethodContext interface { +// ITotalIndexSizeMethodContext is an interface to support dynamic dispatch. +type ITotalIndexSizeMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DISTINCT() antlr.TerminalNode + TOTAL_INDEX_SIZE() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsDistinctMethodContext differentiates from other interfaces. - IsDistinctMethodContext() + // IsTotalIndexSizeMethodContext differentiates from other interfaces. + IsTotalIndexSizeMethodContext() } -type DistinctMethodContext struct { +type TotalIndexSizeMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDistinctMethodContext() *DistinctMethodContext { - var p = new(DistinctMethodContext) +func NewEmptyTotalIndexSizeMethodContext() *TotalIndexSizeMethodContext { + var p = new(TotalIndexSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_distinctMethod + p.RuleIndex = MongoShellParserRULE_totalIndexSizeMethod return p } -func InitEmptyDistinctMethodContext(p *DistinctMethodContext) { +func InitEmptyTotalIndexSizeMethodContext(p *TotalIndexSizeMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_distinctMethod + p.RuleIndex = MongoShellParserRULE_totalIndexSizeMethod } -func (*DistinctMethodContext) IsDistinctMethodContext() {} +func (*TotalIndexSizeMethodContext) IsTotalIndexSizeMethodContext() {} -func NewDistinctMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DistinctMethodContext { - var p = new(DistinctMethodContext) +func NewTotalIndexSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TotalIndexSizeMethodContext { + var p = new(TotalIndexSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_distinctMethod + p.RuleIndex = MongoShellParserRULE_totalIndexSizeMethod return p } -func (s *DistinctMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *TotalIndexSizeMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DistinctMethodContext) DISTINCT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDISTINCT, 0) +func (s *TotalIndexSizeMethodContext) TOTAL_INDEX_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTOTAL_INDEX_SIZE, 0) } -func (s *DistinctMethodContext) LPAREN() antlr.TerminalNode { +func (s *TotalIndexSizeMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DistinctMethodContext) Arguments() IArgumentsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentsContext) -} - -func (s *DistinctMethodContext) RPAREN() antlr.TerminalNode { +func (s *TotalIndexSizeMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DistinctMethodContext) GetRuleContext() antlr.RuleContext { +func (s *TotalIndexSizeMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DistinctMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *TotalIndexSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DistinctMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *TotalIndexSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDistinctMethod(s) + listenerT.EnterTotalIndexSizeMethod(s) } } -func (s *DistinctMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *TotalIndexSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDistinctMethod(s) + listenerT.ExitTotalIndexSizeMethod(s) } } -func (s *DistinctMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *TotalIndexSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDistinctMethod(s) + return t.VisitTotalIndexSizeMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DistinctMethod() (localctx IDistinctMethodContext) { - localctx = NewDistinctMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 50, MongoShellParserRULE_distinctMethod) +func (p *MongoShellParser) TotalIndexSizeMethod() (localctx ITotalIndexSizeMethodContext) { + localctx = NewTotalIndexSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 92, MongoShellParserRULE_totalIndexSizeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(784) - p.Match(MongoShellParserDISTINCT) + p.SetState(1344) + p.Match(MongoShellParserTOTAL_INDEX_SIZE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(785) + p.SetState(1345) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -12685,11 +23198,7 @@ func (p *MongoShellParser) DistinctMethod() (localctx IDistinctMethodContext) { } } { - p.SetState(786) - p.Arguments() - } - { - p.SetState(787) + p.SetState(1346) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -12710,151 +23219,118 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IAggregateMethodContext is an interface to support dynamic dispatch. -type IAggregateMethodContext interface { +// ITotalSizeMethodContext is an interface to support dynamic dispatch. +type ITotalSizeMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - AGGREGATE() antlr.TerminalNode + TOTAL_SIZE() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext - // IsAggregateMethodContext differentiates from other interfaces. - IsAggregateMethodContext() + // IsTotalSizeMethodContext differentiates from other interfaces. + IsTotalSizeMethodContext() } -type AggregateMethodContext struct { +type TotalSizeMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyAggregateMethodContext() *AggregateMethodContext { - var p = new(AggregateMethodContext) +func NewEmptyTotalSizeMethodContext() *TotalSizeMethodContext { + var p = new(TotalSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_aggregateMethod + p.RuleIndex = MongoShellParserRULE_totalSizeMethod return p } -func InitEmptyAggregateMethodContext(p *AggregateMethodContext) { +func InitEmptyTotalSizeMethodContext(p *TotalSizeMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_aggregateMethod + p.RuleIndex = MongoShellParserRULE_totalSizeMethod } -func (*AggregateMethodContext) IsAggregateMethodContext() {} +func (*TotalSizeMethodContext) IsTotalSizeMethodContext() {} -func NewAggregateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AggregateMethodContext { - var p = new(AggregateMethodContext) +func NewTotalSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TotalSizeMethodContext { + var p = new(TotalSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_aggregateMethod + p.RuleIndex = MongoShellParserRULE_totalSizeMethod return p } -func (s *AggregateMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *TotalSizeMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *AggregateMethodContext) AGGREGATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserAGGREGATE, 0) +func (s *TotalSizeMethodContext) TOTAL_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTOTAL_SIZE, 0) } -func (s *AggregateMethodContext) LPAREN() antlr.TerminalNode { +func (s *TotalSizeMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *AggregateMethodContext) RPAREN() antlr.TerminalNode { +func (s *TotalSizeMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *AggregateMethodContext) Arguments() IArgumentsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentsContext) -} - -func (s *AggregateMethodContext) GetRuleContext() antlr.RuleContext { +func (s *TotalSizeMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *AggregateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *TotalSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *AggregateMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *TotalSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterAggregateMethod(s) + listenerT.EnterTotalSizeMethod(s) } } -func (s *AggregateMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *TotalSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitAggregateMethod(s) + listenerT.ExitTotalSizeMethod(s) } } -func (s *AggregateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *TotalSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitAggregateMethod(s) + return t.VisitTotalSizeMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) AggregateMethod() (localctx IAggregateMethodContext) { - localctx = NewAggregateMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 52, MongoShellParserRULE_aggregateMethod) - var _la int - +func (p *MongoShellParser) TotalSizeMethod() (localctx ITotalSizeMethodContext) { + localctx = NewTotalSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 94, MongoShellParserRULE_totalSizeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(789) - p.Match(MongoShellParserAGGREGATE) + p.SetState(1348) + p.Match(MongoShellParserTOTAL_SIZE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(790) + p.SetState(1349) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(792) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(791) - p.Arguments() - } - - } { - p.SetState(794) + p.SetState(1350) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -12875,110 +23351,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IGetIndexesMethodContext is an interface to support dynamic dispatch. -type IGetIndexesMethodContext interface { +// IDataSizeMethodContext is an interface to support dynamic dispatch. +type IDataSizeMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - GET_INDEXES() antlr.TerminalNode + DATA_SIZE() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - // IsGetIndexesMethodContext differentiates from other interfaces. - IsGetIndexesMethodContext() + // IsDataSizeMethodContext differentiates from other interfaces. + IsDataSizeMethodContext() } -type GetIndexesMethodContext struct { +type DataSizeMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyGetIndexesMethodContext() *GetIndexesMethodContext { - var p = new(GetIndexesMethodContext) +func NewEmptyDataSizeMethodContext() *DataSizeMethodContext { + var p = new(DataSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_getIndexesMethod + p.RuleIndex = MongoShellParserRULE_dataSizeMethod return p } -func InitEmptyGetIndexesMethodContext(p *GetIndexesMethodContext) { +func InitEmptyDataSizeMethodContext(p *DataSizeMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_getIndexesMethod + p.RuleIndex = MongoShellParserRULE_dataSizeMethod } -func (*GetIndexesMethodContext) IsGetIndexesMethodContext() {} +func (*DataSizeMethodContext) IsDataSizeMethodContext() {} -func NewGetIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GetIndexesMethodContext { - var p = new(GetIndexesMethodContext) +func NewDataSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DataSizeMethodContext { + var p = new(DataSizeMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_getIndexesMethod + p.RuleIndex = MongoShellParserRULE_dataSizeMethod return p } -func (s *GetIndexesMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *DataSizeMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *GetIndexesMethodContext) GET_INDEXES() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_INDEXES, 0) +func (s *DataSizeMethodContext) DATA_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDATA_SIZE, 0) } -func (s *GetIndexesMethodContext) LPAREN() antlr.TerminalNode { +func (s *DataSizeMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GetIndexesMethodContext) RPAREN() antlr.TerminalNode { +func (s *DataSizeMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *GetIndexesMethodContext) GetRuleContext() antlr.RuleContext { +func (s *DataSizeMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GetIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DataSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *GetIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DataSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGetIndexesMethod(s) + listenerT.EnterDataSizeMethod(s) } } -func (s *GetIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DataSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGetIndexesMethod(s) + listenerT.ExitDataSizeMethod(s) } } -func (s *GetIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DataSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGetIndexesMethod(s) + return t.VisitDataSizeMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) GetIndexesMethod() (localctx IGetIndexesMethodContext) { - localctx = NewGetIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 54, MongoShellParserRULE_getIndexesMethod) +func (p *MongoShellParser) DataSizeMethod() (localctx IDataSizeMethodContext) { + localctx = NewDataSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 96, MongoShellParserRULE_dataSizeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(796) - p.Match(MongoShellParserGET_INDEXES) + p.SetState(1352) + p.Match(MongoShellParserDATA_SIZE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(797) + p.SetState(1353) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -12986,7 +23462,7 @@ func (p *MongoShellParser) GetIndexesMethod() (localctx IGetIndexesMethodContext } } { - p.SetState(798) + p.SetState(1354) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13007,127 +23483,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IInsertOneMethodContext is an interface to support dynamic dispatch. -type IInsertOneMethodContext interface { +// IIsCappedMethodContext is an interface to support dynamic dispatch. +type IIsCappedMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - INSERT_ONE() antlr.TerminalNode + IS_CAPPED() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsInsertOneMethodContext differentiates from other interfaces. - IsInsertOneMethodContext() + // IsIsCappedMethodContext differentiates from other interfaces. + IsIsCappedMethodContext() } -type InsertOneMethodContext struct { +type IsCappedMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyInsertOneMethodContext() *InsertOneMethodContext { - var p = new(InsertOneMethodContext) +func NewEmptyIsCappedMethodContext() *IsCappedMethodContext { + var p = new(IsCappedMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_insertOneMethod + p.RuleIndex = MongoShellParserRULE_isCappedMethod return p } -func InitEmptyInsertOneMethodContext(p *InsertOneMethodContext) { +func InitEmptyIsCappedMethodContext(p *IsCappedMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_insertOneMethod + p.RuleIndex = MongoShellParserRULE_isCappedMethod } -func (*InsertOneMethodContext) IsInsertOneMethodContext() {} +func (*IsCappedMethodContext) IsIsCappedMethodContext() {} -func NewInsertOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InsertOneMethodContext { - var p = new(InsertOneMethodContext) +func NewIsCappedMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IsCappedMethodContext { + var p = new(IsCappedMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_insertOneMethod + p.RuleIndex = MongoShellParserRULE_isCappedMethod return p } -func (s *InsertOneMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *IsCappedMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *InsertOneMethodContext) INSERT_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserINSERT_ONE, 0) +func (s *IsCappedMethodContext) IS_CAPPED() antlr.TerminalNode { + return s.GetToken(MongoShellParserIS_CAPPED, 0) } -func (s *InsertOneMethodContext) LPAREN() antlr.TerminalNode { +func (s *IsCappedMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *InsertOneMethodContext) Arguments() IArgumentsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentsContext) -} - -func (s *InsertOneMethodContext) RPAREN() antlr.TerminalNode { +func (s *IsCappedMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *InsertOneMethodContext) GetRuleContext() antlr.RuleContext { +func (s *IsCappedMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *InsertOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *IsCappedMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *InsertOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *IsCappedMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterInsertOneMethod(s) + listenerT.EnterIsCappedMethod(s) } } -func (s *InsertOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *IsCappedMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitInsertOneMethod(s) + listenerT.ExitIsCappedMethod(s) } } -func (s *InsertOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *IsCappedMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitInsertOneMethod(s) + return t.VisitIsCappedMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) InsertOneMethod() (localctx IInsertOneMethodContext) { - localctx = NewInsertOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 56, MongoShellParserRULE_insertOneMethod) +func (p *MongoShellParser) IsCappedMethod() (localctx IIsCappedMethodContext) { + localctx = NewIsCappedMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 98, MongoShellParserRULE_isCappedMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(800) - p.Match(MongoShellParserINSERT_ONE) + p.SetState(1356) + p.Match(MongoShellParserIS_CAPPED) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(801) + p.SetState(1357) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -13135,11 +23594,7 @@ func (p *MongoShellParser) InsertOneMethod() (localctx IInsertOneMethodContext) } } { - p.SetState(802) - p.Arguments() - } - { - p.SetState(803) + p.SetState(1358) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13160,67 +23615,71 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IInsertManyMethodContext is an interface to support dynamic dispatch. -type IInsertManyMethodContext interface { +// IValidateMethodContext is an interface to support dynamic dispatch. +type IValidateMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - INSERT_MANY() antlr.TerminalNode + VALIDATE() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode + Argument() IArgumentContext - // IsInsertManyMethodContext differentiates from other interfaces. - IsInsertManyMethodContext() + // IsValidateMethodContext differentiates from other interfaces. + IsValidateMethodContext() } -type InsertManyMethodContext struct { +type ValidateMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyInsertManyMethodContext() *InsertManyMethodContext { - var p = new(InsertManyMethodContext) +func NewEmptyValidateMethodContext() *ValidateMethodContext { + var p = new(ValidateMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_insertManyMethod + p.RuleIndex = MongoShellParserRULE_validateMethod return p } -func InitEmptyInsertManyMethodContext(p *InsertManyMethodContext) { +func InitEmptyValidateMethodContext(p *ValidateMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_insertManyMethod + p.RuleIndex = MongoShellParserRULE_validateMethod } -func (*InsertManyMethodContext) IsInsertManyMethodContext() {} +func (*ValidateMethodContext) IsValidateMethodContext() {} -func NewInsertManyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InsertManyMethodContext { - var p = new(InsertManyMethodContext) +func NewValidateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ValidateMethodContext { + var p = new(ValidateMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_insertManyMethod + p.RuleIndex = MongoShellParserRULE_validateMethod return p } -func (s *InsertManyMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *ValidateMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *InsertManyMethodContext) INSERT_MANY() antlr.TerminalNode { - return s.GetToken(MongoShellParserINSERT_MANY, 0) +func (s *ValidateMethodContext) VALIDATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserVALIDATE, 0) } -func (s *InsertManyMethodContext) LPAREN() antlr.TerminalNode { +func (s *ValidateMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *InsertManyMethodContext) Arguments() IArgumentsContext { +func (s *ValidateMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ValidateMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -13230,69 +23689,77 @@ func (s *InsertManyMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) -} - -func (s *InsertManyMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + return t.(IArgumentContext) } -func (s *InsertManyMethodContext) GetRuleContext() antlr.RuleContext { +func (s *ValidateMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *InsertManyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *ValidateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *InsertManyMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ValidateMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterInsertManyMethod(s) + listenerT.EnterValidateMethod(s) } } -func (s *InsertManyMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ValidateMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitInsertManyMethod(s) + listenerT.ExitValidateMethod(s) } } -func (s *InsertManyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ValidateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitInsertManyMethod(s) + return t.VisitValidateMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) InsertManyMethod() (localctx IInsertManyMethodContext) { - localctx = NewInsertManyMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 58, MongoShellParserRULE_insertManyMethod) +func (p *MongoShellParser) ValidateMethod() (localctx IValidateMethodContext) { + localctx = NewValidateMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 100, MongoShellParserRULE_validateMethod) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(805) - p.Match(MongoShellParserINSERT_MANY) + p.SetState(1360) + p.Match(MongoShellParserVALIDATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(806) + p.SetState(1361) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(807) - p.Arguments() + p.SetState(1363) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1362) + p.Argument() + } + } { - p.SetState(808) + p.SetState(1365) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13313,67 +23780,71 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IUpdateOneMethodContext is an interface to support dynamic dispatch. -type IUpdateOneMethodContext interface { +// ILatencyStatsMethodContext is an interface to support dynamic dispatch. +type ILatencyStatsMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - UPDATE_ONE() antlr.TerminalNode + LATENCY_STATS() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode + Argument() IArgumentContext - // IsUpdateOneMethodContext differentiates from other interfaces. - IsUpdateOneMethodContext() + // IsLatencyStatsMethodContext differentiates from other interfaces. + IsLatencyStatsMethodContext() } -type UpdateOneMethodContext struct { +type LatencyStatsMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyUpdateOneMethodContext() *UpdateOneMethodContext { - var p = new(UpdateOneMethodContext) +func NewEmptyLatencyStatsMethodContext() *LatencyStatsMethodContext { + var p = new(LatencyStatsMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_updateOneMethod + p.RuleIndex = MongoShellParserRULE_latencyStatsMethod return p } -func InitEmptyUpdateOneMethodContext(p *UpdateOneMethodContext) { +func InitEmptyLatencyStatsMethodContext(p *LatencyStatsMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_updateOneMethod + p.RuleIndex = MongoShellParserRULE_latencyStatsMethod } -func (*UpdateOneMethodContext) IsUpdateOneMethodContext() {} +func (*LatencyStatsMethodContext) IsLatencyStatsMethodContext() {} -func NewUpdateOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UpdateOneMethodContext { - var p = new(UpdateOneMethodContext) +func NewLatencyStatsMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LatencyStatsMethodContext { + var p = new(LatencyStatsMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_updateOneMethod + p.RuleIndex = MongoShellParserRULE_latencyStatsMethod return p } -func (s *UpdateOneMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *LatencyStatsMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *UpdateOneMethodContext) UPDATE_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserUPDATE_ONE, 0) +func (s *LatencyStatsMethodContext) LATENCY_STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserLATENCY_STATS, 0) } -func (s *UpdateOneMethodContext) LPAREN() antlr.TerminalNode { +func (s *LatencyStatsMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *UpdateOneMethodContext) Arguments() IArgumentsContext { +func (s *LatencyStatsMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *LatencyStatsMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -13383,69 +23854,77 @@ func (s *UpdateOneMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) -} - -func (s *UpdateOneMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) + return t.(IArgumentContext) } -func (s *UpdateOneMethodContext) GetRuleContext() antlr.RuleContext { +func (s *LatencyStatsMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *UpdateOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *LatencyStatsMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *UpdateOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *LatencyStatsMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterUpdateOneMethod(s) + listenerT.EnterLatencyStatsMethod(s) } } -func (s *UpdateOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *LatencyStatsMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitUpdateOneMethod(s) + listenerT.ExitLatencyStatsMethod(s) } } -func (s *UpdateOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *LatencyStatsMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitUpdateOneMethod(s) + return t.VisitLatencyStatsMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) UpdateOneMethod() (localctx IUpdateOneMethodContext) { - localctx = NewUpdateOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 60, MongoShellParserRULE_updateOneMethod) +func (p *MongoShellParser) LatencyStatsMethod() (localctx ILatencyStatsMethodContext) { + localctx = NewLatencyStatsMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 102, MongoShellParserRULE_latencyStatsMethod) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(810) - p.Match(MongoShellParserUPDATE_ONE) + p.SetState(1367) + p.Match(MongoShellParserLATENCY_STATS) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(811) + p.SetState(1368) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(812) - p.Arguments() + p.SetState(1370) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1369) + p.Argument() + } + } { - p.SetState(813) + p.SetState(1372) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13466,64 +23945,68 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IUpdateManyMethodContext is an interface to support dynamic dispatch. -type IUpdateManyMethodContext interface { +// IWatchMethodContext is an interface to support dynamic dispatch. +type IWatchMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - UPDATE_MANY() antlr.TerminalNode + WATCH() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext - // IsUpdateManyMethodContext differentiates from other interfaces. - IsUpdateManyMethodContext() + // IsWatchMethodContext differentiates from other interfaces. + IsWatchMethodContext() } -type UpdateManyMethodContext struct { +type WatchMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyUpdateManyMethodContext() *UpdateManyMethodContext { - var p = new(UpdateManyMethodContext) +func NewEmptyWatchMethodContext() *WatchMethodContext { + var p = new(WatchMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_updateManyMethod + p.RuleIndex = MongoShellParserRULE_watchMethod return p } -func InitEmptyUpdateManyMethodContext(p *UpdateManyMethodContext) { +func InitEmptyWatchMethodContext(p *WatchMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_updateManyMethod + p.RuleIndex = MongoShellParserRULE_watchMethod } -func (*UpdateManyMethodContext) IsUpdateManyMethodContext() {} +func (*WatchMethodContext) IsWatchMethodContext() {} -func NewUpdateManyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UpdateManyMethodContext { - var p = new(UpdateManyMethodContext) +func NewWatchMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *WatchMethodContext { + var p = new(WatchMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_updateManyMethod + p.RuleIndex = MongoShellParserRULE_watchMethod return p } -func (s *UpdateManyMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *WatchMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *UpdateManyMethodContext) UPDATE_MANY() antlr.TerminalNode { - return s.GetToken(MongoShellParserUPDATE_MANY, 0) +func (s *WatchMethodContext) WATCH() antlr.TerminalNode { + return s.GetToken(MongoShellParserWATCH, 0) } -func (s *UpdateManyMethodContext) LPAREN() antlr.TerminalNode { +func (s *WatchMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *UpdateManyMethodContext) Arguments() IArgumentsContext { +func (s *WatchMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *WatchMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -13539,66 +24022,74 @@ func (s *UpdateManyMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *UpdateManyMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *UpdateManyMethodContext) GetRuleContext() antlr.RuleContext { +func (s *WatchMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *UpdateManyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *WatchMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *UpdateManyMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *WatchMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterUpdateManyMethod(s) + listenerT.EnterWatchMethod(s) } } -func (s *UpdateManyMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *WatchMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitUpdateManyMethod(s) + listenerT.ExitWatchMethod(s) } } -func (s *UpdateManyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *WatchMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitUpdateManyMethod(s) + return t.VisitWatchMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) UpdateManyMethod() (localctx IUpdateManyMethodContext) { - localctx = NewUpdateManyMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 62, MongoShellParserRULE_updateManyMethod) +func (p *MongoShellParser) WatchMethod() (localctx IWatchMethodContext) { + localctx = NewWatchMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 104, MongoShellParserRULE_watchMethod) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(815) - p.Match(MongoShellParserUPDATE_MANY) + p.SetState(1374) + p.Match(MongoShellParserWATCH) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(816) + p.SetState(1375) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(817) - p.Arguments() + p.SetState(1377) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1376) + p.Arguments() + } + } { - p.SetState(818) + p.SetState(1379) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13619,64 +24110,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDeleteOneMethodContext is an interface to support dynamic dispatch. -type IDeleteOneMethodContext interface { +// IBulkWriteMethodContext is an interface to support dynamic dispatch. +type IBulkWriteMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DELETE_ONE() antlr.TerminalNode + BULK_WRITE() antlr.TerminalNode LPAREN() antlr.TerminalNode Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsDeleteOneMethodContext differentiates from other interfaces. - IsDeleteOneMethodContext() + // IsBulkWriteMethodContext differentiates from other interfaces. + IsBulkWriteMethodContext() } -type DeleteOneMethodContext struct { +type BulkWriteMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDeleteOneMethodContext() *DeleteOneMethodContext { - var p = new(DeleteOneMethodContext) +func NewEmptyBulkWriteMethodContext() *BulkWriteMethodContext { + var p = new(BulkWriteMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_deleteOneMethod + p.RuleIndex = MongoShellParserRULE_bulkWriteMethod return p } -func InitEmptyDeleteOneMethodContext(p *DeleteOneMethodContext) { +func InitEmptyBulkWriteMethodContext(p *BulkWriteMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_deleteOneMethod + p.RuleIndex = MongoShellParserRULE_bulkWriteMethod } -func (*DeleteOneMethodContext) IsDeleteOneMethodContext() {} +func (*BulkWriteMethodContext) IsBulkWriteMethodContext() {} -func NewDeleteOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DeleteOneMethodContext { - var p = new(DeleteOneMethodContext) +func NewBulkWriteMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BulkWriteMethodContext { + var p = new(BulkWriteMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_deleteOneMethod + p.RuleIndex = MongoShellParserRULE_bulkWriteMethod return p } -func (s *DeleteOneMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *BulkWriteMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DeleteOneMethodContext) DELETE_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDELETE_ONE, 0) +func (s *BulkWriteMethodContext) BULK_WRITE() antlr.TerminalNode { + return s.GetToken(MongoShellParserBULK_WRITE, 0) } -func (s *DeleteOneMethodContext) LPAREN() antlr.TerminalNode { +func (s *BulkWriteMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DeleteOneMethodContext) Arguments() IArgumentsContext { +func (s *BulkWriteMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -13692,54 +24183,54 @@ func (s *DeleteOneMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *DeleteOneMethodContext) RPAREN() antlr.TerminalNode { +func (s *BulkWriteMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DeleteOneMethodContext) GetRuleContext() antlr.RuleContext { +func (s *BulkWriteMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DeleteOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *BulkWriteMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DeleteOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *BulkWriteMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDeleteOneMethod(s) + listenerT.EnterBulkWriteMethod(s) } } -func (s *DeleteOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *BulkWriteMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDeleteOneMethod(s) + listenerT.ExitBulkWriteMethod(s) } } -func (s *DeleteOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *BulkWriteMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDeleteOneMethod(s) + return t.VisitBulkWriteMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DeleteOneMethod() (localctx IDeleteOneMethodContext) { - localctx = NewDeleteOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 64, MongoShellParserRULE_deleteOneMethod) +func (p *MongoShellParser) BulkWriteMethod() (localctx IBulkWriteMethodContext) { + localctx = NewBulkWriteMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 106, MongoShellParserRULE_bulkWriteMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(820) - p.Match(MongoShellParserDELETE_ONE) + p.SetState(1381) + p.Match(MongoShellParserBULK_WRITE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(821) + p.SetState(1382) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -13747,11 +24238,11 @@ func (p *MongoShellParser) DeleteOneMethod() (localctx IDeleteOneMethodContext) } } { - p.SetState(822) + p.SetState(1383) p.Arguments() } { - p.SetState(823) + p.SetState(1384) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13772,64 +24263,68 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDeleteManyMethodContext is an interface to support dynamic dispatch. -type IDeleteManyMethodContext interface { +// ICollectionCountMethodContext is an interface to support dynamic dispatch. +type ICollectionCountMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DELETE_MANY() antlr.TerminalNode + COUNT() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext - // IsDeleteManyMethodContext differentiates from other interfaces. - IsDeleteManyMethodContext() + // IsCollectionCountMethodContext differentiates from other interfaces. + IsCollectionCountMethodContext() } -type DeleteManyMethodContext struct { +type CollectionCountMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDeleteManyMethodContext() *DeleteManyMethodContext { - var p = new(DeleteManyMethodContext) +func NewEmptyCollectionCountMethodContext() *CollectionCountMethodContext { + var p = new(CollectionCountMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_deleteManyMethod + p.RuleIndex = MongoShellParserRULE_collectionCountMethod return p } -func InitEmptyDeleteManyMethodContext(p *DeleteManyMethodContext) { +func InitEmptyCollectionCountMethodContext(p *CollectionCountMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_deleteManyMethod + p.RuleIndex = MongoShellParserRULE_collectionCountMethod } -func (*DeleteManyMethodContext) IsDeleteManyMethodContext() {} +func (*CollectionCountMethodContext) IsCollectionCountMethodContext() {} -func NewDeleteManyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DeleteManyMethodContext { - var p = new(DeleteManyMethodContext) +func NewCollectionCountMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionCountMethodContext { + var p = new(CollectionCountMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_deleteManyMethod + p.RuleIndex = MongoShellParserRULE_collectionCountMethod return p } -func (s *DeleteManyMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionCountMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DeleteManyMethodContext) DELETE_MANY() antlr.TerminalNode { - return s.GetToken(MongoShellParserDELETE_MANY, 0) +func (s *CollectionCountMethodContext) COUNT() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOUNT, 0) } -func (s *DeleteManyMethodContext) LPAREN() antlr.TerminalNode { +func (s *CollectionCountMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DeleteManyMethodContext) Arguments() IArgumentsContext { +func (s *CollectionCountMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *CollectionCountMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -13845,66 +24340,74 @@ func (s *DeleteManyMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *DeleteManyMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *DeleteManyMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CollectionCountMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DeleteManyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CollectionCountMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DeleteManyMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CollectionCountMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDeleteManyMethod(s) + listenerT.EnterCollectionCountMethod(s) } } -func (s *DeleteManyMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CollectionCountMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDeleteManyMethod(s) + listenerT.ExitCollectionCountMethod(s) } } -func (s *DeleteManyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CollectionCountMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDeleteManyMethod(s) + return t.VisitCollectionCountMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DeleteManyMethod() (localctx IDeleteManyMethodContext) { - localctx = NewDeleteManyMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 66, MongoShellParserRULE_deleteManyMethod) +func (p *MongoShellParser) CollectionCountMethod() (localctx ICollectionCountMethodContext) { + localctx = NewCollectionCountMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 108, MongoShellParserRULE_collectionCountMethod) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(825) - p.Match(MongoShellParserDELETE_MANY) + p.SetState(1386) + p.Match(MongoShellParserCOUNT) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(826) + p.SetState(1387) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(827) - p.Arguments() + p.SetState(1389) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1388) + p.Arguments() + } + } { - p.SetState(828) + p.SetState(1391) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -13925,64 +24428,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IReplaceOneMethodContext is an interface to support dynamic dispatch. -type IReplaceOneMethodContext interface { +// ICollectionInsertMethodContext is an interface to support dynamic dispatch. +type ICollectionInsertMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - REPLACE_ONE() antlr.TerminalNode + INSERT() antlr.TerminalNode LPAREN() antlr.TerminalNode Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsReplaceOneMethodContext differentiates from other interfaces. - IsReplaceOneMethodContext() + // IsCollectionInsertMethodContext differentiates from other interfaces. + IsCollectionInsertMethodContext() } -type ReplaceOneMethodContext struct { +type CollectionInsertMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyReplaceOneMethodContext() *ReplaceOneMethodContext { - var p = new(ReplaceOneMethodContext) +func NewEmptyCollectionInsertMethodContext() *CollectionInsertMethodContext { + var p = new(CollectionInsertMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_replaceOneMethod + p.RuleIndex = MongoShellParserRULE_collectionInsertMethod return p } -func InitEmptyReplaceOneMethodContext(p *ReplaceOneMethodContext) { +func InitEmptyCollectionInsertMethodContext(p *CollectionInsertMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_replaceOneMethod + p.RuleIndex = MongoShellParserRULE_collectionInsertMethod } -func (*ReplaceOneMethodContext) IsReplaceOneMethodContext() {} +func (*CollectionInsertMethodContext) IsCollectionInsertMethodContext() {} -func NewReplaceOneMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReplaceOneMethodContext { - var p = new(ReplaceOneMethodContext) +func NewCollectionInsertMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionInsertMethodContext { + var p = new(CollectionInsertMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_replaceOneMethod + p.RuleIndex = MongoShellParserRULE_collectionInsertMethod return p } -func (s *ReplaceOneMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionInsertMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ReplaceOneMethodContext) REPLACE_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserREPLACE_ONE, 0) +func (s *CollectionInsertMethodContext) INSERT() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT, 0) } -func (s *ReplaceOneMethodContext) LPAREN() antlr.TerminalNode { +func (s *CollectionInsertMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ReplaceOneMethodContext) Arguments() IArgumentsContext { +func (s *CollectionInsertMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -13998,54 +24501,54 @@ func (s *ReplaceOneMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *ReplaceOneMethodContext) RPAREN() antlr.TerminalNode { +func (s *CollectionInsertMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ReplaceOneMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CollectionInsertMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ReplaceOneMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CollectionInsertMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *ReplaceOneMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CollectionInsertMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterReplaceOneMethod(s) + listenerT.EnterCollectionInsertMethod(s) } } -func (s *ReplaceOneMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CollectionInsertMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitReplaceOneMethod(s) + listenerT.ExitCollectionInsertMethod(s) } } -func (s *ReplaceOneMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CollectionInsertMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitReplaceOneMethod(s) + return t.VisitCollectionInsertMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) ReplaceOneMethod() (localctx IReplaceOneMethodContext) { - localctx = NewReplaceOneMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 68, MongoShellParserRULE_replaceOneMethod) +func (p *MongoShellParser) CollectionInsertMethod() (localctx ICollectionInsertMethodContext) { + localctx = NewCollectionInsertMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 110, MongoShellParserRULE_collectionInsertMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(830) - p.Match(MongoShellParserREPLACE_ONE) + p.SetState(1393) + p.Match(MongoShellParserINSERT) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(831) + p.SetState(1394) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -14053,11 +24556,11 @@ func (p *MongoShellParser) ReplaceOneMethod() (localctx IReplaceOneMethodContext } } { - p.SetState(832) + p.SetState(1395) p.Arguments() } { - p.SetState(833) + p.SetState(1396) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14078,64 +24581,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFindOneAndUpdateMethodContext is an interface to support dynamic dispatch. -type IFindOneAndUpdateMethodContext interface { +// ICollectionRemoveMethodContext is an interface to support dynamic dispatch. +type ICollectionRemoveMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FIND_ONE_AND_UPDATE() antlr.TerminalNode + REMOVE() antlr.TerminalNode LPAREN() antlr.TerminalNode Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsFindOneAndUpdateMethodContext differentiates from other interfaces. - IsFindOneAndUpdateMethodContext() + // IsCollectionRemoveMethodContext differentiates from other interfaces. + IsCollectionRemoveMethodContext() } -type FindOneAndUpdateMethodContext struct { +type CollectionRemoveMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFindOneAndUpdateMethodContext() *FindOneAndUpdateMethodContext { - var p = new(FindOneAndUpdateMethodContext) +func NewEmptyCollectionRemoveMethodContext() *CollectionRemoveMethodContext { + var p = new(CollectionRemoveMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneAndUpdateMethod + p.RuleIndex = MongoShellParserRULE_collectionRemoveMethod return p } -func InitEmptyFindOneAndUpdateMethodContext(p *FindOneAndUpdateMethodContext) { +func InitEmptyCollectionRemoveMethodContext(p *CollectionRemoveMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneAndUpdateMethod + p.RuleIndex = MongoShellParserRULE_collectionRemoveMethod } -func (*FindOneAndUpdateMethodContext) IsFindOneAndUpdateMethodContext() {} +func (*CollectionRemoveMethodContext) IsCollectionRemoveMethodContext() {} -func NewFindOneAndUpdateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneAndUpdateMethodContext { - var p = new(FindOneAndUpdateMethodContext) +func NewCollectionRemoveMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionRemoveMethodContext { + var p = new(CollectionRemoveMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_findOneAndUpdateMethod + p.RuleIndex = MongoShellParserRULE_collectionRemoveMethod return p } -func (s *FindOneAndUpdateMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionRemoveMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *FindOneAndUpdateMethodContext) FIND_ONE_AND_UPDATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE_AND_UPDATE, 0) +func (s *CollectionRemoveMethodContext) REMOVE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREMOVE, 0) } -func (s *FindOneAndUpdateMethodContext) LPAREN() antlr.TerminalNode { +func (s *CollectionRemoveMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *FindOneAndUpdateMethodContext) Arguments() IArgumentsContext { +func (s *CollectionRemoveMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -14151,54 +24654,54 @@ func (s *FindOneAndUpdateMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *FindOneAndUpdateMethodContext) RPAREN() antlr.TerminalNode { +func (s *CollectionRemoveMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *FindOneAndUpdateMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CollectionRemoveMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *FindOneAndUpdateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CollectionRemoveMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *FindOneAndUpdateMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CollectionRemoveMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterFindOneAndUpdateMethod(s) + listenerT.EnterCollectionRemoveMethod(s) } } -func (s *FindOneAndUpdateMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CollectionRemoveMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitFindOneAndUpdateMethod(s) + listenerT.ExitCollectionRemoveMethod(s) } } -func (s *FindOneAndUpdateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CollectionRemoveMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitFindOneAndUpdateMethod(s) + return t.VisitCollectionRemoveMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) FindOneAndUpdateMethod() (localctx IFindOneAndUpdateMethodContext) { - localctx = NewFindOneAndUpdateMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 70, MongoShellParserRULE_findOneAndUpdateMethod) +func (p *MongoShellParser) CollectionRemoveMethod() (localctx ICollectionRemoveMethodContext) { + localctx = NewCollectionRemoveMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 112, MongoShellParserRULE_collectionRemoveMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(835) - p.Match(MongoShellParserFIND_ONE_AND_UPDATE) + p.SetState(1398) + p.Match(MongoShellParserREMOVE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(836) + p.SetState(1399) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -14206,11 +24709,11 @@ func (p *MongoShellParser) FindOneAndUpdateMethod() (localctx IFindOneAndUpdateM } } { - p.SetState(837) + p.SetState(1400) p.Arguments() } { - p.SetState(838) + p.SetState(1401) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14231,64 +24734,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFindOneAndReplaceMethodContext is an interface to support dynamic dispatch. -type IFindOneAndReplaceMethodContext interface { +// IUpdateMethodContext is an interface to support dynamic dispatch. +type IUpdateMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FIND_ONE_AND_REPLACE() antlr.TerminalNode + UPDATE() antlr.TerminalNode LPAREN() antlr.TerminalNode Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsFindOneAndReplaceMethodContext differentiates from other interfaces. - IsFindOneAndReplaceMethodContext() + // IsUpdateMethodContext differentiates from other interfaces. + IsUpdateMethodContext() } -type FindOneAndReplaceMethodContext struct { +type UpdateMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFindOneAndReplaceMethodContext() *FindOneAndReplaceMethodContext { - var p = new(FindOneAndReplaceMethodContext) +func NewEmptyUpdateMethodContext() *UpdateMethodContext { + var p = new(UpdateMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneAndReplaceMethod + p.RuleIndex = MongoShellParserRULE_updateMethod return p } -func InitEmptyFindOneAndReplaceMethodContext(p *FindOneAndReplaceMethodContext) { +func InitEmptyUpdateMethodContext(p *UpdateMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneAndReplaceMethod + p.RuleIndex = MongoShellParserRULE_updateMethod } -func (*FindOneAndReplaceMethodContext) IsFindOneAndReplaceMethodContext() {} +func (*UpdateMethodContext) IsUpdateMethodContext() {} -func NewFindOneAndReplaceMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneAndReplaceMethodContext { - var p = new(FindOneAndReplaceMethodContext) +func NewUpdateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UpdateMethodContext { + var p = new(UpdateMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_findOneAndReplaceMethod + p.RuleIndex = MongoShellParserRULE_updateMethod return p } -func (s *FindOneAndReplaceMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *UpdateMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *FindOneAndReplaceMethodContext) FIND_ONE_AND_REPLACE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE_AND_REPLACE, 0) +func (s *UpdateMethodContext) UPDATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE, 0) } -func (s *FindOneAndReplaceMethodContext) LPAREN() antlr.TerminalNode { +func (s *UpdateMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *FindOneAndReplaceMethodContext) Arguments() IArgumentsContext { +func (s *UpdateMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -14304,54 +24807,54 @@ func (s *FindOneAndReplaceMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *FindOneAndReplaceMethodContext) RPAREN() antlr.TerminalNode { +func (s *UpdateMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *FindOneAndReplaceMethodContext) GetRuleContext() antlr.RuleContext { +func (s *UpdateMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *FindOneAndReplaceMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *UpdateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *FindOneAndReplaceMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UpdateMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterFindOneAndReplaceMethod(s) + listenerT.EnterUpdateMethod(s) } } -func (s *FindOneAndReplaceMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UpdateMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitFindOneAndReplaceMethod(s) + listenerT.ExitUpdateMethod(s) } } -func (s *FindOneAndReplaceMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UpdateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitFindOneAndReplaceMethod(s) + return t.VisitUpdateMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) FindOneAndReplaceMethod() (localctx IFindOneAndReplaceMethodContext) { - localctx = NewFindOneAndReplaceMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 72, MongoShellParserRULE_findOneAndReplaceMethod) +func (p *MongoShellParser) UpdateMethod() (localctx IUpdateMethodContext) { + localctx = NewUpdateMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 114, MongoShellParserRULE_updateMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(840) - p.Match(MongoShellParserFIND_ONE_AND_REPLACE) + p.SetState(1403) + p.Match(MongoShellParserUPDATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(841) + p.SetState(1404) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -14359,11 +24862,11 @@ func (p *MongoShellParser) FindOneAndReplaceMethod() (localctx IFindOneAndReplac } } { - p.SetState(842) + p.SetState(1405) p.Arguments() } { - p.SetState(843) + p.SetState(1406) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14384,64 +24887,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IFindOneAndDeleteMethodContext is an interface to support dynamic dispatch. -type IFindOneAndDeleteMethodContext interface { +// IMapReduceMethodContext is an interface to support dynamic dispatch. +type IMapReduceMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - FIND_ONE_AND_DELETE() antlr.TerminalNode + MAP_REDUCE() antlr.TerminalNode LPAREN() antlr.TerminalNode Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsFindOneAndDeleteMethodContext differentiates from other interfaces. - IsFindOneAndDeleteMethodContext() + // IsMapReduceMethodContext differentiates from other interfaces. + IsMapReduceMethodContext() } -type FindOneAndDeleteMethodContext struct { +type MapReduceMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyFindOneAndDeleteMethodContext() *FindOneAndDeleteMethodContext { - var p = new(FindOneAndDeleteMethodContext) +func NewEmptyMapReduceMethodContext() *MapReduceMethodContext { + var p = new(MapReduceMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneAndDeleteMethod + p.RuleIndex = MongoShellParserRULE_mapReduceMethod return p } -func InitEmptyFindOneAndDeleteMethodContext(p *FindOneAndDeleteMethodContext) { +func InitEmptyMapReduceMethodContext(p *MapReduceMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_findOneAndDeleteMethod + p.RuleIndex = MongoShellParserRULE_mapReduceMethod } -func (*FindOneAndDeleteMethodContext) IsFindOneAndDeleteMethodContext() {} +func (*MapReduceMethodContext) IsMapReduceMethodContext() {} -func NewFindOneAndDeleteMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindOneAndDeleteMethodContext { - var p = new(FindOneAndDeleteMethodContext) +func NewMapReduceMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MapReduceMethodContext { + var p = new(MapReduceMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_findOneAndDeleteMethod + p.RuleIndex = MongoShellParserRULE_mapReduceMethod return p } -func (s *FindOneAndDeleteMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *MapReduceMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *FindOneAndDeleteMethodContext) FIND_ONE_AND_DELETE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE_AND_DELETE, 0) +func (s *MapReduceMethodContext) MAP_REDUCE() antlr.TerminalNode { + return s.GetToken(MongoShellParserMAP_REDUCE, 0) } -func (s *FindOneAndDeleteMethodContext) LPAREN() antlr.TerminalNode { +func (s *MapReduceMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *FindOneAndDeleteMethodContext) Arguments() IArgumentsContext { +func (s *MapReduceMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -14457,54 +24960,54 @@ func (s *FindOneAndDeleteMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *FindOneAndDeleteMethodContext) RPAREN() antlr.TerminalNode { +func (s *MapReduceMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *FindOneAndDeleteMethodContext) GetRuleContext() antlr.RuleContext { +func (s *MapReduceMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *FindOneAndDeleteMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *MapReduceMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *FindOneAndDeleteMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *MapReduceMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterFindOneAndDeleteMethod(s) + listenerT.EnterMapReduceMethod(s) } } -func (s *FindOneAndDeleteMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *MapReduceMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitFindOneAndDeleteMethod(s) + listenerT.ExitMapReduceMethod(s) } } -func (s *FindOneAndDeleteMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *MapReduceMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitFindOneAndDeleteMethod(s) + return t.VisitMapReduceMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) FindOneAndDeleteMethod() (localctx IFindOneAndDeleteMethodContext) { - localctx = NewFindOneAndDeleteMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 74, MongoShellParserRULE_findOneAndDeleteMethod) +func (p *MongoShellParser) MapReduceMethod() (localctx IMapReduceMethodContext) { + localctx = NewMapReduceMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 116, MongoShellParserRULE_mapReduceMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(845) - p.Match(MongoShellParserFIND_ONE_AND_DELETE) + p.SetState(1408) + p.Match(MongoShellParserMAP_REDUCE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(846) + p.SetState(1409) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -14512,11 +25015,11 @@ func (p *MongoShellParser) FindOneAndDeleteMethod() (localctx IFindOneAndDeleteM } } { - p.SetState(847) + p.SetState(1410) p.Arguments() } { - p.SetState(848) + p.SetState(1411) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14537,64 +25040,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICreateIndexMethodContext is an interface to support dynamic dispatch. -type ICreateIndexMethodContext interface { +// IFindAndModifyMethodContext is an interface to support dynamic dispatch. +type IFindAndModifyMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - CREATE_INDEX() antlr.TerminalNode + FIND_AND_MODIFY() antlr.TerminalNode LPAREN() antlr.TerminalNode Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsCreateIndexMethodContext differentiates from other interfaces. - IsCreateIndexMethodContext() + // IsFindAndModifyMethodContext differentiates from other interfaces. + IsFindAndModifyMethodContext() } -type CreateIndexMethodContext struct { +type FindAndModifyMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCreateIndexMethodContext() *CreateIndexMethodContext { - var p = new(CreateIndexMethodContext) +func NewEmptyFindAndModifyMethodContext() *FindAndModifyMethodContext { + var p = new(FindAndModifyMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_createIndexMethod + p.RuleIndex = MongoShellParserRULE_findAndModifyMethod return p } -func InitEmptyCreateIndexMethodContext(p *CreateIndexMethodContext) { +func InitEmptyFindAndModifyMethodContext(p *FindAndModifyMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_createIndexMethod + p.RuleIndex = MongoShellParserRULE_findAndModifyMethod } -func (*CreateIndexMethodContext) IsCreateIndexMethodContext() {} +func (*FindAndModifyMethodContext) IsFindAndModifyMethodContext() {} -func NewCreateIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateIndexMethodContext { - var p = new(CreateIndexMethodContext) +func NewFindAndModifyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FindAndModifyMethodContext { + var p = new(FindAndModifyMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_createIndexMethod + p.RuleIndex = MongoShellParserRULE_findAndModifyMethod return p } -func (s *CreateIndexMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *FindAndModifyMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *CreateIndexMethodContext) CREATE_INDEX() antlr.TerminalNode { - return s.GetToken(MongoShellParserCREATE_INDEX, 0) +func (s *FindAndModifyMethodContext) FIND_AND_MODIFY() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_AND_MODIFY, 0) } -func (s *CreateIndexMethodContext) LPAREN() antlr.TerminalNode { +func (s *FindAndModifyMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *CreateIndexMethodContext) Arguments() IArgumentsContext { +func (s *FindAndModifyMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -14610,54 +25113,54 @@ func (s *CreateIndexMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *CreateIndexMethodContext) RPAREN() antlr.TerminalNode { +func (s *FindAndModifyMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *CreateIndexMethodContext) GetRuleContext() antlr.RuleContext { +func (s *FindAndModifyMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *CreateIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *FindAndModifyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *CreateIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *FindAndModifyMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterCreateIndexMethod(s) + listenerT.EnterFindAndModifyMethod(s) } } -func (s *CreateIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *FindAndModifyMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitCreateIndexMethod(s) + listenerT.ExitFindAndModifyMethod(s) } } -func (s *CreateIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *FindAndModifyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitCreateIndexMethod(s) + return t.VisitFindAndModifyMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) CreateIndexMethod() (localctx ICreateIndexMethodContext) { - localctx = NewCreateIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 76, MongoShellParserRULE_createIndexMethod) +func (p *MongoShellParser) FindAndModifyMethod() (localctx IFindAndModifyMethodContext) { + localctx = NewFindAndModifyMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 118, MongoShellParserRULE_findAndModifyMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(850) - p.Match(MongoShellParserCREATE_INDEX) + p.SetState(1413) + p.Match(MongoShellParserFIND_AND_MODIFY) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(851) + p.SetState(1414) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -14665,11 +25168,11 @@ func (p *MongoShellParser) CreateIndexMethod() (localctx ICreateIndexMethodConte } } { - p.SetState(852) + p.SetState(1415) p.Arguments() } { - p.SetState(853) + p.SetState(1416) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14690,64 +25193,68 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ICreateIndexesMethodContext is an interface to support dynamic dispatch. -type ICreateIndexesMethodContext interface { +// ICollectionExplainMethodContext is an interface to support dynamic dispatch. +type ICollectionExplainMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - CREATE_INDEXES() antlr.TerminalNode + EXPLAIN() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext RPAREN() antlr.TerminalNode + Arguments() IArgumentsContext - // IsCreateIndexesMethodContext differentiates from other interfaces. - IsCreateIndexesMethodContext() + // IsCollectionExplainMethodContext differentiates from other interfaces. + IsCollectionExplainMethodContext() } -type CreateIndexesMethodContext struct { +type CollectionExplainMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyCreateIndexesMethodContext() *CreateIndexesMethodContext { - var p = new(CreateIndexesMethodContext) +func NewEmptyCollectionExplainMethodContext() *CollectionExplainMethodContext { + var p = new(CollectionExplainMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_createIndexesMethod + p.RuleIndex = MongoShellParserRULE_collectionExplainMethod return p } -func InitEmptyCreateIndexesMethodContext(p *CreateIndexesMethodContext) { +func InitEmptyCollectionExplainMethodContext(p *CollectionExplainMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_createIndexesMethod + p.RuleIndex = MongoShellParserRULE_collectionExplainMethod } -func (*CreateIndexesMethodContext) IsCreateIndexesMethodContext() {} +func (*CollectionExplainMethodContext) IsCollectionExplainMethodContext() {} -func NewCreateIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateIndexesMethodContext { - var p = new(CreateIndexesMethodContext) +func NewCollectionExplainMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectionExplainMethodContext { + var p = new(CollectionExplainMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_createIndexesMethod + p.RuleIndex = MongoShellParserRULE_collectionExplainMethod return p } -func (s *CreateIndexesMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CollectionExplainMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *CreateIndexesMethodContext) CREATE_INDEXES() antlr.TerminalNode { - return s.GetToken(MongoShellParserCREATE_INDEXES, 0) +func (s *CollectionExplainMethodContext) EXPLAIN() antlr.TerminalNode { + return s.GetToken(MongoShellParserEXPLAIN, 0) } -func (s *CreateIndexesMethodContext) LPAREN() antlr.TerminalNode { +func (s *CollectionExplainMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *CreateIndexesMethodContext) Arguments() IArgumentsContext { +func (s *CollectionExplainMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *CollectionExplainMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentsContext); ok { @@ -14763,66 +25270,74 @@ func (s *CreateIndexesMethodContext) Arguments() IArgumentsContext { return t.(IArgumentsContext) } -func (s *CreateIndexesMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *CreateIndexesMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CollectionExplainMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *CreateIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CollectionExplainMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *CreateIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CollectionExplainMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterCreateIndexesMethod(s) + listenerT.EnterCollectionExplainMethod(s) } } -func (s *CreateIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CollectionExplainMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitCreateIndexesMethod(s) + listenerT.ExitCollectionExplainMethod(s) } } -func (s *CreateIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CollectionExplainMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitCreateIndexesMethod(s) + return t.VisitCollectionExplainMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) CreateIndexesMethod() (localctx ICreateIndexesMethodContext) { - localctx = NewCreateIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 78, MongoShellParserRULE_createIndexesMethod) +func (p *MongoShellParser) CollectionExplainMethod() (localctx ICollectionExplainMethodContext) { + localctx = NewCollectionExplainMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 120, MongoShellParserRULE_collectionExplainMethod) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(855) - p.Match(MongoShellParserCREATE_INDEXES) + p.SetState(1418) + p.Match(MongoShellParserEXPLAIN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(856) + p.SetState(1419) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(857) - p.Arguments() + p.SetState(1421) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1420) + p.Arguments() + } + } { - p.SetState(858) + p.SetState(1423) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14843,67 +25358,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDropIndexMethodContext is an interface to support dynamic dispatch. -type IDropIndexMethodContext interface { +// IAnalyzeShardKeyMethodContext is an interface to support dynamic dispatch. +type IAnalyzeShardKeyMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DROP_INDEX() antlr.TerminalNode + ANALYZE_SHARD_KEY() antlr.TerminalNode LPAREN() antlr.TerminalNode - Argument() IArgumentContext + Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsDropIndexMethodContext differentiates from other interfaces. - IsDropIndexMethodContext() + // IsAnalyzeShardKeyMethodContext differentiates from other interfaces. + IsAnalyzeShardKeyMethodContext() } -type DropIndexMethodContext struct { +type AnalyzeShardKeyMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDropIndexMethodContext() *DropIndexMethodContext { - var p = new(DropIndexMethodContext) +func NewEmptyAnalyzeShardKeyMethodContext() *AnalyzeShardKeyMethodContext { + var p = new(AnalyzeShardKeyMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dropIndexMethod + p.RuleIndex = MongoShellParserRULE_analyzeShardKeyMethod return p } -func InitEmptyDropIndexMethodContext(p *DropIndexMethodContext) { +func InitEmptyAnalyzeShardKeyMethodContext(p *AnalyzeShardKeyMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dropIndexMethod + p.RuleIndex = MongoShellParserRULE_analyzeShardKeyMethod } -func (*DropIndexMethodContext) IsDropIndexMethodContext() {} +func (*AnalyzeShardKeyMethodContext) IsAnalyzeShardKeyMethodContext() {} -func NewDropIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropIndexMethodContext { - var p = new(DropIndexMethodContext) +func NewAnalyzeShardKeyMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AnalyzeShardKeyMethodContext { + var p = new(AnalyzeShardKeyMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_dropIndexMethod + p.RuleIndex = MongoShellParserRULE_analyzeShardKeyMethod return p } -func (s *DropIndexMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *AnalyzeShardKeyMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DropIndexMethodContext) DROP_INDEX() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP_INDEX, 0) +func (s *AnalyzeShardKeyMethodContext) ANALYZE_SHARD_KEY() antlr.TerminalNode { + return s.GetToken(MongoShellParserANALYZE_SHARD_KEY, 0) } -func (s *DropIndexMethodContext) LPAREN() antlr.TerminalNode { +func (s *AnalyzeShardKeyMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DropIndexMethodContext) Argument() IArgumentContext { +func (s *AnalyzeShardKeyMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -14913,57 +25428,57 @@ func (s *DropIndexMethodContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *DropIndexMethodContext) RPAREN() antlr.TerminalNode { +func (s *AnalyzeShardKeyMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DropIndexMethodContext) GetRuleContext() antlr.RuleContext { +func (s *AnalyzeShardKeyMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DropIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *AnalyzeShardKeyMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DropIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *AnalyzeShardKeyMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDropIndexMethod(s) + listenerT.EnterAnalyzeShardKeyMethod(s) } } -func (s *DropIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *AnalyzeShardKeyMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDropIndexMethod(s) + listenerT.ExitAnalyzeShardKeyMethod(s) } } -func (s *DropIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *AnalyzeShardKeyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDropIndexMethod(s) + return t.VisitAnalyzeShardKeyMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DropIndexMethod() (localctx IDropIndexMethodContext) { - localctx = NewDropIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 80, MongoShellParserRULE_dropIndexMethod) +func (p *MongoShellParser) AnalyzeShardKeyMethod() (localctx IAnalyzeShardKeyMethodContext) { + localctx = NewAnalyzeShardKeyMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 122, MongoShellParserRULE_analyzeShardKeyMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(860) - p.Match(MongoShellParserDROP_INDEX) + p.SetState(1425) + p.Match(MongoShellParserANALYZE_SHARD_KEY) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(861) + p.SetState(1426) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -14971,11 +25486,11 @@ func (p *MongoShellParser) DropIndexMethod() (localctx IDropIndexMethodContext) } } { - p.SetState(862) - p.Argument() + p.SetState(1427) + p.Arguments() } { - p.SetState(863) + p.SetState(1428) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -14996,71 +25511,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDropIndexesMethodContext is an interface to support dynamic dispatch. -type IDropIndexesMethodContext interface { +// IConfigureQueryAnalyzerMethodContext is an interface to support dynamic dispatch. +type IConfigureQueryAnalyzerMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DROP_INDEXES() antlr.TerminalNode + CONFIGURE_QUERY_ANALYZER() antlr.TerminalNode LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - Argument() IArgumentContext - // IsDropIndexesMethodContext differentiates from other interfaces. - IsDropIndexesMethodContext() + // IsConfigureQueryAnalyzerMethodContext differentiates from other interfaces. + IsConfigureQueryAnalyzerMethodContext() } -type DropIndexesMethodContext struct { +type ConfigureQueryAnalyzerMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDropIndexesMethodContext() *DropIndexesMethodContext { - var p = new(DropIndexesMethodContext) +func NewEmptyConfigureQueryAnalyzerMethodContext() *ConfigureQueryAnalyzerMethodContext { + var p = new(ConfigureQueryAnalyzerMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dropIndexesMethod + p.RuleIndex = MongoShellParserRULE_configureQueryAnalyzerMethod return p } -func InitEmptyDropIndexesMethodContext(p *DropIndexesMethodContext) { +func InitEmptyConfigureQueryAnalyzerMethodContext(p *ConfigureQueryAnalyzerMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dropIndexesMethod + p.RuleIndex = MongoShellParserRULE_configureQueryAnalyzerMethod } -func (*DropIndexesMethodContext) IsDropIndexesMethodContext() {} +func (*ConfigureQueryAnalyzerMethodContext) IsConfigureQueryAnalyzerMethodContext() {} -func NewDropIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropIndexesMethodContext { - var p = new(DropIndexesMethodContext) +func NewConfigureQueryAnalyzerMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConfigureQueryAnalyzerMethodContext { + var p = new(ConfigureQueryAnalyzerMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_dropIndexesMethod + p.RuleIndex = MongoShellParserRULE_configureQueryAnalyzerMethod return p } -func (s *DropIndexesMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *ConfigureQueryAnalyzerMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DropIndexesMethodContext) DROP_INDEXES() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP_INDEXES, 0) +func (s *ConfigureQueryAnalyzerMethodContext) CONFIGURE_QUERY_ANALYZER() antlr.TerminalNode { + return s.GetToken(MongoShellParserCONFIGURE_QUERY_ANALYZER, 0) } -func (s *DropIndexesMethodContext) LPAREN() antlr.TerminalNode { +func (s *ConfigureQueryAnalyzerMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DropIndexesMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *DropIndexesMethodContext) Argument() IArgumentContext { +func (s *ConfigureQueryAnalyzerMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -15070,77 +25581,69 @@ func (s *DropIndexesMethodContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *DropIndexesMethodContext) GetRuleContext() antlr.RuleContext { +func (s *ConfigureQueryAnalyzerMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *ConfigureQueryAnalyzerMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DropIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *ConfigureQueryAnalyzerMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DropIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ConfigureQueryAnalyzerMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDropIndexesMethod(s) + listenerT.EnterConfigureQueryAnalyzerMethod(s) } } -func (s *DropIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ConfigureQueryAnalyzerMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDropIndexesMethod(s) + listenerT.ExitConfigureQueryAnalyzerMethod(s) } } -func (s *DropIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ConfigureQueryAnalyzerMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDropIndexesMethod(s) + return t.VisitConfigureQueryAnalyzerMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DropIndexesMethod() (localctx IDropIndexesMethodContext) { - localctx = NewDropIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 82, MongoShellParserRULE_dropIndexesMethod) - var _la int - +func (p *MongoShellParser) ConfigureQueryAnalyzerMethod() (localctx IConfigureQueryAnalyzerMethodContext) { + localctx = NewConfigureQueryAnalyzerMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 124, MongoShellParserRULE_configureQueryAnalyzerMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(865) - p.Match(MongoShellParserDROP_INDEXES) + p.SetState(1430) + p.Match(MongoShellParserCONFIGURE_QUERY_ANALYZER) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(866) + p.SetState(1431) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(868) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(867) - p.Argument() - } - + { + p.SetState(1432) + p.Arguments() } { - p.SetState(870) + p.SetState(1433) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -15161,71 +25664,72 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDropMethodContext is an interface to support dynamic dispatch. -type IDropMethodContext interface { +// ICompactStructuredEncryptionDataMethodContext is an interface to support dynamic dispatch. +type ICompactStructuredEncryptionDataMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DROP() antlr.TerminalNode + COMPACT_STRUCTURED_ENCRYPTION_DATA() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - Argument() IArgumentContext + Arguments() IArgumentsContext - // IsDropMethodContext differentiates from other interfaces. - IsDropMethodContext() + // IsCompactStructuredEncryptionDataMethodContext differentiates from other interfaces. + IsCompactStructuredEncryptionDataMethodContext() } -type DropMethodContext struct { +type CompactStructuredEncryptionDataMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDropMethodContext() *DropMethodContext { - var p = new(DropMethodContext) +func NewEmptyCompactStructuredEncryptionDataMethodContext() *CompactStructuredEncryptionDataMethodContext { + var p = new(CompactStructuredEncryptionDataMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dropMethod + p.RuleIndex = MongoShellParserRULE_compactStructuredEncryptionDataMethod return p } -func InitEmptyDropMethodContext(p *DropMethodContext) { +func InitEmptyCompactStructuredEncryptionDataMethodContext(p *CompactStructuredEncryptionDataMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dropMethod + p.RuleIndex = MongoShellParserRULE_compactStructuredEncryptionDataMethod } -func (*DropMethodContext) IsDropMethodContext() {} +func (*CompactStructuredEncryptionDataMethodContext) IsCompactStructuredEncryptionDataMethodContext() { +} -func NewDropMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropMethodContext { - var p = new(DropMethodContext) +func NewCompactStructuredEncryptionDataMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CompactStructuredEncryptionDataMethodContext { + var p = new(CompactStructuredEncryptionDataMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_dropMethod + p.RuleIndex = MongoShellParserRULE_compactStructuredEncryptionDataMethod return p } -func (s *DropMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CompactStructuredEncryptionDataMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DropMethodContext) DROP() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP, 0) +func (s *CompactStructuredEncryptionDataMethodContext) COMPACT_STRUCTURED_ENCRYPTION_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA, 0) } -func (s *DropMethodContext) LPAREN() antlr.TerminalNode { +func (s *CompactStructuredEncryptionDataMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DropMethodContext) RPAREN() antlr.TerminalNode { +func (s *CompactStructuredEncryptionDataMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DropMethodContext) Argument() IArgumentContext { +func (s *CompactStructuredEncryptionDataMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -15235,77 +25739,77 @@ func (s *DropMethodContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *DropMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CompactStructuredEncryptionDataMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DropMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CompactStructuredEncryptionDataMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DropMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CompactStructuredEncryptionDataMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDropMethod(s) + listenerT.EnterCompactStructuredEncryptionDataMethod(s) } } -func (s *DropMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CompactStructuredEncryptionDataMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDropMethod(s) + listenerT.ExitCompactStructuredEncryptionDataMethod(s) } } -func (s *DropMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CompactStructuredEncryptionDataMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDropMethod(s) + return t.VisitCompactStructuredEncryptionDataMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DropMethod() (localctx IDropMethodContext) { - localctx = NewDropMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 84, MongoShellParserRULE_dropMethod) +func (p *MongoShellParser) CompactStructuredEncryptionDataMethod() (localctx ICompactStructuredEncryptionDataMethodContext) { + localctx = NewCompactStructuredEncryptionDataMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 126, MongoShellParserRULE_compactStructuredEncryptionDataMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(872) - p.Match(MongoShellParserDROP) + p.SetState(1435) + p.Match(MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(873) + p.SetState(1436) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(875) + p.SetState(1438) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(874) - p.Argument() + p.SetState(1437) + p.Arguments() } } { - p.SetState(877) + p.SetState(1440) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -15326,67 +25830,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IRenameCollectionMethodContext is an interface to support dynamic dispatch. -type IRenameCollectionMethodContext interface { +// IHideIndexMethodContext is an interface to support dynamic dispatch. +type IHideIndexMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - RENAME_COLLECTION() antlr.TerminalNode + HIDE_INDEX() antlr.TerminalNode LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext + Argument() IArgumentContext RPAREN() antlr.TerminalNode - // IsRenameCollectionMethodContext differentiates from other interfaces. - IsRenameCollectionMethodContext() + // IsHideIndexMethodContext differentiates from other interfaces. + IsHideIndexMethodContext() } -type RenameCollectionMethodContext struct { +type HideIndexMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyRenameCollectionMethodContext() *RenameCollectionMethodContext { - var p = new(RenameCollectionMethodContext) +func NewEmptyHideIndexMethodContext() *HideIndexMethodContext { + var p = new(HideIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_renameCollectionMethod + p.RuleIndex = MongoShellParserRULE_hideIndexMethod return p } -func InitEmptyRenameCollectionMethodContext(p *RenameCollectionMethodContext) { +func InitEmptyHideIndexMethodContext(p *HideIndexMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_renameCollectionMethod + p.RuleIndex = MongoShellParserRULE_hideIndexMethod } -func (*RenameCollectionMethodContext) IsRenameCollectionMethodContext() {} +func (*HideIndexMethodContext) IsHideIndexMethodContext() {} -func NewRenameCollectionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RenameCollectionMethodContext { - var p = new(RenameCollectionMethodContext) +func NewHideIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HideIndexMethodContext { + var p = new(HideIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_renameCollectionMethod + p.RuleIndex = MongoShellParserRULE_hideIndexMethod return p } -func (s *RenameCollectionMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *HideIndexMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *RenameCollectionMethodContext) RENAME_COLLECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserRENAME_COLLECTION, 0) +func (s *HideIndexMethodContext) HIDE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserHIDE_INDEX, 0) } -func (s *RenameCollectionMethodContext) LPAREN() antlr.TerminalNode { +func (s *HideIndexMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *RenameCollectionMethodContext) Arguments() IArgumentsContext { +func (s *HideIndexMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IArgumentContext); ok { t = ctx.(antlr.RuleContext) break } @@ -15396,57 +25900,57 @@ func (s *RenameCollectionMethodContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IArgumentContext) } -func (s *RenameCollectionMethodContext) RPAREN() antlr.TerminalNode { +func (s *HideIndexMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *RenameCollectionMethodContext) GetRuleContext() antlr.RuleContext { +func (s *HideIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *RenameCollectionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *HideIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *RenameCollectionMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *HideIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterRenameCollectionMethod(s) + listenerT.EnterHideIndexMethod(s) } } -func (s *RenameCollectionMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *HideIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitRenameCollectionMethod(s) + listenerT.ExitHideIndexMethod(s) } } -func (s *RenameCollectionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *HideIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitRenameCollectionMethod(s) + return t.VisitHideIndexMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) RenameCollectionMethod() (localctx IRenameCollectionMethodContext) { - localctx = NewRenameCollectionMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 86, MongoShellParserRULE_renameCollectionMethod) +func (p *MongoShellParser) HideIndexMethod() (localctx IHideIndexMethodContext) { + localctx = NewHideIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 128, MongoShellParserRULE_hideIndexMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(879) - p.Match(MongoShellParserRENAME_COLLECTION) + p.SetState(1442) + p.Match(MongoShellParserHIDE_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(880) + p.SetState(1443) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -15454,11 +25958,11 @@ func (p *MongoShellParser) RenameCollectionMethod() (localctx IRenameCollectionM } } { - p.SetState(881) - p.Arguments() + p.SetState(1444) + p.Argument() } { - p.SetState(882) + p.SetState(1445) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -15479,68 +25983,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStatsMethodContext is an interface to support dynamic dispatch. -type IStatsMethodContext interface { +// IUnhideIndexMethodContext is an interface to support dynamic dispatch. +type IUnhideIndexMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - STATS() antlr.TerminalNode + UNHIDE_INDEX() antlr.TerminalNode LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode Argument() IArgumentContext + RPAREN() antlr.TerminalNode - // IsStatsMethodContext differentiates from other interfaces. - IsStatsMethodContext() + // IsUnhideIndexMethodContext differentiates from other interfaces. + IsUnhideIndexMethodContext() } -type StatsMethodContext struct { +type UnhideIndexMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStatsMethodContext() *StatsMethodContext { - var p = new(StatsMethodContext) +func NewEmptyUnhideIndexMethodContext() *UnhideIndexMethodContext { + var p = new(UnhideIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_statsMethod + p.RuleIndex = MongoShellParserRULE_unhideIndexMethod return p } -func InitEmptyStatsMethodContext(p *StatsMethodContext) { +func InitEmptyUnhideIndexMethodContext(p *UnhideIndexMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_statsMethod + p.RuleIndex = MongoShellParserRULE_unhideIndexMethod } -func (*StatsMethodContext) IsStatsMethodContext() {} +func (*UnhideIndexMethodContext) IsUnhideIndexMethodContext() {} -func NewStatsMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StatsMethodContext { - var p = new(StatsMethodContext) +func NewUnhideIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UnhideIndexMethodContext { + var p = new(UnhideIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_statsMethod + p.RuleIndex = MongoShellParserRULE_unhideIndexMethod return p } -func (s *StatsMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *UnhideIndexMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *StatsMethodContext) STATS() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTATS, 0) +func (s *UnhideIndexMethodContext) UNHIDE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserUNHIDE_INDEX, 0) } -func (s *StatsMethodContext) LPAREN() antlr.TerminalNode { +func (s *UnhideIndexMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *StatsMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *StatsMethodContext) Argument() IArgumentContext { +func (s *UnhideIndexMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentContext); ok { @@ -15556,74 +26056,66 @@ func (s *StatsMethodContext) Argument() IArgumentContext { return t.(IArgumentContext) } -func (s *StatsMethodContext) GetRuleContext() antlr.RuleContext { +func (s *UnhideIndexMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *UnhideIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *StatsMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *UnhideIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *StatsMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UnhideIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterStatsMethod(s) + listenerT.EnterUnhideIndexMethod(s) } } -func (s *StatsMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UnhideIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitStatsMethod(s) + listenerT.ExitUnhideIndexMethod(s) } } -func (s *StatsMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UnhideIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitStatsMethod(s) + return t.VisitUnhideIndexMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) StatsMethod() (localctx IStatsMethodContext) { - localctx = NewStatsMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 88, MongoShellParserRULE_statsMethod) - var _la int - +func (p *MongoShellParser) UnhideIndexMethod() (localctx IUnhideIndexMethodContext) { + localctx = NewUnhideIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 130, MongoShellParserRULE_unhideIndexMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(884) - p.Match(MongoShellParserSTATS) + p.SetState(1447) + p.Match(MongoShellParserUNHIDE_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(885) + p.SetState(1448) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(887) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(886) - p.Argument() - } - + { + p.SetState(1449) + p.Argument() } { - p.SetState(889) + p.SetState(1450) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -15644,110 +26136,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IStorageSizeMethodContext is an interface to support dynamic dispatch. -type IStorageSizeMethodContext interface { +// IReIndexMethodContext is an interface to support dynamic dispatch. +type IReIndexMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - STORAGE_SIZE() antlr.TerminalNode + RE_INDEX() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - // IsStorageSizeMethodContext differentiates from other interfaces. - IsStorageSizeMethodContext() + // IsReIndexMethodContext differentiates from other interfaces. + IsReIndexMethodContext() } -type StorageSizeMethodContext struct { +type ReIndexMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyStorageSizeMethodContext() *StorageSizeMethodContext { - var p = new(StorageSizeMethodContext) +func NewEmptyReIndexMethodContext() *ReIndexMethodContext { + var p = new(ReIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_storageSizeMethod + p.RuleIndex = MongoShellParserRULE_reIndexMethod return p } -func InitEmptyStorageSizeMethodContext(p *StorageSizeMethodContext) { +func InitEmptyReIndexMethodContext(p *ReIndexMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_storageSizeMethod + p.RuleIndex = MongoShellParserRULE_reIndexMethod } -func (*StorageSizeMethodContext) IsStorageSizeMethodContext() {} +func (*ReIndexMethodContext) IsReIndexMethodContext() {} -func NewStorageSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StorageSizeMethodContext { - var p = new(StorageSizeMethodContext) +func NewReIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReIndexMethodContext { + var p = new(ReIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_storageSizeMethod + p.RuleIndex = MongoShellParserRULE_reIndexMethod return p } -func (s *StorageSizeMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *ReIndexMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *StorageSizeMethodContext) STORAGE_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTORAGE_SIZE, 0) +func (s *ReIndexMethodContext) RE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserRE_INDEX, 0) } -func (s *StorageSizeMethodContext) LPAREN() antlr.TerminalNode { +func (s *ReIndexMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *StorageSizeMethodContext) RPAREN() antlr.TerminalNode { +func (s *ReIndexMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *StorageSizeMethodContext) GetRuleContext() antlr.RuleContext { +func (s *ReIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *StorageSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *ReIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *StorageSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ReIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterStorageSizeMethod(s) + listenerT.EnterReIndexMethod(s) } } -func (s *StorageSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ReIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitStorageSizeMethod(s) + listenerT.ExitReIndexMethod(s) } } -func (s *StorageSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ReIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitStorageSizeMethod(s) + return t.VisitReIndexMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) StorageSizeMethod() (localctx IStorageSizeMethodContext) { - localctx = NewStorageSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 90, MongoShellParserRULE_storageSizeMethod) +func (p *MongoShellParser) ReIndexMethod() (localctx IReIndexMethodContext) { + localctx = NewReIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 132, MongoShellParserRULE_reIndexMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(891) - p.Match(MongoShellParserSTORAGE_SIZE) + p.SetState(1452) + p.Match(MongoShellParserRE_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(892) + p.SetState(1453) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -15755,7 +26247,7 @@ func (p *MongoShellParser) StorageSizeMethod() (localctx IStorageSizeMethodConte } } { - p.SetState(893) + p.SetState(1454) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -15776,110 +26268,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ITotalIndexSizeMethodContext is an interface to support dynamic dispatch. -type ITotalIndexSizeMethodContext interface { +// IGetShardDistributionMethodContext is an interface to support dynamic dispatch. +type IGetShardDistributionMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - TOTAL_INDEX_SIZE() antlr.TerminalNode + GET_SHARD_DISTRIBUTION() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - // IsTotalIndexSizeMethodContext differentiates from other interfaces. - IsTotalIndexSizeMethodContext() + // IsGetShardDistributionMethodContext differentiates from other interfaces. + IsGetShardDistributionMethodContext() } -type TotalIndexSizeMethodContext struct { +type GetShardDistributionMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyTotalIndexSizeMethodContext() *TotalIndexSizeMethodContext { - var p = new(TotalIndexSizeMethodContext) +func NewEmptyGetShardDistributionMethodContext() *GetShardDistributionMethodContext { + var p = new(GetShardDistributionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_totalIndexSizeMethod + p.RuleIndex = MongoShellParserRULE_getShardDistributionMethod return p } -func InitEmptyTotalIndexSizeMethodContext(p *TotalIndexSizeMethodContext) { +func InitEmptyGetShardDistributionMethodContext(p *GetShardDistributionMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_totalIndexSizeMethod + p.RuleIndex = MongoShellParserRULE_getShardDistributionMethod } -func (*TotalIndexSizeMethodContext) IsTotalIndexSizeMethodContext() {} +func (*GetShardDistributionMethodContext) IsGetShardDistributionMethodContext() {} -func NewTotalIndexSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TotalIndexSizeMethodContext { - var p = new(TotalIndexSizeMethodContext) +func NewGetShardDistributionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GetShardDistributionMethodContext { + var p = new(GetShardDistributionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_totalIndexSizeMethod + p.RuleIndex = MongoShellParserRULE_getShardDistributionMethod return p } -func (s *TotalIndexSizeMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *GetShardDistributionMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *TotalIndexSizeMethodContext) TOTAL_INDEX_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTOTAL_INDEX_SIZE, 0) +func (s *GetShardDistributionMethodContext) GET_SHARD_DISTRIBUTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_SHARD_DISTRIBUTION, 0) } -func (s *TotalIndexSizeMethodContext) LPAREN() antlr.TerminalNode { +func (s *GetShardDistributionMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *TotalIndexSizeMethodContext) RPAREN() antlr.TerminalNode { +func (s *GetShardDistributionMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *TotalIndexSizeMethodContext) GetRuleContext() antlr.RuleContext { +func (s *GetShardDistributionMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *TotalIndexSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *GetShardDistributionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *TotalIndexSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *GetShardDistributionMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterTotalIndexSizeMethod(s) + listenerT.EnterGetShardDistributionMethod(s) } } -func (s *TotalIndexSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *GetShardDistributionMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitTotalIndexSizeMethod(s) + listenerT.ExitGetShardDistributionMethod(s) } } -func (s *TotalIndexSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *GetShardDistributionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitTotalIndexSizeMethod(s) + return t.VisitGetShardDistributionMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) TotalIndexSizeMethod() (localctx ITotalIndexSizeMethodContext) { - localctx = NewTotalIndexSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 92, MongoShellParserRULE_totalIndexSizeMethod) +func (p *MongoShellParser) GetShardDistributionMethod() (localctx IGetShardDistributionMethodContext) { + localctx = NewGetShardDistributionMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 134, MongoShellParserRULE_getShardDistributionMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(895) - p.Match(MongoShellParserTOTAL_INDEX_SIZE) + p.SetState(1456) + p.Match(MongoShellParserGET_SHARD_DISTRIBUTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(896) + p.SetState(1457) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -15887,7 +26379,7 @@ func (p *MongoShellParser) TotalIndexSizeMethod() (localctx ITotalIndexSizeMetho } } { - p.SetState(897) + p.SetState(1458) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -15908,110 +26400,110 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ITotalSizeMethodContext is an interface to support dynamic dispatch. -type ITotalSizeMethodContext interface { +// IGetShardVersionMethodContext is an interface to support dynamic dispatch. +type IGetShardVersionMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - TOTAL_SIZE() antlr.TerminalNode + GET_SHARD_VERSION() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode - // IsTotalSizeMethodContext differentiates from other interfaces. - IsTotalSizeMethodContext() + // IsGetShardVersionMethodContext differentiates from other interfaces. + IsGetShardVersionMethodContext() } -type TotalSizeMethodContext struct { +type GetShardVersionMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyTotalSizeMethodContext() *TotalSizeMethodContext { - var p = new(TotalSizeMethodContext) +func NewEmptyGetShardVersionMethodContext() *GetShardVersionMethodContext { + var p = new(GetShardVersionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_totalSizeMethod + p.RuleIndex = MongoShellParserRULE_getShardVersionMethod return p } -func InitEmptyTotalSizeMethodContext(p *TotalSizeMethodContext) { +func InitEmptyGetShardVersionMethodContext(p *GetShardVersionMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_totalSizeMethod + p.RuleIndex = MongoShellParserRULE_getShardVersionMethod } -func (*TotalSizeMethodContext) IsTotalSizeMethodContext() {} +func (*GetShardVersionMethodContext) IsGetShardVersionMethodContext() {} -func NewTotalSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TotalSizeMethodContext { - var p = new(TotalSizeMethodContext) +func NewGetShardVersionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GetShardVersionMethodContext { + var p = new(GetShardVersionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_totalSizeMethod + p.RuleIndex = MongoShellParserRULE_getShardVersionMethod return p } -func (s *TotalSizeMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *GetShardVersionMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *TotalSizeMethodContext) TOTAL_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTOTAL_SIZE, 0) +func (s *GetShardVersionMethodContext) GET_SHARD_VERSION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_SHARD_VERSION, 0) } -func (s *TotalSizeMethodContext) LPAREN() antlr.TerminalNode { +func (s *GetShardVersionMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *TotalSizeMethodContext) RPAREN() antlr.TerminalNode { +func (s *GetShardVersionMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *TotalSizeMethodContext) GetRuleContext() antlr.RuleContext { +func (s *GetShardVersionMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *TotalSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *GetShardVersionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *TotalSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *GetShardVersionMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterTotalSizeMethod(s) + listenerT.EnterGetShardVersionMethod(s) } } -func (s *TotalSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *GetShardVersionMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitTotalSizeMethod(s) + listenerT.ExitGetShardVersionMethod(s) } } -func (s *TotalSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *GetShardVersionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitTotalSizeMethod(s) + return t.VisitGetShardVersionMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) TotalSizeMethod() (localctx ITotalSizeMethodContext) { - localctx = NewTotalSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 94, MongoShellParserRULE_totalSizeMethod) +func (p *MongoShellParser) GetShardVersionMethod() (localctx IGetShardVersionMethodContext) { + localctx = NewGetShardVersionMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 136, MongoShellParserRULE_getShardVersionMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(899) - p.Match(MongoShellParserTOTAL_SIZE) + p.SetState(1460) + p.Match(MongoShellParserGET_SHARD_VERSION) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(900) + p.SetState(1461) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -16019,7 +26511,7 @@ func (p *MongoShellParser) TotalSizeMethod() (localctx ITotalSizeMethodContext) } } { - p.SetState(901) + p.SetState(1462) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -16040,110 +26532,127 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDataSizeMethodContext is an interface to support dynamic dispatch. -type IDataSizeMethodContext interface { +// ICreateSearchIndexMethodContext is an interface to support dynamic dispatch. +type ICreateSearchIndexMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DATA_SIZE() antlr.TerminalNode + CREATE_SEARCH_INDEX() antlr.TerminalNode LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsDataSizeMethodContext differentiates from other interfaces. - IsDataSizeMethodContext() + // IsCreateSearchIndexMethodContext differentiates from other interfaces. + IsCreateSearchIndexMethodContext() } -type DataSizeMethodContext struct { +type CreateSearchIndexMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDataSizeMethodContext() *DataSizeMethodContext { - var p = new(DataSizeMethodContext) +func NewEmptyCreateSearchIndexMethodContext() *CreateSearchIndexMethodContext { + var p = new(CreateSearchIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dataSizeMethod + p.RuleIndex = MongoShellParserRULE_createSearchIndexMethod return p } -func InitEmptyDataSizeMethodContext(p *DataSizeMethodContext) { +func InitEmptyCreateSearchIndexMethodContext(p *CreateSearchIndexMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dataSizeMethod + p.RuleIndex = MongoShellParserRULE_createSearchIndexMethod } -func (*DataSizeMethodContext) IsDataSizeMethodContext() {} +func (*CreateSearchIndexMethodContext) IsCreateSearchIndexMethodContext() {} -func NewDataSizeMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DataSizeMethodContext { - var p = new(DataSizeMethodContext) +func NewCreateSearchIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateSearchIndexMethodContext { + var p = new(CreateSearchIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_dataSizeMethod + p.RuleIndex = MongoShellParserRULE_createSearchIndexMethod return p } -func (s *DataSizeMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CreateSearchIndexMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *DataSizeMethodContext) DATA_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDATA_SIZE, 0) +func (s *CreateSearchIndexMethodContext) CREATE_SEARCH_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_SEARCH_INDEX, 0) } -func (s *DataSizeMethodContext) LPAREN() antlr.TerminalNode { +func (s *CreateSearchIndexMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DataSizeMethodContext) RPAREN() antlr.TerminalNode { +func (s *CreateSearchIndexMethodContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *CreateSearchIndexMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DataSizeMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CreateSearchIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DataSizeMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CreateSearchIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DataSizeMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CreateSearchIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDataSizeMethod(s) + listenerT.EnterCreateSearchIndexMethod(s) } } -func (s *DataSizeMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CreateSearchIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDataSizeMethod(s) + listenerT.ExitCreateSearchIndexMethod(s) } } -func (s *DataSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CreateSearchIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDataSizeMethod(s) + return t.VisitCreateSearchIndexMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DataSizeMethod() (localctx IDataSizeMethodContext) { - localctx = NewDataSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 96, MongoShellParserRULE_dataSizeMethod) +func (p *MongoShellParser) CreateSearchIndexMethod() (localctx ICreateSearchIndexMethodContext) { + localctx = NewCreateSearchIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 138, MongoShellParserRULE_createSearchIndexMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(903) - p.Match(MongoShellParserDATA_SIZE) + p.SetState(1464) + p.Match(MongoShellParserCREATE_SEARCH_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(904) + p.SetState(1465) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -16151,7 +26660,11 @@ func (p *MongoShellParser) DataSizeMethod() (localctx IDataSizeMethodContext) { } } { - p.SetState(905) + p.SetState(1466) + p.Arguments() + } + { + p.SetState(1467) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -16172,110 +26685,127 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IIsCappedMethodContext is an interface to support dynamic dispatch. -type IIsCappedMethodContext interface { +// ICreateSearchIndexesMethodContext is an interface to support dynamic dispatch. +type ICreateSearchIndexesMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - IS_CAPPED() antlr.TerminalNode + CREATE_SEARCH_INDEXES() antlr.TerminalNode LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - // IsIsCappedMethodContext differentiates from other interfaces. - IsIsCappedMethodContext() + // IsCreateSearchIndexesMethodContext differentiates from other interfaces. + IsCreateSearchIndexesMethodContext() } -type IsCappedMethodContext struct { +type CreateSearchIndexesMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyIsCappedMethodContext() *IsCappedMethodContext { - var p = new(IsCappedMethodContext) +func NewEmptyCreateSearchIndexesMethodContext() *CreateSearchIndexesMethodContext { + var p = new(CreateSearchIndexesMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_isCappedMethod + p.RuleIndex = MongoShellParserRULE_createSearchIndexesMethod return p } -func InitEmptyIsCappedMethodContext(p *IsCappedMethodContext) { +func InitEmptyCreateSearchIndexesMethodContext(p *CreateSearchIndexesMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_isCappedMethod + p.RuleIndex = MongoShellParserRULE_createSearchIndexesMethod } -func (*IsCappedMethodContext) IsIsCappedMethodContext() {} +func (*CreateSearchIndexesMethodContext) IsCreateSearchIndexesMethodContext() {} -func NewIsCappedMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IsCappedMethodContext { - var p = new(IsCappedMethodContext) +func NewCreateSearchIndexesMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CreateSearchIndexesMethodContext { + var p = new(CreateSearchIndexesMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_isCappedMethod + p.RuleIndex = MongoShellParserRULE_createSearchIndexesMethod return p } -func (s *IsCappedMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *CreateSearchIndexesMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *IsCappedMethodContext) IS_CAPPED() antlr.TerminalNode { - return s.GetToken(MongoShellParserIS_CAPPED, 0) +func (s *CreateSearchIndexesMethodContext) CREATE_SEARCH_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_SEARCH_INDEXES, 0) } -func (s *IsCappedMethodContext) LPAREN() antlr.TerminalNode { +func (s *CreateSearchIndexesMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *IsCappedMethodContext) RPAREN() antlr.TerminalNode { +func (s *CreateSearchIndexesMethodContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IArgumentsContext) +} + +func (s *CreateSearchIndexesMethodContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *IsCappedMethodContext) GetRuleContext() antlr.RuleContext { +func (s *CreateSearchIndexesMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *IsCappedMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *CreateSearchIndexesMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *IsCappedMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *CreateSearchIndexesMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterIsCappedMethod(s) + listenerT.EnterCreateSearchIndexesMethod(s) } } -func (s *IsCappedMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *CreateSearchIndexesMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitIsCappedMethod(s) + listenerT.ExitCreateSearchIndexesMethod(s) } } -func (s *IsCappedMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *CreateSearchIndexesMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitIsCappedMethod(s) + return t.VisitCreateSearchIndexesMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) IsCappedMethod() (localctx IIsCappedMethodContext) { - localctx = NewIsCappedMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 98, MongoShellParserRULE_isCappedMethod) +func (p *MongoShellParser) CreateSearchIndexesMethod() (localctx ICreateSearchIndexesMethodContext) { + localctx = NewCreateSearchIndexesMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 140, MongoShellParserRULE_createSearchIndexesMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(907) - p.Match(MongoShellParserIS_CAPPED) + p.SetState(1469) + p.Match(MongoShellParserCREATE_SEARCH_INDEXES) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(908) + p.SetState(1470) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -16283,7 +26813,11 @@ func (p *MongoShellParser) IsCappedMethod() (localctx IIsCappedMethodContext) { } } { - p.SetState(909) + p.SetState(1471) + p.Arguments() + } + { + p.SetState(1472) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -16304,68 +26838,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IValidateMethodContext is an interface to support dynamic dispatch. -type IValidateMethodContext interface { +// IDropSearchIndexMethodContext is an interface to support dynamic dispatch. +type IDropSearchIndexMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - VALIDATE() antlr.TerminalNode + DROP_SEARCH_INDEX() antlr.TerminalNode LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode Argument() IArgumentContext + RPAREN() antlr.TerminalNode - // IsValidateMethodContext differentiates from other interfaces. - IsValidateMethodContext() + // IsDropSearchIndexMethodContext differentiates from other interfaces. + IsDropSearchIndexMethodContext() } -type ValidateMethodContext struct { +type DropSearchIndexMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyValidateMethodContext() *ValidateMethodContext { - var p = new(ValidateMethodContext) +func NewEmptyDropSearchIndexMethodContext() *DropSearchIndexMethodContext { + var p = new(DropSearchIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_validateMethod + p.RuleIndex = MongoShellParserRULE_dropSearchIndexMethod return p } -func InitEmptyValidateMethodContext(p *ValidateMethodContext) { +func InitEmptyDropSearchIndexMethodContext(p *DropSearchIndexMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_validateMethod + p.RuleIndex = MongoShellParserRULE_dropSearchIndexMethod } -func (*ValidateMethodContext) IsValidateMethodContext() {} +func (*DropSearchIndexMethodContext) IsDropSearchIndexMethodContext() {} -func NewValidateMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ValidateMethodContext { - var p = new(ValidateMethodContext) +func NewDropSearchIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DropSearchIndexMethodContext { + var p = new(DropSearchIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_validateMethod + p.RuleIndex = MongoShellParserRULE_dropSearchIndexMethod return p } -func (s *ValidateMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *DropSearchIndexMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *ValidateMethodContext) VALIDATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserVALIDATE, 0) +func (s *DropSearchIndexMethodContext) DROP_SEARCH_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_SEARCH_INDEX, 0) } -func (s *ValidateMethodContext) LPAREN() antlr.TerminalNode { +func (s *DropSearchIndexMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ValidateMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *ValidateMethodContext) Argument() IArgumentContext { +func (s *DropSearchIndexMethodContext) Argument() IArgumentContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IArgumentContext); ok { @@ -16381,74 +26911,66 @@ func (s *ValidateMethodContext) Argument() IArgumentContext { return t.(IArgumentContext) } -func (s *ValidateMethodContext) GetRuleContext() antlr.RuleContext { +func (s *DropSearchIndexMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DropSearchIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ValidateMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DropSearchIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *ValidateMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DropSearchIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterValidateMethod(s) + listenerT.EnterDropSearchIndexMethod(s) } } -func (s *ValidateMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DropSearchIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitValidateMethod(s) + listenerT.ExitDropSearchIndexMethod(s) } } -func (s *ValidateMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DropSearchIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitValidateMethod(s) + return t.VisitDropSearchIndexMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) ValidateMethod() (localctx IValidateMethodContext) { - localctx = NewValidateMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 100, MongoShellParserRULE_validateMethod) - var _la int - +func (p *MongoShellParser) DropSearchIndexMethod() (localctx IDropSearchIndexMethodContext) { + localctx = NewDropSearchIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 142, MongoShellParserRULE_dropSearchIndexMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(911) - p.Match(MongoShellParserVALIDATE) + p.SetState(1474) + p.Match(MongoShellParserDROP_SEARCH_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(912) + p.SetState(1475) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(914) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(913) - p.Argument() - } - + { + p.SetState(1476) + p.Argument() } { - p.SetState(916) + p.SetState(1477) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -16469,71 +26991,67 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ILatencyStatsMethodContext is an interface to support dynamic dispatch. -type ILatencyStatsMethodContext interface { +// IUpdateSearchIndexMethodContext is an interface to support dynamic dispatch. +type IUpdateSearchIndexMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - LATENCY_STATS() antlr.TerminalNode + UPDATE_SEARCH_INDEX() antlr.TerminalNode LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - Argument() IArgumentContext - // IsLatencyStatsMethodContext differentiates from other interfaces. - IsLatencyStatsMethodContext() + // IsUpdateSearchIndexMethodContext differentiates from other interfaces. + IsUpdateSearchIndexMethodContext() } -type LatencyStatsMethodContext struct { +type UpdateSearchIndexMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyLatencyStatsMethodContext() *LatencyStatsMethodContext { - var p = new(LatencyStatsMethodContext) +func NewEmptyUpdateSearchIndexMethodContext() *UpdateSearchIndexMethodContext { + var p = new(UpdateSearchIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_latencyStatsMethod + p.RuleIndex = MongoShellParserRULE_updateSearchIndexMethod return p } -func InitEmptyLatencyStatsMethodContext(p *LatencyStatsMethodContext) { +func InitEmptyUpdateSearchIndexMethodContext(p *UpdateSearchIndexMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_latencyStatsMethod + p.RuleIndex = MongoShellParserRULE_updateSearchIndexMethod } -func (*LatencyStatsMethodContext) IsLatencyStatsMethodContext() {} +func (*UpdateSearchIndexMethodContext) IsUpdateSearchIndexMethodContext() {} -func NewLatencyStatsMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LatencyStatsMethodContext { - var p = new(LatencyStatsMethodContext) +func NewUpdateSearchIndexMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UpdateSearchIndexMethodContext { + var p = new(UpdateSearchIndexMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_latencyStatsMethod + p.RuleIndex = MongoShellParserRULE_updateSearchIndexMethod return p } -func (s *LatencyStatsMethodContext) GetParser() antlr.Parser { return s.parser } +func (s *UpdateSearchIndexMethodContext) GetParser() antlr.Parser { return s.parser } -func (s *LatencyStatsMethodContext) LATENCY_STATS() antlr.TerminalNode { - return s.GetToken(MongoShellParserLATENCY_STATS, 0) +func (s *UpdateSearchIndexMethodContext) UPDATE_SEARCH_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_SEARCH_INDEX, 0) } -func (s *LatencyStatsMethodContext) LPAREN() antlr.TerminalNode { +func (s *UpdateSearchIndexMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *LatencyStatsMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *LatencyStatsMethodContext) Argument() IArgumentContext { +func (s *UpdateSearchIndexMethodContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -16543,77 +27061,69 @@ func (s *LatencyStatsMethodContext) Argument() IArgumentContext { return nil } - return t.(IArgumentContext) + return t.(IArgumentsContext) } -func (s *LatencyStatsMethodContext) GetRuleContext() antlr.RuleContext { +func (s *UpdateSearchIndexMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *UpdateSearchIndexMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *LatencyStatsMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *UpdateSearchIndexMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *LatencyStatsMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UpdateSearchIndexMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterLatencyStatsMethod(s) + listenerT.EnterUpdateSearchIndexMethod(s) } } -func (s *LatencyStatsMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UpdateSearchIndexMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitLatencyStatsMethod(s) + listenerT.ExitUpdateSearchIndexMethod(s) } } -func (s *LatencyStatsMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UpdateSearchIndexMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitLatencyStatsMethod(s) + return t.VisitUpdateSearchIndexMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) LatencyStatsMethod() (localctx ILatencyStatsMethodContext) { - localctx = NewLatencyStatsMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 102, MongoShellParserRULE_latencyStatsMethod) - var _la int - +func (p *MongoShellParser) UpdateSearchIndexMethod() (localctx IUpdateSearchIndexMethodContext) { + localctx = NewUpdateSearchIndexMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 144, MongoShellParserRULE_updateSearchIndexMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(918) - p.Match(MongoShellParserLATENCY_STATS) + p.SetState(1479) + p.Match(MongoShellParserUPDATE_SEARCH_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(919) + p.SetState(1480) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(921) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(920) - p.Argument() - } - + { + p.SetState(1481) + p.Arguments() } { - p.SetState(923) + p.SetState(1482) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -16743,12 +27253,12 @@ func (s *SortMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) SortMethod() (localctx ISortMethodContext) { localctx = NewSortMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 104, MongoShellParserRULE_sortMethod) + p.EnterRule(localctx, 146, MongoShellParserRULE_sortMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(925) + p.SetState(1484) p.Match(MongoShellParserSORT) if p.HasError() { // Recognition error - abort rule @@ -16756,14 +27266,14 @@ func (p *MongoShellParser) SortMethod() (localctx ISortMethodContext) { } } { - p.SetState(926) + p.SetState(1485) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(928) + p.SetState(1487) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -16772,13 +27282,13 @@ func (p *MongoShellParser) SortMethod() (localctx ISortMethodContext) { if _la == MongoShellParserLBRACE { { - p.SetState(927) + p.SetState(1486) p.Document() } } { - p.SetState(930) + p.SetState(1489) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -16896,10 +27406,10 @@ func (s *LimitMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *MongoShellParser) LimitMethod() (localctx ILimitMethodContext) { localctx = NewLimitMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 106, MongoShellParserRULE_limitMethod) + p.EnterRule(localctx, 148, MongoShellParserRULE_limitMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(932) + p.SetState(1491) p.Match(MongoShellParserLIMIT) if p.HasError() { // Recognition error - abort rule @@ -16907,7 +27417,7 @@ func (p *MongoShellParser) LimitMethod() (localctx ILimitMethodContext) { } } { - p.SetState(933) + p.SetState(1492) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -16915,7 +27425,7 @@ func (p *MongoShellParser) LimitMethod() (localctx ILimitMethodContext) { } } { - p.SetState(934) + p.SetState(1493) p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule @@ -16923,7 +27433,7 @@ func (p *MongoShellParser) LimitMethod() (localctx ILimitMethodContext) { } } { - p.SetState(935) + p.SetState(1494) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17041,10 +27551,10 @@ func (s *SkipMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) SkipMethod() (localctx ISkipMethodContext) { localctx = NewSkipMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 108, MongoShellParserRULE_skipMethod) + p.EnterRule(localctx, 150, MongoShellParserRULE_skipMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(937) + p.SetState(1496) p.Match(MongoShellParserSKIP_) if p.HasError() { // Recognition error - abort rule @@ -17052,7 +27562,7 @@ func (p *MongoShellParser) SkipMethod() (localctx ISkipMethodContext) { } } { - p.SetState(938) + p.SetState(1497) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -17060,7 +27570,7 @@ func (p *MongoShellParser) SkipMethod() (localctx ISkipMethodContext) { } } { - p.SetState(939) + p.SetState(1498) p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule @@ -17068,7 +27578,7 @@ func (p *MongoShellParser) SkipMethod() (localctx ISkipMethodContext) { } } { - p.SetState(940) + p.SetState(1499) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17181,10 +27691,10 @@ func (s *CountMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *MongoShellParser) CountMethod() (localctx ICountMethodContext) { localctx = NewCountMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 110, MongoShellParserRULE_countMethod) + p.EnterRule(localctx, 152, MongoShellParserRULE_countMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(942) + p.SetState(1501) p.Match(MongoShellParserCOUNT) if p.HasError() { // Recognition error - abort rule @@ -17192,7 +27702,7 @@ func (p *MongoShellParser) CountMethod() (localctx ICountMethodContext) { } } { - p.SetState(943) + p.SetState(1502) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -17200,7 +27710,7 @@ func (p *MongoShellParser) CountMethod() (localctx ICountMethodContext) { } } { - p.SetState(944) + p.SetState(1503) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17335,12 +27845,12 @@ func (s *ProjectionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interfa func (p *MongoShellParser) ProjectionMethod() (localctx IProjectionMethodContext) { localctx = NewProjectionMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 112, MongoShellParserRULE_projectionMethod) + p.EnterRule(localctx, 154, MongoShellParserRULE_projectionMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(946) + p.SetState(1505) _la = p.GetTokenStream().LA(1) if !(_la == MongoShellParserPROJECTION || _la == MongoShellParserPROJECT) { @@ -17351,14 +27861,14 @@ func (p *MongoShellParser) ProjectionMethod() (localctx IProjectionMethodContext } } { - p.SetState(947) + p.SetState(1506) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(949) + p.SetState(1508) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -17367,13 +27877,13 @@ func (p *MongoShellParser) ProjectionMethod() (localctx IProjectionMethodContext if _la == MongoShellParserLBRACE { { - p.SetState(948) + p.SetState(1507) p.Document() } } { - p.SetState(951) + p.SetState(1510) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17491,10 +28001,10 @@ func (s *BatchSizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *MongoShellParser) BatchSizeMethod() (localctx IBatchSizeMethodContext) { localctx = NewBatchSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 114, MongoShellParserRULE_batchSizeMethod) + p.EnterRule(localctx, 156, MongoShellParserRULE_batchSizeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(953) + p.SetState(1512) p.Match(MongoShellParserBATCH_SIZE) if p.HasError() { // Recognition error - abort rule @@ -17502,7 +28012,7 @@ func (p *MongoShellParser) BatchSizeMethod() (localctx IBatchSizeMethodContext) } } { - p.SetState(954) + p.SetState(1513) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -17510,7 +28020,7 @@ func (p *MongoShellParser) BatchSizeMethod() (localctx IBatchSizeMethodContext) } } { - p.SetState(955) + p.SetState(1514) p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule @@ -17518,7 +28028,7 @@ func (p *MongoShellParser) BatchSizeMethod() (localctx IBatchSizeMethodContext) } } { - p.SetState(956) + p.SetState(1515) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17631,10 +28141,10 @@ func (s *CloseMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *MongoShellParser) CloseMethod() (localctx ICloseMethodContext) { localctx = NewCloseMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 116, MongoShellParserRULE_closeMethod) + p.EnterRule(localctx, 158, MongoShellParserRULE_closeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(958) + p.SetState(1517) p.Match(MongoShellParserCLOSE) if p.HasError() { // Recognition error - abort rule @@ -17642,7 +28152,7 @@ func (p *MongoShellParser) CloseMethod() (localctx ICloseMethodContext) { } } { - p.SetState(959) + p.SetState(1518) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -17650,7 +28160,7 @@ func (p *MongoShellParser) CloseMethod() (localctx ICloseMethodContext) { } } { - p.SetState(960) + p.SetState(1519) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17780,12 +28290,12 @@ func (s *CollationMethodContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *MongoShellParser) CollationMethod() (localctx ICollationMethodContext) { localctx = NewCollationMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 118, MongoShellParserRULE_collationMethod) + p.EnterRule(localctx, 160, MongoShellParserRULE_collationMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(962) + p.SetState(1521) p.Match(MongoShellParserCOLLATION) if p.HasError() { // Recognition error - abort rule @@ -17793,14 +28303,14 @@ func (p *MongoShellParser) CollationMethod() (localctx ICollationMethodContext) } } { - p.SetState(963) + p.SetState(1522) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(965) + p.SetState(1524) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -17809,13 +28319,13 @@ func (p *MongoShellParser) CollationMethod() (localctx ICollationMethodContext) if _la == MongoShellParserLBRACE { { - p.SetState(964) + p.SetState(1523) p.Document() } } { - p.SetState(967) + p.SetState(1526) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -17945,12 +28455,12 @@ func (s *CommentMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) CommentMethod() (localctx ICommentMethodContext) { localctx = NewCommentMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 120, MongoShellParserRULE_commentMethod) + p.EnterRule(localctx, 162, MongoShellParserRULE_commentMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(969) + p.SetState(1528) p.Match(MongoShellParserCOMMENT) if p.HasError() { // Recognition error - abort rule @@ -17958,14 +28468,14 @@ func (p *MongoShellParser) CommentMethod() (localctx ICommentMethodContext) { } } { - p.SetState(970) + p.SetState(1529) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(972) + p.SetState(1531) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -17974,13 +28484,13 @@ func (p *MongoShellParser) CommentMethod() (localctx ICommentMethodContext) { if _la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING { { - p.SetState(971) + p.SetState(1530) p.StringLiteral() } } { - p.SetState(974) + p.SetState(1533) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18110,12 +28620,12 @@ func (s *ExplainMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) ExplainMethod() (localctx IExplainMethodContext) { localctx = NewExplainMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 122, MongoShellParserRULE_explainMethod) + p.EnterRule(localctx, 164, MongoShellParserRULE_explainMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(976) + p.SetState(1535) p.Match(MongoShellParserEXPLAIN) if p.HasError() { // Recognition error - abort rule @@ -18123,14 +28633,14 @@ func (p *MongoShellParser) ExplainMethod() (localctx IExplainMethodContext) { } } { - p.SetState(977) + p.SetState(1536) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(979) + p.SetState(1538) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -18139,13 +28649,13 @@ func (p *MongoShellParser) ExplainMethod() (localctx IExplainMethodContext) { if _la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING { { - p.SetState(978) + p.SetState(1537) p.StringLiteral() } } { - p.SetState(981) + p.SetState(1540) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18275,10 +28785,10 @@ func (s *ForEachMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) ForEachMethod() (localctx IForEachMethodContext) { localctx = NewForEachMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 124, MongoShellParserRULE_forEachMethod) + p.EnterRule(localctx, 166, MongoShellParserRULE_forEachMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(983) + p.SetState(1542) p.Match(MongoShellParserFOR_EACH) if p.HasError() { // Recognition error - abort rule @@ -18286,7 +28796,7 @@ func (p *MongoShellParser) ForEachMethod() (localctx IForEachMethodContext) { } } { - p.SetState(984) + p.SetState(1543) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -18294,11 +28804,11 @@ func (p *MongoShellParser) ForEachMethod() (localctx IForEachMethodContext) { } } { - p.SetState(985) + p.SetState(1544) p.Argument() } { - p.SetState(986) + p.SetState(1545) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18411,10 +28921,10 @@ func (s *HasNextMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) HasNextMethod() (localctx IHasNextMethodContext) { localctx = NewHasNextMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 126, MongoShellParserRULE_hasNextMethod) + p.EnterRule(localctx, 168, MongoShellParserRULE_hasNextMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(988) + p.SetState(1547) p.Match(MongoShellParserHAS_NEXT) if p.HasError() { // Recognition error - abort rule @@ -18422,7 +28932,7 @@ func (p *MongoShellParser) HasNextMethod() (localctx IHasNextMethodContext) { } } { - p.SetState(989) + p.SetState(1548) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -18430,7 +28940,7 @@ func (p *MongoShellParser) HasNextMethod() (localctx IHasNextMethodContext) { } } { - p.SetState(990) + p.SetState(1549) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18560,12 +29070,12 @@ func (s *HintMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) HintMethod() (localctx IHintMethodContext) { localctx = NewHintMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 128, MongoShellParserRULE_hintMethod) + p.EnterRule(localctx, 170, MongoShellParserRULE_hintMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(992) + p.SetState(1551) p.Match(MongoShellParserHINT) if p.HasError() { // Recognition error - abort rule @@ -18573,29 +29083,29 @@ func (p *MongoShellParser) HintMethod() (localctx IHintMethodContext) { } } { - p.SetState(993) + p.SetState(1552) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(995) + p.SetState(1554) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(994) + p.SetState(1553) p.Argument() } } { - p.SetState(997) + p.SetState(1556) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18708,10 +29218,10 @@ func (s *IsClosedMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *MongoShellParser) IsClosedMethod() (localctx IIsClosedMethodContext) { localctx = NewIsClosedMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 130, MongoShellParserRULE_isClosedMethod) + p.EnterRule(localctx, 172, MongoShellParserRULE_isClosedMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(999) + p.SetState(1558) p.Match(MongoShellParserIS_CLOSED) if p.HasError() { // Recognition error - abort rule @@ -18719,7 +29229,7 @@ func (p *MongoShellParser) IsClosedMethod() (localctx IIsClosedMethodContext) { } } { - p.SetState(1000) + p.SetState(1559) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -18727,7 +29237,7 @@ func (p *MongoShellParser) IsClosedMethod() (localctx IIsClosedMethodContext) { } } { - p.SetState(1001) + p.SetState(1560) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18840,10 +29350,10 @@ func (s *IsExhaustedMethodContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *MongoShellParser) IsExhaustedMethod() (localctx IIsExhaustedMethodContext) { localctx = NewIsExhaustedMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 132, MongoShellParserRULE_isExhaustedMethod) + p.EnterRule(localctx, 174, MongoShellParserRULE_isExhaustedMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1003) + p.SetState(1562) p.Match(MongoShellParserIS_EXHAUSTED) if p.HasError() { // Recognition error - abort rule @@ -18851,7 +29361,7 @@ func (p *MongoShellParser) IsExhaustedMethod() (localctx IIsExhaustedMethodConte } } { - p.SetState(1004) + p.SetState(1563) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -18859,7 +29369,7 @@ func (p *MongoShellParser) IsExhaustedMethod() (localctx IIsExhaustedMethodConte } } { - p.SetState(1005) + p.SetState(1564) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -18972,10 +29482,10 @@ func (s *ItcountMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) ItcountMethod() (localctx IItcountMethodContext) { localctx = NewItcountMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 134, MongoShellParserRULE_itcountMethod) + p.EnterRule(localctx, 176, MongoShellParserRULE_itcountMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1007) + p.SetState(1566) p.Match(MongoShellParserIT_COUNT) if p.HasError() { // Recognition error - abort rule @@ -18983,7 +29493,7 @@ func (p *MongoShellParser) ItcountMethod() (localctx IItcountMethodContext) { } } { - p.SetState(1008) + p.SetState(1567) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -18991,7 +29501,7 @@ func (p *MongoShellParser) ItcountMethod() (localctx IItcountMethodContext) { } } { - p.SetState(1009) + p.SetState(1568) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -19121,10 +29631,10 @@ func (s *MapMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) MapMethod() (localctx IMapMethodContext) { localctx = NewMapMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 136, MongoShellParserRULE_mapMethod) + p.EnterRule(localctx, 178, MongoShellParserRULE_mapMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1011) + p.SetState(1570) p.Match(MongoShellParserMAP) if p.HasError() { // Recognition error - abort rule @@ -19132,7 +29642,7 @@ func (p *MongoShellParser) MapMethod() (localctx IMapMethodContext) { } } { - p.SetState(1012) + p.SetState(1571) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -19140,11 +29650,11 @@ func (p *MongoShellParser) MapMethod() (localctx IMapMethodContext) { } } { - p.SetState(1013) + p.SetState(1572) p.Argument() } { - p.SetState(1014) + p.SetState(1573) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -19274,12 +29784,12 @@ func (s *MaxMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) MaxMethod() (localctx IMaxMethodContext) { localctx = NewMaxMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 138, MongoShellParserRULE_maxMethod) + p.EnterRule(localctx, 180, MongoShellParserRULE_maxMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1016) + p.SetState(1575) p.Match(MongoShellParserMAX) if p.HasError() { // Recognition error - abort rule @@ -19287,14 +29797,14 @@ func (p *MongoShellParser) MaxMethod() (localctx IMaxMethodContext) { } } { - p.SetState(1017) + p.SetState(1576) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1019) + p.SetState(1578) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -19303,13 +29813,13 @@ func (p *MongoShellParser) MaxMethod() (localctx IMaxMethodContext) { if _la == MongoShellParserLBRACE { { - p.SetState(1018) + p.SetState(1577) p.Document() } } { - p.SetState(1021) + p.SetState(1580) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -19427,10 +29937,10 @@ func (s *MaxAwaitTimeMSMethodContext) Accept(visitor antlr.ParseTreeVisitor) int func (p *MongoShellParser) MaxAwaitTimeMSMethod() (localctx IMaxAwaitTimeMSMethodContext) { localctx = NewMaxAwaitTimeMSMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 140, MongoShellParserRULE_maxAwaitTimeMSMethod) + p.EnterRule(localctx, 182, MongoShellParserRULE_maxAwaitTimeMSMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1023) + p.SetState(1582) p.Match(MongoShellParserMAX_AWAIT_TIME_MS) if p.HasError() { // Recognition error - abort rule @@ -19438,7 +29948,7 @@ func (p *MongoShellParser) MaxAwaitTimeMSMethod() (localctx IMaxAwaitTimeMSMetho } } { - p.SetState(1024) + p.SetState(1583) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -19446,7 +29956,7 @@ func (p *MongoShellParser) MaxAwaitTimeMSMethod() (localctx IMaxAwaitTimeMSMetho } } { - p.SetState(1025) + p.SetState(1584) p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule @@ -19454,7 +29964,7 @@ func (p *MongoShellParser) MaxAwaitTimeMSMethod() (localctx IMaxAwaitTimeMSMetho } } { - p.SetState(1026) + p.SetState(1585) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -19572,10 +30082,10 @@ func (s *MaxTimeMSMethodContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *MongoShellParser) MaxTimeMSMethod() (localctx IMaxTimeMSMethodContext) { localctx = NewMaxTimeMSMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 142, MongoShellParserRULE_maxTimeMSMethod) + p.EnterRule(localctx, 184, MongoShellParserRULE_maxTimeMSMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1028) + p.SetState(1587) p.Match(MongoShellParserMAX_TIME_MS) if p.HasError() { // Recognition error - abort rule @@ -19583,7 +30093,7 @@ func (p *MongoShellParser) MaxTimeMSMethod() (localctx IMaxTimeMSMethodContext) } } { - p.SetState(1029) + p.SetState(1588) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -19591,7 +30101,7 @@ func (p *MongoShellParser) MaxTimeMSMethod() (localctx IMaxTimeMSMethodContext) } } { - p.SetState(1030) + p.SetState(1589) p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule @@ -19599,7 +30109,7 @@ func (p *MongoShellParser) MaxTimeMSMethod() (localctx IMaxTimeMSMethodContext) } } { - p.SetState(1031) + p.SetState(1590) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -19729,12 +30239,12 @@ func (s *MinMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) MinMethod() (localctx IMinMethodContext) { localctx = NewMinMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 144, MongoShellParserRULE_minMethod) + p.EnterRule(localctx, 186, MongoShellParserRULE_minMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1033) + p.SetState(1592) p.Match(MongoShellParserMIN) if p.HasError() { // Recognition error - abort rule @@ -19742,14 +30252,14 @@ func (p *MongoShellParser) MinMethod() (localctx IMinMethodContext) { } } { - p.SetState(1034) + p.SetState(1593) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1036) + p.SetState(1595) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -19758,13 +30268,13 @@ func (p *MongoShellParser) MinMethod() (localctx IMinMethodContext) { if _la == MongoShellParserLBRACE { { - p.SetState(1035) + p.SetState(1594) p.Document() } } { - p.SetState(1038) + p.SetState(1597) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -19877,10 +30387,10 @@ func (s *NextMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) NextMethod() (localctx INextMethodContext) { localctx = NewNextMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 146, MongoShellParserRULE_nextMethod) + p.EnterRule(localctx, 188, MongoShellParserRULE_nextMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1040) + p.SetState(1599) p.Match(MongoShellParserNEXT) if p.HasError() { // Recognition error - abort rule @@ -19888,7 +30398,7 @@ func (p *MongoShellParser) NextMethod() (localctx INextMethodContext) { } } { - p.SetState(1041) + p.SetState(1600) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -19896,7 +30406,7 @@ func (p *MongoShellParser) NextMethod() (localctx INextMethodContext) { } } { - p.SetState(1042) + p.SetState(1601) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20009,10 +30519,10 @@ func (s *NoCursorTimeoutMethodContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *MongoShellParser) NoCursorTimeoutMethod() (localctx INoCursorTimeoutMethodContext) { localctx = NewNoCursorTimeoutMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 148, MongoShellParserRULE_noCursorTimeoutMethod) + p.EnterRule(localctx, 190, MongoShellParserRULE_noCursorTimeoutMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1044) + p.SetState(1603) p.Match(MongoShellParserNO_CURSOR_TIMEOUT) if p.HasError() { // Recognition error - abort rule @@ -20020,7 +30530,7 @@ func (p *MongoShellParser) NoCursorTimeoutMethod() (localctx INoCursorTimeoutMet } } { - p.SetState(1045) + p.SetState(1604) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -20028,7 +30538,7 @@ func (p *MongoShellParser) NoCursorTimeoutMethod() (localctx INoCursorTimeoutMet } } { - p.SetState(1046) + p.SetState(1605) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20141,10 +30651,10 @@ func (s *ObjsLeftInBatchMethodContext) Accept(visitor antlr.ParseTreeVisitor) in func (p *MongoShellParser) ObjsLeftInBatchMethod() (localctx IObjsLeftInBatchMethodContext) { localctx = NewObjsLeftInBatchMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 150, MongoShellParserRULE_objsLeftInBatchMethod) + p.EnterRule(localctx, 192, MongoShellParserRULE_objsLeftInBatchMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1048) + p.SetState(1607) p.Match(MongoShellParserOBJS_LEFT_IN_BATCH) if p.HasError() { // Recognition error - abort rule @@ -20152,7 +30662,7 @@ func (p *MongoShellParser) ObjsLeftInBatchMethod() (localctx IObjsLeftInBatchMet } } { - p.SetState(1049) + p.SetState(1608) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -20160,7 +30670,7 @@ func (p *MongoShellParser) ObjsLeftInBatchMethod() (localctx IObjsLeftInBatchMet } } { - p.SetState(1050) + p.SetState(1609) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20273,10 +30783,10 @@ func (s *PrettyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} func (p *MongoShellParser) PrettyMethod() (localctx IPrettyMethodContext) { localctx = NewPrettyMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 152, MongoShellParserRULE_prettyMethod) + p.EnterRule(localctx, 194, MongoShellParserRULE_prettyMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1052) + p.SetState(1611) p.Match(MongoShellParserPRETTY) if p.HasError() { // Recognition error - abort rule @@ -20284,7 +30794,7 @@ func (p *MongoShellParser) PrettyMethod() (localctx IPrettyMethodContext) { } } { - p.SetState(1053) + p.SetState(1612) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -20292,7 +30802,7 @@ func (p *MongoShellParser) PrettyMethod() (localctx IPrettyMethodContext) { } } { - p.SetState(1054) + p.SetState(1613) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20422,12 +30932,12 @@ func (s *ReadConcernMethodContext) Accept(visitor antlr.ParseTreeVisitor) interf func (p *MongoShellParser) ReadConcernMethod() (localctx IReadConcernMethodContext) { localctx = NewReadConcernMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 154, MongoShellParserRULE_readConcernMethod) + p.EnterRule(localctx, 196, MongoShellParserRULE_readConcernMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1056) + p.SetState(1615) p.Match(MongoShellParserREAD_CONCERN) if p.HasError() { // Recognition error - abort rule @@ -20435,14 +30945,14 @@ func (p *MongoShellParser) ReadConcernMethod() (localctx IReadConcernMethodConte } } { - p.SetState(1057) + p.SetState(1616) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1059) + p.SetState(1618) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -20451,13 +30961,13 @@ func (p *MongoShellParser) ReadConcernMethod() (localctx IReadConcernMethodConte if _la == MongoShellParserLBRACE { { - p.SetState(1058) + p.SetState(1617) p.Document() } } { - p.SetState(1061) + p.SetState(1620) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20587,10 +31097,10 @@ func (s *ReadPrefMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *MongoShellParser) ReadPrefMethod() (localctx IReadPrefMethodContext) { localctx = NewReadPrefMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 156, MongoShellParserRULE_readPrefMethod) + p.EnterRule(localctx, 198, MongoShellParserRULE_readPrefMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1063) + p.SetState(1622) p.Match(MongoShellParserREAD_PREF) if p.HasError() { // Recognition error - abort rule @@ -20598,7 +31108,7 @@ func (p *MongoShellParser) ReadPrefMethod() (localctx IReadPrefMethodContext) { } } { - p.SetState(1064) + p.SetState(1623) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -20606,11 +31116,11 @@ func (p *MongoShellParser) ReadPrefMethod() (localctx IReadPrefMethodContext) { } } { - p.SetState(1065) + p.SetState(1624) p.Arguments() } { - p.SetState(1066) + p.SetState(1625) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20733,12 +31243,12 @@ func (s *ReturnKeyMethodContext) Accept(visitor antlr.ParseTreeVisitor) interfac func (p *MongoShellParser) ReturnKeyMethod() (localctx IReturnKeyMethodContext) { localctx = NewReturnKeyMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 158, MongoShellParserRULE_returnKeyMethod) + p.EnterRule(localctx, 200, MongoShellParserRULE_returnKeyMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1068) + p.SetState(1627) p.Match(MongoShellParserRETURN_KEY) if p.HasError() { // Recognition error - abort rule @@ -20746,14 +31256,14 @@ func (p *MongoShellParser) ReturnKeyMethod() (localctx IReturnKeyMethodContext) } } { - p.SetState(1069) + p.SetState(1628) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1071) + p.SetState(1630) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -20762,7 +31272,7 @@ func (p *MongoShellParser) ReturnKeyMethod() (localctx IReturnKeyMethodContext) if _la == MongoShellParserTRUE || _la == MongoShellParserFALSE { { - p.SetState(1070) + p.SetState(1629) _la = p.GetTokenStream().LA(1) if !(_la == MongoShellParserTRUE || _la == MongoShellParserFALSE) { @@ -20775,7 +31285,7 @@ func (p *MongoShellParser) ReturnKeyMethod() (localctx IReturnKeyMethodContext) } { - p.SetState(1073) + p.SetState(1632) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -20898,12 +31408,12 @@ func (s *ShowRecordIdMethodContext) Accept(visitor antlr.ParseTreeVisitor) inter func (p *MongoShellParser) ShowRecordIdMethod() (localctx IShowRecordIdMethodContext) { localctx = NewShowRecordIdMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 160, MongoShellParserRULE_showRecordIdMethod) + p.EnterRule(localctx, 202, MongoShellParserRULE_showRecordIdMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1075) + p.SetState(1634) p.Match(MongoShellParserSHOW_RECORD_ID) if p.HasError() { // Recognition error - abort rule @@ -20911,14 +31421,14 @@ func (p *MongoShellParser) ShowRecordIdMethod() (localctx IShowRecordIdMethodCon } } { - p.SetState(1076) + p.SetState(1635) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1078) + p.SetState(1637) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -20927,7 +31437,7 @@ func (p *MongoShellParser) ShowRecordIdMethod() (localctx IShowRecordIdMethodCon if _la == MongoShellParserTRUE || _la == MongoShellParserFALSE { { - p.SetState(1077) + p.SetState(1636) _la = p.GetTokenStream().LA(1) if !(_la == MongoShellParserTRUE || _la == MongoShellParserFALSE) { @@ -20940,7 +31450,7 @@ func (p *MongoShellParser) ShowRecordIdMethod() (localctx IShowRecordIdMethodCon } { - p.SetState(1080) + p.SetState(1639) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -21053,10 +31563,10 @@ func (s *SizeMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) SizeMethod() (localctx ISizeMethodContext) { localctx = NewSizeMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 162, MongoShellParserRULE_sizeMethod) + p.EnterRule(localctx, 204, MongoShellParserRULE_sizeMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1082) + p.SetState(1641) p.Match(MongoShellParserSIZE) if p.HasError() { // Recognition error - abort rule @@ -21064,7 +31574,7 @@ func (p *MongoShellParser) SizeMethod() (localctx ISizeMethodContext) { } } { - p.SetState(1083) + p.SetState(1642) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -21072,7 +31582,7 @@ func (p *MongoShellParser) SizeMethod() (localctx ISizeMethodContext) { } } { - p.SetState(1084) + p.SetState(1643) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -21195,12 +31705,12 @@ func (s *TailableMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface func (p *MongoShellParser) TailableMethod() (localctx ITailableMethodContext) { localctx = NewTailableMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 164, MongoShellParserRULE_tailableMethod) + p.EnterRule(localctx, 206, MongoShellParserRULE_tailableMethod) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1086) + p.SetState(1645) p.Match(MongoShellParserTAILABLE) if p.HasError() { // Recognition error - abort rule @@ -21208,14 +31718,14 @@ func (p *MongoShellParser) TailableMethod() (localctx ITailableMethodContext) { } } { - p.SetState(1087) + p.SetState(1646) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1089) + p.SetState(1648) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -21224,7 +31734,7 @@ func (p *MongoShellParser) TailableMethod() (localctx ITailableMethodContext) { if _la == MongoShellParserTRUE || _la == MongoShellParserFALSE { { - p.SetState(1088) + p.SetState(1647) _la = p.GetTokenStream().LA(1) if !(_la == MongoShellParserTRUE || _la == MongoShellParserFALSE) { @@ -21237,7 +31747,7 @@ func (p *MongoShellParser) TailableMethod() (localctx ITailableMethodContext) { } { - p.SetState(1091) + p.SetState(1650) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -21350,10 +31860,10 @@ func (s *ToArrayMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) ToArrayMethod() (localctx IToArrayMethodContext) { localctx = NewToArrayMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 166, MongoShellParserRULE_toArrayMethod) + p.EnterRule(localctx, 208, MongoShellParserRULE_toArrayMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1093) + p.SetState(1652) p.Match(MongoShellParserTO_ARRAY) if p.HasError() { // Recognition error - abort rule @@ -21361,7 +31871,7 @@ func (p *MongoShellParser) ToArrayMethod() (localctx IToArrayMethodContext) { } } { - p.SetState(1094) + p.SetState(1653) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -21369,7 +31879,7 @@ func (p *MongoShellParser) ToArrayMethod() (localctx IToArrayMethodContext) { } } { - p.SetState(1095) + p.SetState(1654) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -21482,10 +31992,10 @@ func (s *TryNextMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{ func (p *MongoShellParser) TryNextMethod() (localctx ITryNextMethodContext) { localctx = NewTryNextMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 168, MongoShellParserRULE_tryNextMethod) + p.EnterRule(localctx, 210, MongoShellParserRULE_tryNextMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1097) + p.SetState(1656) p.Match(MongoShellParserTRY_NEXT) if p.HasError() { // Recognition error - abort rule @@ -21493,7 +32003,7 @@ func (p *MongoShellParser) TryNextMethod() (localctx ITryNextMethodContext) { } } { - p.SetState(1098) + p.SetState(1657) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -21501,7 +32011,7 @@ func (p *MongoShellParser) TryNextMethod() (localctx ITryNextMethodContext) { } } { - p.SetState(1099) + p.SetState(1658) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -21612,206 +32122,61 @@ func (s *AllowDiskUseMethodContext) ExitRule(listener antlr.ParseTreeListener) { } } -func (s *AllowDiskUseMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitAllowDiskUseMethod(s) - - default: - return t.VisitChildren(s) - } -} - -func (p *MongoShellParser) AllowDiskUseMethod() (localctx IAllowDiskUseMethodContext) { - localctx = NewAllowDiskUseMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 170, MongoShellParserRULE_allowDiskUseMethod) - var _la int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1101) - p.Match(MongoShellParserALLOW_DISK_USE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1102) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(1104) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == MongoShellParserTRUE || _la == MongoShellParserFALSE { - { - p.SetState(1103) - _la = p.GetTokenStream().LA(1) - - if !(_la == MongoShellParserTRUE || _la == MongoShellParserFALSE) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() - } - } - - } - { - p.SetState(1106) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used -} - -// IAddOptionMethodContext is an interface to support dynamic dispatch. -type IAddOptionMethodContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - ADD_OPTION() antlr.TerminalNode - LPAREN() antlr.TerminalNode - NUMBER() antlr.TerminalNode - RPAREN() antlr.TerminalNode - - // IsAddOptionMethodContext differentiates from other interfaces. - IsAddOptionMethodContext() -} - -type AddOptionMethodContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser -} - -func NewEmptyAddOptionMethodContext() *AddOptionMethodContext { - var p = new(AddOptionMethodContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_addOptionMethod - return p -} - -func InitEmptyAddOptionMethodContext(p *AddOptionMethodContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_addOptionMethod -} - -func (*AddOptionMethodContext) IsAddOptionMethodContext() {} - -func NewAddOptionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AddOptionMethodContext { - var p = new(AddOptionMethodContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) - - p.parser = parser - p.RuleIndex = MongoShellParserRULE_addOptionMethod - - return p -} - -func (s *AddOptionMethodContext) GetParser() antlr.Parser { return s.parser } - -func (s *AddOptionMethodContext) ADD_OPTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserADD_OPTION, 0) -} - -func (s *AddOptionMethodContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} - -func (s *AddOptionMethodContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) -} - -func (s *AddOptionMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *AddOptionMethodContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *AddOptionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *AddOptionMethodContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterAddOptionMethod(s) - } -} - -func (s *AddOptionMethodContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitAddOptionMethod(s) - } -} - -func (s *AddOptionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *AllowDiskUseMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitAddOptionMethod(s) + return t.VisitAllowDiskUseMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) AddOptionMethod() (localctx IAddOptionMethodContext) { - localctx = NewAddOptionMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 172, MongoShellParserRULE_addOptionMethod) +func (p *MongoShellParser) AllowDiskUseMethod() (localctx IAllowDiskUseMethodContext) { + localctx = NewAllowDiskUseMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 212, MongoShellParserRULE_allowDiskUseMethod) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(1108) - p.Match(MongoShellParserADD_OPTION) + p.SetState(1660) + p.Match(MongoShellParserALLOW_DISK_USE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1109) + p.SetState(1661) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - { - p.SetState(1110) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(1663) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserTRUE || _la == MongoShellParserFALSE { + { + p.SetState(1662) + _la = p.GetTokenStream().LA(1) + + if !(_la == MongoShellParserTRUE || _la == MongoShellParserFALSE) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } } + } { - p.SetState(1111) + p.SetState(1665) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -21832,159 +32197,131 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IGenericMethodContext is an interface to support dynamic dispatch. -type IGenericMethodContext interface { +// IAddOptionMethodContext is an interface to support dynamic dispatch. +type IAddOptionMethodContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - Identifier() IIdentifierContext + ADD_OPTION() antlr.TerminalNode LPAREN() antlr.TerminalNode + NUMBER() antlr.TerminalNode RPAREN() antlr.TerminalNode - Arguments() IArgumentsContext - // IsGenericMethodContext differentiates from other interfaces. - IsGenericMethodContext() + // IsAddOptionMethodContext differentiates from other interfaces. + IsAddOptionMethodContext() } -type GenericMethodContext struct { +type AddOptionMethodContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyGenericMethodContext() *GenericMethodContext { - var p = new(GenericMethodContext) +func NewEmptyAddOptionMethodContext() *AddOptionMethodContext { + var p = new(AddOptionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_genericMethod + p.RuleIndex = MongoShellParserRULE_addOptionMethod return p } -func InitEmptyGenericMethodContext(p *GenericMethodContext) { +func InitEmptyAddOptionMethodContext(p *AddOptionMethodContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_genericMethod + p.RuleIndex = MongoShellParserRULE_addOptionMethod } -func (*GenericMethodContext) IsGenericMethodContext() {} +func (*AddOptionMethodContext) IsAddOptionMethodContext() {} -func NewGenericMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GenericMethodContext { - var p = new(GenericMethodContext) +func NewAddOptionMethodContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AddOptionMethodContext { + var p = new(AddOptionMethodContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_genericMethod + p.RuleIndex = MongoShellParserRULE_addOptionMethod return p } -func (s *GenericMethodContext) GetParser() antlr.Parser { return s.parser } - -func (s *GenericMethodContext) Identifier() IIdentifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *AddOptionMethodContext) GetParser() antlr.Parser { return s.parser } - return t.(IIdentifierContext) +func (s *AddOptionMethodContext) ADD_OPTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserADD_OPTION, 0) } -func (s *GenericMethodContext) LPAREN() antlr.TerminalNode { +func (s *AddOptionMethodContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *GenericMethodContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *AddOptionMethodContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) } -func (s *GenericMethodContext) Arguments() IArgumentsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IArgumentsContext) +func (s *AddOptionMethodContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *GenericMethodContext) GetRuleContext() antlr.RuleContext { +func (s *AddOptionMethodContext) GetRuleContext() antlr.RuleContext { return s } -func (s *GenericMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *AddOptionMethodContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *GenericMethodContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *AddOptionMethodContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterGenericMethod(s) + listenerT.EnterAddOptionMethod(s) } } -func (s *GenericMethodContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *AddOptionMethodContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitGenericMethod(s) + listenerT.ExitAddOptionMethod(s) } } -func (s *GenericMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *AddOptionMethodContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitGenericMethod(s) + return t.VisitAddOptionMethod(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) GenericMethod() (localctx IGenericMethodContext) { - localctx = NewGenericMethodContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 174, MongoShellParserRULE_genericMethod) - var _la int - +func (p *MongoShellParser) AddOptionMethod() (localctx IAddOptionMethodContext) { + localctx = NewAddOptionMethodContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 214, MongoShellParserRULE_addOptionMethod) p.EnterOuterAlt(localctx, 1) { - p.SetState(1113) - p.Identifier() + p.SetState(1667) + p.Match(MongoShellParserADD_OPTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } { - p.SetState(1114) + p.SetState(1668) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1116) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(1115) - p.Arguments() + { + p.SetState(1669) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - } { - p.SetState(1118) + p.SetState(1670) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -22135,29 +32472,29 @@ func (s *ArgumentsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) Arguments() (localctx IArgumentsContext) { localctx = NewArgumentsContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 176, MongoShellParserRULE_arguments) + p.EnterRule(localctx, 216, MongoShellParserRULE_arguments) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(1120) + p.SetState(1672) p.Argument() } - p.SetState(1125) + p.SetState(1677) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 76, p.GetParserRuleContext()) + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 129, p.GetParserRuleContext()) if p.HasError() { goto errorExit } for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(1121) + p.SetState(1673) p.Match(MongoShellParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -22165,22 +32502,22 @@ func (p *MongoShellParser) Arguments() (localctx IArgumentsContext) { } } { - p.SetState(1122) + p.SetState(1674) p.Argument() } } - p.SetState(1127) + p.SetState(1679) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 76, p.GetParserRuleContext()) + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 129, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - p.SetState(1129) + p.SetState(1681) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -22189,7 +32526,7 @@ func (p *MongoShellParser) Arguments() (localctx IArgumentsContext) { if _la == MongoShellParserCOMMA { { - p.SetState(1128) + p.SetState(1680) p.Match(MongoShellParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -22306,10 +32643,10 @@ func (s *ArgumentContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) Argument() (localctx IArgumentContext) { localctx = NewArgumentContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 178, MongoShellParserRULE_argument) + p.EnterRule(localctx, 218, MongoShellParserRULE_argument) p.EnterOuterAlt(localctx, 1) { - p.SetState(1131) + p.SetState(1683) p.Value() } @@ -22466,45 +32803,45 @@ func (s *DocumentContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { func (p *MongoShellParser) Document() (localctx IDocumentContext) { localctx = NewDocumentContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 180, MongoShellParserRULE_document) + p.EnterRule(localctx, 220, MongoShellParserRULE_document) var _la int var _alt int p.EnterOuterAlt(localctx, 1) { - p.SetState(1133) + p.SetState(1685) p.Match(MongoShellParserLBRACE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1145) + p.SetState(1697) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-2) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-1) != 0) || ((int64((_la-128)) & ^0x3f) == 0 && ((int64(1)<<(_la-128))&58982655) != 0) { + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&-2) != 0) || ((int64((_la-64)) & ^0x3f) == 0 && ((int64(1)<<(_la-64))&-1) != 0) || ((int64((_la-128)) & ^0x3f) == 0 && ((int64(1)<<(_la-128))&-1) != 0) || ((int64((_la-192)) & ^0x3f) == 0 && ((int64(1)<<(_la-192))&7372831) != 0) { { - p.SetState(1134) + p.SetState(1686) p.Pair() } - p.SetState(1139) + p.SetState(1691) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 78, p.GetParserRuleContext()) + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 131, p.GetParserRuleContext()) if p.HasError() { goto errorExit } for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { if _alt == 1 { { - p.SetState(1135) + p.SetState(1687) p.Match(MongoShellParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -22512,22 +32849,22 @@ func (p *MongoShellParser) Document() (localctx IDocumentContext) { } } { - p.SetState(1136) + p.SetState(1688) p.Pair() } } - p.SetState(1141) + p.SetState(1693) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 78, p.GetParserRuleContext()) + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 131, p.GetParserRuleContext()) if p.HasError() { goto errorExit } } - p.SetState(1143) + p.SetState(1695) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit @@ -22536,7 +32873,7 @@ func (p *MongoShellParser) Document() (localctx IDocumentContext) { if _la == MongoShellParserCOMMA { { - p.SetState(1142) + p.SetState(1694) p.Match(MongoShellParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -22548,7 +32885,7 @@ func (p *MongoShellParser) Document() (localctx IDocumentContext) { } { - p.SetState(1147) + p.SetState(1699) p.Match(MongoShellParserRBRACE) if p.HasError() { // Recognition error - abort rule @@ -22585,42 +32922,214 @@ type IPairContext interface { IsPairContext() } -type PairContext struct { +type PairContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyPairContext() *PairContext { + var p = new(PairContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_pair + return p +} + +func InitEmptyPairContext(p *PairContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_pair +} + +func (*PairContext) IsPairContext() {} + +func NewPairContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PairContext { + var p = new(PairContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_pair + + return p +} + +func (s *PairContext) GetParser() antlr.Parser { return s.parser } + +func (s *PairContext) Key() IKeyContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IKeyContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IKeyContext) +} + +func (s *PairContext) COLON() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOLON, 0) +} + +func (s *PairContext) Value() IValueContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IValueContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IValueContext) +} + +func (s *PairContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *PairContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *PairContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterPair(s) + } +} + +func (s *PairContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitPair(s) + } +} + +func (s *PairContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitPair(s) + + default: + return t.VisitChildren(s) + } +} + +func (p *MongoShellParser) Pair() (localctx IPairContext) { + localctx = NewPairContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 222, MongoShellParserRULE_pair) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1701) + p.Key() + } + { + p.SetState(1702) + p.Match(MongoShellParserCOLON) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1703) + p.Value() + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used +} + +// IKeyContext is an interface to support dynamic dispatch. +type IKeyContext interface { + antlr.ParserRuleContext + + // GetParser returns the parser. + GetParser() antlr.Parser + // IsKeyContext differentiates from other interfaces. + IsKeyContext() +} + +type KeyContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyPairContext() *PairContext { - var p = new(PairContext) +func NewEmptyKeyContext() *KeyContext { + var p = new(KeyContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_pair + p.RuleIndex = MongoShellParserRULE_key return p } -func InitEmptyPairContext(p *PairContext) { +func InitEmptyKeyContext(p *KeyContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_pair + p.RuleIndex = MongoShellParserRULE_key } -func (*PairContext) IsPairContext() {} +func (*KeyContext) IsKeyContext() {} -func NewPairContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PairContext { - var p = new(PairContext) +func NewKeyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *KeyContext { + var p = new(KeyContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_pair + p.RuleIndex = MongoShellParserRULE_key return p } -func (s *PairContext) GetParser() antlr.Parser { return s.parser } +func (s *KeyContext) GetParser() antlr.Parser { return s.parser } -func (s *PairContext) Key() IKeyContext { +func (s *KeyContext) CopyAll(ctx *KeyContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *KeyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *KeyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type QuotedKeyContext struct { + KeyContext +} + +func NewQuotedKeyContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *QuotedKeyContext { + var p = new(QuotedKeyContext) + + InitEmptyKeyContext(&p.KeyContext) + p.parser = parser + p.CopyAll(ctx.(*KeyContext)) + + return p +} + +func (s *QuotedKeyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *QuotedKeyContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IKeyContext); ok { + if _, ok := ctx.(IStringLiteralContext); ok { t = ctx.(antlr.RuleContext) break } @@ -22630,17 +33139,53 @@ func (s *PairContext) Key() IKeyContext { return nil } - return t.(IKeyContext) + return t.(IStringLiteralContext) } -func (s *PairContext) COLON() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOLON, 0) +func (s *QuotedKeyContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterQuotedKey(s) + } } -func (s *PairContext) Value() IValueContext { +func (s *QuotedKeyContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitQuotedKey(s) + } +} + +func (s *QuotedKeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitQuotedKey(s) + + default: + return t.VisitChildren(s) + } +} + +type UnquotedKeyContext struct { + KeyContext +} + +func NewUnquotedKeyContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *UnquotedKeyContext { + var p = new(UnquotedKeyContext) + + InitEmptyKeyContext(&p.KeyContext) + p.parser = parser + p.CopyAll(ctx.(*KeyContext)) + + return p +} + +func (s *UnquotedKeyContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *UnquotedKeyContext) Identifier() IIdentifierContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IValueContext); ok { + if _, ok := ctx.(IIdentifierContext); ok { t = ctx.(antlr.RuleContext) break } @@ -22650,58 +33195,60 @@ func (s *PairContext) Value() IValueContext { return nil } - return t.(IValueContext) -} - -func (s *PairContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *PairContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + return t.(IIdentifierContext) } -func (s *PairContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UnquotedKeyContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterPair(s) + listenerT.EnterUnquotedKey(s) } } -func (s *PairContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UnquotedKeyContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitPair(s) + listenerT.ExitUnquotedKey(s) } } -func (s *PairContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UnquotedKeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitPair(s) + return t.VisitUnquotedKey(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) Pair() (localctx IPairContext) { - localctx = NewPairContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 182, MongoShellParserRULE_pair) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1149) - p.Key() +func (p *MongoShellParser) Key() (localctx IKeyContext) { + localctx = NewKeyContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 224, MongoShellParserRULE_key) + p.SetState(1707) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - { - p.SetState(1150) - p.Match(MongoShellParserCOLON) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + switch p.GetTokenStream().LA(1) { + case MongoShellParserSHOW, MongoShellParserDBS, MongoShellParserDATABASES, MongoShellParserCOLLECTIONS, MongoShellParserDB, MongoShellParserNEW, MongoShellParserTRUE, MongoShellParserFALSE, MongoShellParserNULL, MongoShellParserGET_COLLECTION, MongoShellParserGET_COLLECTION_NAMES, MongoShellParserGET_COLLECTION_INFOS, MongoShellParserOBJECT_ID, MongoShellParserISO_DATE, MongoShellParserDATE, MongoShellParserUUID, MongoShellParserLONG, MongoShellParserNUMBER_LONG, MongoShellParserINT32, MongoShellParserNUMBER_INT, MongoShellParserDOUBLE, MongoShellParserDECIMAL128, MongoShellParserNUMBER_DECIMAL, MongoShellParserTIMESTAMP, MongoShellParserREG_EXP, MongoShellParserBIN_DATA, MongoShellParserBINARY, MongoShellParserBSON_REG_EXP, MongoShellParserHEX_DATA, MongoShellParserFIND, MongoShellParserFIND_ONE, MongoShellParserCOUNT_DOCUMENTS, MongoShellParserESTIMATED_DOCUMENT_COUNT, MongoShellParserDISTINCT, MongoShellParserAGGREGATE, MongoShellParserGET_INDEXES, MongoShellParserINSERT_ONE, MongoShellParserINSERT_MANY, MongoShellParserUPDATE_ONE, MongoShellParserUPDATE_MANY, MongoShellParserDELETE_ONE, MongoShellParserDELETE_MANY, MongoShellParserREPLACE_ONE, MongoShellParserFIND_ONE_AND_UPDATE, MongoShellParserFIND_ONE_AND_REPLACE, MongoShellParserFIND_ONE_AND_DELETE, MongoShellParserCREATE_INDEX, MongoShellParserCREATE_INDEXES, MongoShellParserDROP_INDEX, MongoShellParserDROP_INDEXES, MongoShellParserDROP, MongoShellParserRENAME_COLLECTION, MongoShellParserSTATS, MongoShellParserSTORAGE_SIZE, MongoShellParserTOTAL_INDEX_SIZE, MongoShellParserTOTAL_SIZE, MongoShellParserDATA_SIZE, MongoShellParserIS_CAPPED, MongoShellParserVALIDATE, MongoShellParserLATENCY_STATS, MongoShellParserBULK_WRITE, MongoShellParserUPDATE, MongoShellParserMAP_REDUCE, MongoShellParserFIND_AND_MODIFY, MongoShellParserANALYZE_SHARD_KEY, MongoShellParserCONFIGURE_QUERY_ANALYZER, MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA, MongoShellParserHIDE_INDEX, MongoShellParserUNHIDE_INDEX, MongoShellParserRE_INDEX, MongoShellParserGET_SHARD_DISTRIBUTION, MongoShellParserGET_SHARD_VERSION, MongoShellParserCREATE_SEARCH_INDEX, MongoShellParserCREATE_SEARCH_INDEXES, MongoShellParserDROP_SEARCH_INDEX, MongoShellParserUPDATE_SEARCH_INDEX, MongoShellParserCREATE_COLLECTION, MongoShellParserDROP_DATABASE, MongoShellParserHOST_INFO, MongoShellParserLIST_COMMANDS, MongoShellParserSERVER_BUILD_INFO, MongoShellParserSERVER_STATUS, MongoShellParserVERSION, MongoShellParserRUN_COMMAND, MongoShellParserADMIN_COMMAND, MongoShellParserGET_NAME, MongoShellParserGET_MONGO, MongoShellParserGET_SIBLING_DB, MongoShellParserAUTH, MongoShellParserCHANGE_USER_PASSWORD, MongoShellParserCLONE_DATABASE, MongoShellParserCOMMAND_HELP, MongoShellParserCOPY_DATABASE, MongoShellParserCREATE_ROLE, MongoShellParserCREATE_USER, MongoShellParserCREATE_VIEW, MongoShellParserCURRENT_OP, MongoShellParserDROP_ALL_ROLES, MongoShellParserDROP_ALL_USERS, MongoShellParserDROP_ROLE, MongoShellParserDROP_USER, MongoShellParserFSYNC_LOCK, MongoShellParserFSYNC_UNLOCK, MongoShellParserGET_LOG_COMPONENTS, MongoShellParserGET_PROFILING_LEVEL, MongoShellParserGET_PROFILING_STATUS, MongoShellParserGET_REPLICATION_INFO, MongoShellParserGET_ROLE, MongoShellParserGET_ROLES, MongoShellParserGET_USER, MongoShellParserGET_USERS, MongoShellParserGRANT_PRIVILEGES_TO_ROLE, MongoShellParserGRANT_ROLES_TO_ROLE, MongoShellParserGRANT_ROLES_TO_USER, MongoShellParserHELLO, MongoShellParserIS_MASTER, MongoShellParserKILL_OP, MongoShellParserLOGOUT, MongoShellParserPRINT_COLLECTION_STATS, MongoShellParserPRINT_REPLICATION_INFO, MongoShellParserPRINT_SECONDARY_REPLICATION_INFO, MongoShellParserPRINT_SHARDING_STATUS, MongoShellParserPRINT_SLAVE_REPLICATION_INFO, MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE, MongoShellParserREVOKE_ROLES_FROM_ROLE, MongoShellParserREVOKE_ROLES_FROM_USER, MongoShellParserROTATE_CERTIFICATES, MongoShellParserSET_LOG_LEVEL, MongoShellParserSET_PROFILING_LEVEL, MongoShellParserSET_SECONDARY_OK, MongoShellParserSHUTDOWN_SERVER, MongoShellParserUPDATE_ROLE, MongoShellParserUPDATE_USER, MongoShellParserMONGO, MongoShellParserCONNECT, MongoShellParserRS, MongoShellParserSH, MongoShellParserSP, MongoShellParserGET_DB, MongoShellParserGET_READ_CONCERN, MongoShellParserGET_READ_PREF, MongoShellParserGET_READ_PREF_MODE, MongoShellParserGET_READ_PREF_TAG_SET, MongoShellParserGET_WRITE_CONCERN, MongoShellParserSET_READ_PREF, MongoShellParserSET_READ_CONCERN, MongoShellParserSET_WRITE_CONCERN, MongoShellParserSTART_SESSION, MongoShellParserWATCH, MongoShellParserGET_DB_NAMES, MongoShellParserGET_KEY_VAULT, MongoShellParserGET_CLIENT_ENCRYPTION, MongoShellParserGET_PLAN_CACHE, MongoShellParserSORT, MongoShellParserLIMIT, MongoShellParserSKIP_, MongoShellParserPROJECTION, MongoShellParserPROJECT, MongoShellParserCOUNT, MongoShellParserINITIALIZE_ORDERED_BULK_OP, MongoShellParserINITIALIZE_UNORDERED_BULK_OP, MongoShellParserEXECUTE, MongoShellParserGET_OPERATIONS, MongoShellParserTO_STRING, MongoShellParserINSERT, MongoShellParserREMOVE, MongoShellParserBATCH_SIZE, MongoShellParserCLOSE, MongoShellParserCOLLATION, MongoShellParserCOMMENT, MongoShellParserEXPLAIN, MongoShellParserFOR_EACH, MongoShellParserHAS_NEXT, MongoShellParserHINT, MongoShellParserIS_CLOSED, MongoShellParserIS_EXHAUSTED, MongoShellParserIT_COUNT, MongoShellParserMAP, MongoShellParserMAX, MongoShellParserMAX_AWAIT_TIME_MS, MongoShellParserMAX_TIME_MS, MongoShellParserMIN, MongoShellParserNEXT, MongoShellParserNO_CURSOR_TIMEOUT, MongoShellParserOBJS_LEFT_IN_BATCH, MongoShellParserPRETTY, MongoShellParserREAD_CONCERN, MongoShellParserREAD_PREF, MongoShellParserRETURN_KEY, MongoShellParserSHOW_RECORD_ID, MongoShellParserSIZE, MongoShellParserTAILABLE, MongoShellParserTO_ARRAY, MongoShellParserTRY_NEXT, MongoShellParserALLOW_DISK_USE, MongoShellParserADD_OPTION, MongoShellParserDOLLAR, MongoShellParserIDENTIFIER: + localctx = NewUnquotedKeyContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1705) + p.Identifier() } - } - { - p.SetState(1151) - p.Value() + + case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: + localctx = NewQuotedKeyContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1706) + p.StringLiteral() + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } errorExit: @@ -22717,82 +33264,182 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IKeyContext is an interface to support dynamic dispatch. -type IKeyContext interface { +// IValueContext is an interface to support dynamic dispatch. +type IValueContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser - // IsKeyContext differentiates from other interfaces. - IsKeyContext() + // IsValueContext differentiates from other interfaces. + IsValueContext() } -type KeyContext struct { +type ValueContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyKeyContext() *KeyContext { - var p = new(KeyContext) +func NewEmptyValueContext() *ValueContext { + var p = new(ValueContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_key + p.RuleIndex = MongoShellParserRULE_value + return p +} + +func InitEmptyValueContext(p *ValueContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_value +} + +func (*ValueContext) IsValueContext() {} + +func NewValueContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ValueContext { + var p = new(ValueContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_value + + return p +} + +func (s *ValueContext) GetParser() antlr.Parser { return s.parser } + +func (s *ValueContext) CopyAll(ctx *ValueContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *ValueContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ValueContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type RegexpConstructorValueContext struct { + ValueContext +} + +func NewRegexpConstructorValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *RegexpConstructorValueContext { + var p = new(RegexpConstructorValueContext) + + InitEmptyValueContext(&p.ValueContext) + p.parser = parser + p.CopyAll(ctx.(*ValueContext)) + return p } -func InitEmptyKeyContext(p *KeyContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_key -} +func (s *RegexpConstructorValueContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *RegexpConstructorValueContext) RegExpConstructor() IRegExpConstructorContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IRegExpConstructorContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IRegExpConstructorContext) +} + +func (s *RegexpConstructorValueContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterRegexpConstructorValue(s) + } +} + +func (s *RegexpConstructorValueContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitRegexpConstructorValue(s) + } +} + +func (s *RegexpConstructorValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitRegexpConstructorValue(s) -func (*KeyContext) IsKeyContext() {} + default: + return t.VisitChildren(s) + } +} -func NewKeyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *KeyContext { - var p = new(KeyContext) +type RegexLiteralValueContext struct { + ValueContext +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func NewRegexLiteralValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *RegexLiteralValueContext { + var p = new(RegexLiteralValueContext) + InitEmptyValueContext(&p.ValueContext) p.parser = parser - p.RuleIndex = MongoShellParserRULE_key + p.CopyAll(ctx.(*ValueContext)) return p } -func (s *KeyContext) GetParser() antlr.Parser { return s.parser } +func (s *RegexLiteralValueContext) GetRuleContext() antlr.RuleContext { + return s +} -func (s *KeyContext) CopyAll(ctx *KeyContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) +func (s *RegexLiteralValueContext) REGEX_LITERAL() antlr.TerminalNode { + return s.GetToken(MongoShellParserREGEX_LITERAL, 0) } -func (s *KeyContext) GetRuleContext() antlr.RuleContext { - return s +func (s *RegexLiteralValueContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterRegexLiteralValue(s) + } } -func (s *KeyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *RegexLiteralValueContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitRegexLiteralValue(s) + } } -type QuotedKeyContext struct { - KeyContext +func (s *RegexLiteralValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitRegexLiteralValue(s) + + default: + return t.VisitChildren(s) + } } -func NewQuotedKeyContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *QuotedKeyContext { - var p = new(QuotedKeyContext) +type ArrayValueContext struct { + ValueContext +} - InitEmptyKeyContext(&p.KeyContext) +func NewArrayValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ArrayValueContext { + var p = new(ArrayValueContext) + + InitEmptyValueContext(&p.ValueContext) p.parser = parser - p.CopyAll(ctx.(*KeyContext)) + p.CopyAll(ctx.(*ValueContext)) return p } -func (s *QuotedKeyContext) GetRuleContext() antlr.RuleContext { +func (s *ArrayValueContext) GetRuleContext() antlr.RuleContext { return s } -func (s *QuotedKeyContext) StringLiteral() IStringLiteralContext { +func (s *ArrayValueContext) Array() IArrayContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { + if _, ok := ctx.(IArrayContext); ok { t = ctx.(antlr.RuleContext) break } @@ -22802,53 +33449,53 @@ func (s *QuotedKeyContext) StringLiteral() IStringLiteralContext { return nil } - return t.(IStringLiteralContext) + return t.(IArrayContext) } -func (s *QuotedKeyContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ArrayValueContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterQuotedKey(s) + listenerT.EnterArrayValue(s) } } -func (s *QuotedKeyContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ArrayValueContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitQuotedKey(s) + listenerT.ExitArrayValue(s) } } -func (s *QuotedKeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ArrayValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitQuotedKey(s) + return t.VisitArrayValue(s) default: return t.VisitChildren(s) } } -type UnquotedKeyContext struct { - KeyContext +type NewKeywordValueContext struct { + ValueContext } -func NewUnquotedKeyContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *UnquotedKeyContext { - var p = new(UnquotedKeyContext) +func NewNewKeywordValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NewKeywordValueContext { + var p = new(NewKeywordValueContext) - InitEmptyKeyContext(&p.KeyContext) + InitEmptyValueContext(&p.ValueContext) p.parser = parser - p.CopyAll(ctx.(*KeyContext)) + p.CopyAll(ctx.(*ValueContext)) return p } -func (s *UnquotedKeyContext) GetRuleContext() antlr.RuleContext { +func (s *NewKeywordValueContext) GetRuleContext() antlr.RuleContext { return s } -func (s *UnquotedKeyContext) Identifier() IIdentifierContext { +func (s *NewKeywordValueContext) NewKeywordError() INewKeywordErrorContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { + if _, ok := ctx.(INewKeywordErrorContext); ok { t = ctx.(antlr.RuleContext) break } @@ -22858,135 +33505,149 @@ func (s *UnquotedKeyContext) Identifier() IIdentifierContext { return nil } - return t.(IIdentifierContext) + return t.(INewKeywordErrorContext) } -func (s *UnquotedKeyContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *NewKeywordValueContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterUnquotedKey(s) + listenerT.EnterNewKeywordValue(s) } } -func (s *UnquotedKeyContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *NewKeywordValueContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitUnquotedKey(s) + listenerT.ExitNewKeywordValue(s) } } -func (s *UnquotedKeyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *NewKeywordValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitUnquotedKey(s) + return t.VisitNewKeywordValue(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) Key() (localctx IKeyContext) { - localctx = NewKeyContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 184, MongoShellParserRULE_key) - p.SetState(1155) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } +type DocumentValueContext struct { + ValueContext +} - switch p.GetTokenStream().LA(1) { - case MongoShellParserSHOW, MongoShellParserDBS, MongoShellParserDATABASES, MongoShellParserCOLLECTIONS, MongoShellParserDB, MongoShellParserNEW, MongoShellParserTRUE, MongoShellParserFALSE, MongoShellParserNULL, MongoShellParserGET_COLLECTION, MongoShellParserGET_COLLECTION_NAMES, MongoShellParserGET_COLLECTION_INFOS, MongoShellParserOBJECT_ID, MongoShellParserISO_DATE, MongoShellParserDATE, MongoShellParserUUID, MongoShellParserLONG, MongoShellParserNUMBER_LONG, MongoShellParserINT32, MongoShellParserNUMBER_INT, MongoShellParserDOUBLE, MongoShellParserDECIMAL128, MongoShellParserNUMBER_DECIMAL, MongoShellParserTIMESTAMP, MongoShellParserREG_EXP, MongoShellParserBIN_DATA, MongoShellParserBINARY, MongoShellParserBSON_REG_EXP, MongoShellParserHEX_DATA, MongoShellParserFIND, MongoShellParserFIND_ONE, MongoShellParserCOUNT_DOCUMENTS, MongoShellParserESTIMATED_DOCUMENT_COUNT, MongoShellParserDISTINCT, MongoShellParserAGGREGATE, MongoShellParserGET_INDEXES, MongoShellParserINSERT_ONE, MongoShellParserINSERT_MANY, MongoShellParserUPDATE_ONE, MongoShellParserUPDATE_MANY, MongoShellParserDELETE_ONE, MongoShellParserDELETE_MANY, MongoShellParserREPLACE_ONE, MongoShellParserFIND_ONE_AND_UPDATE, MongoShellParserFIND_ONE_AND_REPLACE, MongoShellParserFIND_ONE_AND_DELETE, MongoShellParserCREATE_INDEX, MongoShellParserCREATE_INDEXES, MongoShellParserDROP_INDEX, MongoShellParserDROP_INDEXES, MongoShellParserDROP, MongoShellParserRENAME_COLLECTION, MongoShellParserSTATS, MongoShellParserSTORAGE_SIZE, MongoShellParserTOTAL_INDEX_SIZE, MongoShellParserTOTAL_SIZE, MongoShellParserDATA_SIZE, MongoShellParserIS_CAPPED, MongoShellParserVALIDATE, MongoShellParserLATENCY_STATS, MongoShellParserCREATE_COLLECTION, MongoShellParserDROP_DATABASE, MongoShellParserHOST_INFO, MongoShellParserLIST_COMMANDS, MongoShellParserSERVER_BUILD_INFO, MongoShellParserSERVER_STATUS, MongoShellParserVERSION, MongoShellParserRUN_COMMAND, MongoShellParserADMIN_COMMAND, MongoShellParserGET_NAME, MongoShellParserGET_MONGO, MongoShellParserGET_SIBLING_DB, MongoShellParserMONGO, MongoShellParserCONNECT, MongoShellParserRS, MongoShellParserSH, MongoShellParserSP, MongoShellParserGET_DB, MongoShellParserGET_READ_CONCERN, MongoShellParserGET_READ_PREF, MongoShellParserGET_READ_PREF_MODE, MongoShellParserGET_READ_PREF_TAG_SET, MongoShellParserGET_WRITE_CONCERN, MongoShellParserSET_READ_PREF, MongoShellParserSET_READ_CONCERN, MongoShellParserSET_WRITE_CONCERN, MongoShellParserSTART_SESSION, MongoShellParserWATCH, MongoShellParserGET_DB_NAMES, MongoShellParserGET_KEY_VAULT, MongoShellParserGET_CLIENT_ENCRYPTION, MongoShellParserGET_PLAN_CACHE, MongoShellParserSORT, MongoShellParserLIMIT, MongoShellParserSKIP_, MongoShellParserPROJECTION, MongoShellParserPROJECT, MongoShellParserCOUNT, MongoShellParserINITIALIZE_ORDERED_BULK_OP, MongoShellParserINITIALIZE_UNORDERED_BULK_OP, MongoShellParserEXECUTE, MongoShellParserGET_OPERATIONS, MongoShellParserTO_STRING, MongoShellParserINSERT, MongoShellParserREMOVE, MongoShellParserBATCH_SIZE, MongoShellParserCLOSE, MongoShellParserCOLLATION, MongoShellParserCOMMENT, MongoShellParserEXPLAIN, MongoShellParserFOR_EACH, MongoShellParserHAS_NEXT, MongoShellParserHINT, MongoShellParserIS_CLOSED, MongoShellParserIS_EXHAUSTED, MongoShellParserIT_COUNT, MongoShellParserMAP, MongoShellParserMAX, MongoShellParserMAX_AWAIT_TIME_MS, MongoShellParserMAX_TIME_MS, MongoShellParserMIN, MongoShellParserNEXT, MongoShellParserNO_CURSOR_TIMEOUT, MongoShellParserOBJS_LEFT_IN_BATCH, MongoShellParserPRETTY, MongoShellParserREAD_CONCERN, MongoShellParserREAD_PREF, MongoShellParserRETURN_KEY, MongoShellParserSHOW_RECORD_ID, MongoShellParserSIZE, MongoShellParserTAILABLE, MongoShellParserTO_ARRAY, MongoShellParserTRY_NEXT, MongoShellParserALLOW_DISK_USE, MongoShellParserADD_OPTION, MongoShellParserDOLLAR, MongoShellParserIDENTIFIER: - localctx = NewUnquotedKeyContext(p, localctx) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1153) - p.Identifier() - } +func NewDocumentValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DocumentValueContext { + var p = new(DocumentValueContext) - case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: - localctx = NewQuotedKeyContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(1154) - p.StringLiteral() + InitEmptyValueContext(&p.ValueContext) + p.parser = parser + p.CopyAll(ctx.(*ValueContext)) + + return p +} + +func (s *DocumentValueContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *DocumentValueContext) Document() IDocumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDocumentContext); ok { + t = ctx.(antlr.RuleContext) + break } + } - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + if t == nil { + return nil } -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) + return t.(IDocumentContext) +} + +func (s *DocumentValueContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterDocumentValue(s) } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used } -// IValueContext is an interface to support dynamic dispatch. -type IValueContext interface { - antlr.ParserRuleContext +func (s *DocumentValueContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitDocumentValue(s) + } +} - // GetParser returns the parser. - GetParser() antlr.Parser - // IsValueContext differentiates from other interfaces. - IsValueContext() +func (s *DocumentValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitDocumentValue(s) + + default: + return t.VisitChildren(s) + } } -type ValueContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +type HelperValueContext struct { + ValueContext } -func NewEmptyValueContext() *ValueContext { - var p = new(ValueContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_value +func NewHelperValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *HelperValueContext { + var p = new(HelperValueContext) + + InitEmptyValueContext(&p.ValueContext) + p.parser = parser + p.CopyAll(ctx.(*ValueContext)) + return p } -func InitEmptyValueContext(p *ValueContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_value +func (s *HelperValueContext) GetRuleContext() antlr.RuleContext { + return s } -func (*ValueContext) IsValueContext() {} - -func NewValueContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ValueContext { - var p = new(ValueContext) - - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *HelperValueContext) HelperFunction() IHelperFunctionContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IHelperFunctionContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_value + if t == nil { + return nil + } - return p + return t.(IHelperFunctionContext) } -func (s *ValueContext) GetParser() antlr.Parser { return s.parser } +func (s *HelperValueContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterHelperValue(s) + } +} -func (s *ValueContext) CopyAll(ctx *ValueContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) +func (s *HelperValueContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitHelperValue(s) + } } -func (s *ValueContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *HelperValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitHelperValue(s) -func (s *ValueContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) + default: + return t.VisitChildren(s) + } } -type RegexpConstructorValueContext struct { +type LiteralValueContext struct { ValueContext } -func NewRegexpConstructorValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *RegexpConstructorValueContext { - var p = new(RegexpConstructorValueContext) +func NewLiteralValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *LiteralValueContext { + var p = new(LiteralValueContext) InitEmptyValueContext(&p.ValueContext) p.parser = parser @@ -22995,14 +33656,14 @@ func NewRegexpConstructorValueContext(parser antlr.Parser, ctx antlr.ParserRuleC return p } -func (s *RegexpConstructorValueContext) GetRuleContext() antlr.RuleContext { +func (s *LiteralValueContext) GetRuleContext() antlr.RuleContext { return s } -func (s *RegexpConstructorValueContext) RegExpConstructor() IRegExpConstructorContext { +func (s *LiteralValueContext) Literal() ILiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IRegExpConstructorContext); ok { + if _, ok := ctx.(ILiteralContext); ok { t = ctx.(antlr.RuleContext) break } @@ -23012,153 +33673,269 @@ func (s *RegexpConstructorValueContext) RegExpConstructor() IRegExpConstructorCo return nil } - return t.(IRegExpConstructorContext) + return t.(ILiteralContext) } -func (s *RegexpConstructorValueContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *LiteralValueContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterRegexpConstructorValue(s) + listenerT.EnterLiteralValue(s) } } -func (s *RegexpConstructorValueContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *LiteralValueContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitRegexpConstructorValue(s) + listenerT.ExitLiteralValue(s) } } -func (s *RegexpConstructorValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *LiteralValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitRegexpConstructorValue(s) + return t.VisitLiteralValue(s) default: return t.VisitChildren(s) } } -type RegexLiteralValueContext struct { - ValueContext +func (p *MongoShellParser) Value() (localctx IValueContext) { + localctx = NewValueContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 226, MongoShellParserRULE_value) + p.SetState(1716) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetTokenStream().LA(1) { + case MongoShellParserLBRACE: + localctx = NewDocumentValueContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1709) + p.Document() + } + + case MongoShellParserLBRACKET: + localctx = NewArrayValueContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1710) + p.Array() + } + + case MongoShellParserOBJECT_ID, MongoShellParserISO_DATE, MongoShellParserDATE, MongoShellParserUUID, MongoShellParserLONG, MongoShellParserNUMBER_LONG, MongoShellParserINT32, MongoShellParserNUMBER_INT, MongoShellParserDOUBLE, MongoShellParserDECIMAL128, MongoShellParserNUMBER_DECIMAL, MongoShellParserTIMESTAMP, MongoShellParserBIN_DATA, MongoShellParserBINARY, MongoShellParserBSON_REG_EXP, MongoShellParserHEX_DATA: + localctx = NewHelperValueContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1711) + p.HelperFunction() + } + + case MongoShellParserREGEX_LITERAL: + localctx = NewRegexLiteralValueContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1712) + p.Match(MongoShellParserREGEX_LITERAL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserREG_EXP: + localctx = NewRegexpConstructorValueContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1713) + p.RegExpConstructor() + } + + case MongoShellParserTRUE, MongoShellParserFALSE, MongoShellParserNULL, MongoShellParserNUMBER, MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: + localctx = NewLiteralValueContext(p, localctx) + p.EnterOuterAlt(localctx, 6) + { + p.SetState(1714) + p.Literal() + } + + case MongoShellParserNEW: + localctx = NewNewKeywordValueContext(p, localctx) + p.EnterOuterAlt(localctx, 7) + { + p.SetState(1715) + p.NewKeywordError() + } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit + } + +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) + } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func NewRegexLiteralValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *RegexLiteralValueContext { - var p = new(RegexLiteralValueContext) +// INewKeywordErrorContext is an interface to support dynamic dispatch. +type INewKeywordErrorContext interface { + antlr.ParserRuleContext - InitEmptyValueContext(&p.ValueContext) - p.parser = parser - p.CopyAll(ctx.(*ValueContext)) + // GetParser returns the parser. + GetParser() antlr.Parser + // Getter signatures + NEW() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + OBJECT_ID() antlr.TerminalNode + ISO_DATE() antlr.TerminalNode + DATE() antlr.TerminalNode + UUID() antlr.TerminalNode + LONG() antlr.TerminalNode + NUMBER_LONG() antlr.TerminalNode + INT32() antlr.TerminalNode + NUMBER_INT() antlr.TerminalNode + DOUBLE() antlr.TerminalNode + DECIMAL128() antlr.TerminalNode + NUMBER_DECIMAL() antlr.TerminalNode + TIMESTAMP() antlr.TerminalNode + REG_EXP() antlr.TerminalNode + BIN_DATA() antlr.TerminalNode + BINARY() antlr.TerminalNode + BSON_REG_EXP() antlr.TerminalNode + HEX_DATA() antlr.TerminalNode + Arguments() IArgumentsContext + + // IsNewKeywordErrorContext differentiates from other interfaces. + IsNewKeywordErrorContext() +} + +type NewKeywordErrorContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} + +func NewEmptyNewKeywordErrorContext() *NewKeywordErrorContext { + var p = new(NewKeywordErrorContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_newKeywordError return p } -func (s *RegexLiteralValueContext) GetRuleContext() antlr.RuleContext { - return s +func InitEmptyNewKeywordErrorContext(p *NewKeywordErrorContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_newKeywordError } -func (s *RegexLiteralValueContext) REGEX_LITERAL() antlr.TerminalNode { - return s.GetToken(MongoShellParserREGEX_LITERAL, 0) +func (*NewKeywordErrorContext) IsNewKeywordErrorContext() {} + +func NewNewKeywordErrorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NewKeywordErrorContext { + var p = new(NewKeywordErrorContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_newKeywordError + + return p } -func (s *RegexLiteralValueContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterRegexLiteralValue(s) - } +func (s *NewKeywordErrorContext) GetParser() antlr.Parser { return s.parser } + +func (s *NewKeywordErrorContext) NEW() antlr.TerminalNode { + return s.GetToken(MongoShellParserNEW, 0) } -func (s *RegexLiteralValueContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitRegexLiteralValue(s) - } +func (s *NewKeywordErrorContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *RegexLiteralValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitRegexLiteralValue(s) +func (s *NewKeywordErrorContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} - default: - return t.VisitChildren(s) - } +func (s *NewKeywordErrorContext) OBJECT_ID() antlr.TerminalNode { + return s.GetToken(MongoShellParserOBJECT_ID, 0) } -type ArrayValueContext struct { - ValueContext +func (s *NewKeywordErrorContext) ISO_DATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserISO_DATE, 0) } -func NewArrayValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *ArrayValueContext { - var p = new(ArrayValueContext) +func (s *NewKeywordErrorContext) DATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDATE, 0) +} - InitEmptyValueContext(&p.ValueContext) - p.parser = parser - p.CopyAll(ctx.(*ValueContext)) +func (s *NewKeywordErrorContext) UUID() antlr.TerminalNode { + return s.GetToken(MongoShellParserUUID, 0) +} - return p +func (s *NewKeywordErrorContext) LONG() antlr.TerminalNode { + return s.GetToken(MongoShellParserLONG, 0) } -func (s *ArrayValueContext) GetRuleContext() antlr.RuleContext { - return s +func (s *NewKeywordErrorContext) NUMBER_LONG() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_LONG, 0) } -func (s *ArrayValueContext) Array() IArrayContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArrayContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *NewKeywordErrorContext) INT32() antlr.TerminalNode { + return s.GetToken(MongoShellParserINT32, 0) +} - if t == nil { - return nil - } +func (s *NewKeywordErrorContext) NUMBER_INT() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_INT, 0) +} - return t.(IArrayContext) +func (s *NewKeywordErrorContext) DOUBLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOUBLE, 0) } -func (s *ArrayValueContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterArrayValue(s) - } +func (s *NewKeywordErrorContext) DECIMAL128() antlr.TerminalNode { + return s.GetToken(MongoShellParserDECIMAL128, 0) } -func (s *ArrayValueContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitArrayValue(s) - } +func (s *NewKeywordErrorContext) NUMBER_DECIMAL() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_DECIMAL, 0) } -func (s *ArrayValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitArrayValue(s) - - default: - return t.VisitChildren(s) - } +func (s *NewKeywordErrorContext) TIMESTAMP() antlr.TerminalNode { + return s.GetToken(MongoShellParserTIMESTAMP, 0) } -type NewKeywordValueContext struct { - ValueContext +func (s *NewKeywordErrorContext) REG_EXP() antlr.TerminalNode { + return s.GetToken(MongoShellParserREG_EXP, 0) } -func NewNewKeywordValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NewKeywordValueContext { - var p = new(NewKeywordValueContext) +func (s *NewKeywordErrorContext) BIN_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserBIN_DATA, 0) +} - InitEmptyValueContext(&p.ValueContext) - p.parser = parser - p.CopyAll(ctx.(*ValueContext)) +func (s *NewKeywordErrorContext) BINARY() antlr.TerminalNode { + return s.GetToken(MongoShellParserBINARY, 0) +} - return p +func (s *NewKeywordErrorContext) BSON_REG_EXP() antlr.TerminalNode { + return s.GetToken(MongoShellParserBSON_REG_EXP, 0) } -func (s *NewKeywordValueContext) GetRuleContext() antlr.RuleContext { - return s +func (s *NewKeywordErrorContext) HEX_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserHEX_DATA, 0) } -func (s *NewKeywordValueContext) NewKeywordError() INewKeywordErrorContext { +func (s *NewKeywordErrorContext) Arguments() IArgumentsContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(INewKeywordErrorContext); ok { + if _, ok := ctx.(IArgumentsContext); ok { t = ctx.(antlr.RuleContext) break } @@ -23168,167 +33945,199 @@ func (s *NewKeywordValueContext) NewKeywordError() INewKeywordErrorContext { return nil } - return t.(INewKeywordErrorContext) + return t.(IArgumentsContext) } -func (s *NewKeywordValueContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *NewKeywordErrorContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *NewKeywordErrorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *NewKeywordErrorContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterNewKeywordValue(s) + listenerT.EnterNewKeywordError(s) } } -func (s *NewKeywordValueContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *NewKeywordErrorContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitNewKeywordValue(s) + listenerT.ExitNewKeywordError(s) } } -func (s *NewKeywordValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *NewKeywordErrorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitNewKeywordValue(s) + return t.VisitNewKeywordError(s) default: return t.VisitChildren(s) } } -type DocumentValueContext struct { - ValueContext -} - -func NewDocumentValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *DocumentValueContext { - var p = new(DocumentValueContext) - - InitEmptyValueContext(&p.ValueContext) - p.parser = parser - p.CopyAll(ctx.(*ValueContext)) - - return p -} - -func (s *DocumentValueContext) GetRuleContext() antlr.RuleContext { - return s -} +func (p *MongoShellParser) NewKeywordError() (localctx INewKeywordErrorContext) { + localctx = NewNewKeywordErrorContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 228, MongoShellParserRULE_newKeywordError) + var _la int -func (s *DocumentValueContext) Document() IDocumentContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDocumentContext); ok { - t = ctx.(antlr.RuleContext) - break + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1718) + p.Match(MongoShellParserNEW) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } + { + p.SetState(1719) + _la = p.GetTokenStream().LA(1) - if t == nil { - return nil + if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073733632) != 0) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } + p.NotifyErrorListeners("'new' keyword is not supported. Use ObjectId(), ISODate(), UUID(), etc. directly without 'new'", nil, nil) + { + p.SetState(1721) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1723) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - return t.(IDocumentContext) -} + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { + { + p.SetState(1722) + p.Arguments() + } -func (s *DocumentValueContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDocumentValue(s) } -} + { + p.SetState(1725) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *DocumentValueContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDocumentValue(s) +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *DocumentValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitDocumentValue(s) +// IArrayContext is an interface to support dynamic dispatch. +type IArrayContext interface { + antlr.ParserRuleContext - default: - return t.VisitChildren(s) - } -} + // GetParser returns the parser. + GetParser() antlr.Parser -type HelperValueContext struct { - ValueContext -} + // Getter signatures + LBRACKET() antlr.TerminalNode + RBRACKET() antlr.TerminalNode + AllValue() []IValueContext + Value(i int) IValueContext + AllCOMMA() []antlr.TerminalNode + COMMA(i int) antlr.TerminalNode -func NewHelperValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *HelperValueContext { - var p = new(HelperValueContext) + // IsArrayContext differentiates from other interfaces. + IsArrayContext() +} - InitEmptyValueContext(&p.ValueContext) - p.parser = parser - p.CopyAll(ctx.(*ValueContext)) +type ArrayContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} +func NewEmptyArrayContext() *ArrayContext { + var p = new(ArrayContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_array return p } -func (s *HelperValueContext) GetRuleContext() antlr.RuleContext { - return s +func InitEmptyArrayContext(p *ArrayContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_array } -func (s *HelperValueContext) HelperFunction() IHelperFunctionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IHelperFunctionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*ArrayContext) IsArrayContext() {} - if t == nil { - return nil - } +func NewArrayContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayContext { + var p = new(ArrayContext) - return t.(IHelperFunctionContext) -} + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) -func (s *HelperValueContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterHelperValue(s) - } -} + p.parser = parser + p.RuleIndex = MongoShellParserRULE_array -func (s *HelperValueContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitHelperValue(s) - } + return p } -func (s *HelperValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitHelperValue(s) +func (s *ArrayContext) GetParser() antlr.Parser { return s.parser } - default: - return t.VisitChildren(s) - } +func (s *ArrayContext) LBRACKET() antlr.TerminalNode { + return s.GetToken(MongoShellParserLBRACKET, 0) } -type LiteralValueContext struct { - ValueContext +func (s *ArrayContext) RBRACKET() antlr.TerminalNode { + return s.GetToken(MongoShellParserRBRACKET, 0) } -func NewLiteralValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *LiteralValueContext { - var p = new(LiteralValueContext) - - InitEmptyValueContext(&p.ValueContext) - p.parser = parser - p.CopyAll(ctx.(*ValueContext)) +func (s *ArrayContext) AllValue() []IValueContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IValueContext); ok { + len++ + } + } - return p -} + tst := make([]IValueContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IValueContext); ok { + tst[i] = t.(IValueContext) + i++ + } + } -func (s *LiteralValueContext) GetRuleContext() antlr.RuleContext { - return s + return tst } -func (s *LiteralValueContext) Literal() ILiteralContext { +func (s *ArrayContext) Value(i int) IValueContext { var t antlr.RuleContext + j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILiteralContext); ok { - t = ctx.(antlr.RuleContext) - break + if _, ok := ctx.(IValueContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ } } @@ -23336,104 +34145,137 @@ func (s *LiteralValueContext) Literal() ILiteralContext { return nil } - return t.(ILiteralContext) + return t.(IValueContext) } -func (s *LiteralValueContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ArrayContext) AllCOMMA() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserCOMMA) +} + +func (s *ArrayContext) COMMA(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMA, i) +} + +func (s *ArrayContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *ArrayContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *ArrayContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterLiteralValue(s) + listenerT.EnterArray(s) } } -func (s *LiteralValueContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ArrayContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitLiteralValue(s) + listenerT.ExitArray(s) } } -func (s *LiteralValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ArrayContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitLiteralValue(s) + return t.VisitArray(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) Value() (localctx IValueContext) { - localctx = NewValueContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 186, MongoShellParserRULE_value) - p.SetState(1164) +func (p *MongoShellParser) Array() (localctx IArrayContext) { + localctx = NewArrayContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 230, MongoShellParserRULE_array) + var _la int + + var _alt int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1727) + p.Match(MongoShellParserLBRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1739) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } + _la = p.GetTokenStream().LA(1) - switch p.GetTokenStream().LA(1) { - case MongoShellParserLBRACE: - localctx = NewDocumentValueContext(p, localctx) - p.EnterOuterAlt(localctx, 1) + if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-199)) & ^0x3f) == 0 && ((int64(1)<<(_la-199))&30725) != 0) { { - p.SetState(1157) - p.Document() + p.SetState(1728) + p.Value() } - - case MongoShellParserLBRACKET: - localctx = NewArrayValueContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(1158) - p.Array() + p.SetState(1733) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } - - case MongoShellParserOBJECT_ID, MongoShellParserISO_DATE, MongoShellParserDATE, MongoShellParserUUID, MongoShellParserLONG, MongoShellParserNUMBER_LONG, MongoShellParserINT32, MongoShellParserNUMBER_INT, MongoShellParserDOUBLE, MongoShellParserDECIMAL128, MongoShellParserNUMBER_DECIMAL, MongoShellParserTIMESTAMP, MongoShellParserBIN_DATA, MongoShellParserBINARY, MongoShellParserBSON_REG_EXP, MongoShellParserHEX_DATA: - localctx = NewHelperValueContext(p, localctx) - p.EnterOuterAlt(localctx, 3) - { - p.SetState(1159) - p.HelperFunction() + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 137, p.GetParserRuleContext()) + if p.HasError() { + goto errorExit } + for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { + if _alt == 1 { + { + p.SetState(1729) + p.Match(MongoShellParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1730) + p.Value() + } - case MongoShellParserREGEX_LITERAL: - localctx = NewRegexLiteralValueContext(p, localctx) - p.EnterOuterAlt(localctx, 4) - { - p.SetState(1160) - p.Match(MongoShellParserREGEX_LITERAL) + } + p.SetState(1735) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 137, p.GetParserRuleContext()) if p.HasError() { - // Recognition error - abort rule goto errorExit } } - - case MongoShellParserREG_EXP: - localctx = NewRegexpConstructorValueContext(p, localctx) - p.EnterOuterAlt(localctx, 5) - { - p.SetState(1161) - p.RegExpConstructor() + p.SetState(1737) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - case MongoShellParserTRUE, MongoShellParserFALSE, MongoShellParserNULL, MongoShellParserNUMBER, MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: - localctx = NewLiteralValueContext(p, localctx) - p.EnterOuterAlt(localctx, 6) - { - p.SetState(1162) - p.Literal() - } + if _la == MongoShellParserCOMMA { + { + p.SetState(1736) + p.Match(MongoShellParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - case MongoShellParserNEW: - localctx = NewNewKeywordValueContext(p, localctx) - p.EnterOuterAlt(localctx, 7) - { - p.SetState(1163) - p.NewKeywordError() } - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + } + { + p.SetState(1741) + p.Match(MongoShellParserRBRACKET) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -23449,156 +34291,260 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// INewKeywordErrorContext is an interface to support dynamic dispatch. -type INewKeywordErrorContext interface { +// IHelperFunctionContext is an interface to support dynamic dispatch. +type IHelperFunctionContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - NEW() antlr.TerminalNode - LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - OBJECT_ID() antlr.TerminalNode - ISO_DATE() antlr.TerminalNode - DATE() antlr.TerminalNode - UUID() antlr.TerminalNode - LONG() antlr.TerminalNode - NUMBER_LONG() antlr.TerminalNode - INT32() antlr.TerminalNode - NUMBER_INT() antlr.TerminalNode - DOUBLE() antlr.TerminalNode - DECIMAL128() antlr.TerminalNode - NUMBER_DECIMAL() antlr.TerminalNode - TIMESTAMP() antlr.TerminalNode - REG_EXP() antlr.TerminalNode - BIN_DATA() antlr.TerminalNode - BINARY() antlr.TerminalNode - BSON_REG_EXP() antlr.TerminalNode - HEX_DATA() antlr.TerminalNode - Arguments() IArgumentsContext + ObjectIdHelper() IObjectIdHelperContext + IsoDateHelper() IIsoDateHelperContext + DateHelper() IDateHelperContext + UuidHelper() IUuidHelperContext + LongHelper() ILongHelperContext + Int32Helper() IInt32HelperContext + DoubleHelper() IDoubleHelperContext + Decimal128Helper() IDecimal128HelperContext + TimestampHelper() ITimestampHelperContext + BinDataHelper() IBinDataHelperContext + BinaryHelper() IBinaryHelperContext + BsonRegExpHelper() IBsonRegExpHelperContext + HexDataHelper() IHexDataHelperContext - // IsNewKeywordErrorContext differentiates from other interfaces. - IsNewKeywordErrorContext() + // IsHelperFunctionContext differentiates from other interfaces. + IsHelperFunctionContext() } -type NewKeywordErrorContext struct { +type HelperFunctionContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyNewKeywordErrorContext() *NewKeywordErrorContext { - var p = new(NewKeywordErrorContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_newKeywordError - return p +func NewEmptyHelperFunctionContext() *HelperFunctionContext { + var p = new(HelperFunctionContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_helperFunction + return p +} + +func InitEmptyHelperFunctionContext(p *HelperFunctionContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_helperFunction +} + +func (*HelperFunctionContext) IsHelperFunctionContext() {} + +func NewHelperFunctionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HelperFunctionContext { + var p = new(HelperFunctionContext) + + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_helperFunction + + return p +} + +func (s *HelperFunctionContext) GetParser() antlr.Parser { return s.parser } + +func (s *HelperFunctionContext) ObjectIdHelper() IObjectIdHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IObjectIdHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IObjectIdHelperContext) +} + +func (s *HelperFunctionContext) IsoDateHelper() IIsoDateHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IIsoDateHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IIsoDateHelperContext) } -func InitEmptyNewKeywordErrorContext(p *NewKeywordErrorContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_newKeywordError -} +func (s *HelperFunctionContext) DateHelper() IDateHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDateHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (*NewKeywordErrorContext) IsNewKeywordErrorContext() {} + if t == nil { + return nil + } -func NewNewKeywordErrorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NewKeywordErrorContext { - var p = new(NewKeywordErrorContext) + return t.(IDateHelperContext) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *HelperFunctionContext) UuidHelper() IUuidHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IUuidHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } - p.parser = parser - p.RuleIndex = MongoShellParserRULE_newKeywordError + if t == nil { + return nil + } - return p + return t.(IUuidHelperContext) } -func (s *NewKeywordErrorContext) GetParser() antlr.Parser { return s.parser } +func (s *HelperFunctionContext) LongHelper() ILongHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ILongHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) NEW() antlr.TerminalNode { - return s.GetToken(MongoShellParserNEW, 0) -} + if t == nil { + return nil + } -func (s *NewKeywordErrorContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) + return t.(ILongHelperContext) } -func (s *NewKeywordErrorContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} +func (s *HelperFunctionContext) Int32Helper() IInt32HelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IInt32HelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) OBJECT_ID() antlr.TerminalNode { - return s.GetToken(MongoShellParserOBJECT_ID, 0) -} + if t == nil { + return nil + } -func (s *NewKeywordErrorContext) ISO_DATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserISO_DATE, 0) + return t.(IInt32HelperContext) } -func (s *NewKeywordErrorContext) DATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDATE, 0) -} +func (s *HelperFunctionContext) DoubleHelper() IDoubleHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDoubleHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) UUID() antlr.TerminalNode { - return s.GetToken(MongoShellParserUUID, 0) -} + if t == nil { + return nil + } -func (s *NewKeywordErrorContext) LONG() antlr.TerminalNode { - return s.GetToken(MongoShellParserLONG, 0) + return t.(IDoubleHelperContext) } -func (s *NewKeywordErrorContext) NUMBER_LONG() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_LONG, 0) -} +func (s *HelperFunctionContext) Decimal128Helper() IDecimal128HelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDecimal128HelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) INT32() antlr.TerminalNode { - return s.GetToken(MongoShellParserINT32, 0) -} + if t == nil { + return nil + } -func (s *NewKeywordErrorContext) NUMBER_INT() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_INT, 0) + return t.(IDecimal128HelperContext) } -func (s *NewKeywordErrorContext) DOUBLE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOUBLE, 0) -} +func (s *HelperFunctionContext) TimestampHelper() ITimestampHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(ITimestampHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) DECIMAL128() antlr.TerminalNode { - return s.GetToken(MongoShellParserDECIMAL128, 0) -} + if t == nil { + return nil + } -func (s *NewKeywordErrorContext) NUMBER_DECIMAL() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_DECIMAL, 0) + return t.(ITimestampHelperContext) } -func (s *NewKeywordErrorContext) TIMESTAMP() antlr.TerminalNode { - return s.GetToken(MongoShellParserTIMESTAMP, 0) -} +func (s *HelperFunctionContext) BinDataHelper() IBinDataHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBinDataHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) REG_EXP() antlr.TerminalNode { - return s.GetToken(MongoShellParserREG_EXP, 0) -} + if t == nil { + return nil + } -func (s *NewKeywordErrorContext) BIN_DATA() antlr.TerminalNode { - return s.GetToken(MongoShellParserBIN_DATA, 0) + return t.(IBinDataHelperContext) } -func (s *NewKeywordErrorContext) BINARY() antlr.TerminalNode { - return s.GetToken(MongoShellParserBINARY, 0) -} +func (s *HelperFunctionContext) BinaryHelper() IBinaryHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBinaryHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } -func (s *NewKeywordErrorContext) BSON_REG_EXP() antlr.TerminalNode { - return s.GetToken(MongoShellParserBSON_REG_EXP, 0) + if t == nil { + return nil + } + + return t.(IBinaryHelperContext) } -func (s *NewKeywordErrorContext) HEX_DATA() antlr.TerminalNode { - return s.GetToken(MongoShellParserHEX_DATA, 0) +func (s *HelperFunctionContext) BsonRegExpHelper() IBsonRegExpHelperContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IBsonRegExpHelperContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IBsonRegExpHelperContext) } -func (s *NewKeywordErrorContext) Arguments() IArgumentsContext { +func (s *HelperFunctionContext) HexDataHelper() IHexDataHelperContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IHexDataHelperContext); ok { t = ctx.(antlr.RuleContext) break } @@ -23608,94 +34554,143 @@ func (s *NewKeywordErrorContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IHexDataHelperContext) } -func (s *NewKeywordErrorContext) GetRuleContext() antlr.RuleContext { +func (s *HelperFunctionContext) GetRuleContext() antlr.RuleContext { return s } -func (s *NewKeywordErrorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *HelperFunctionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *NewKeywordErrorContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *HelperFunctionContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterNewKeywordError(s) + listenerT.EnterHelperFunction(s) + } +} + +func (s *HelperFunctionContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitHelperFunction(s) + } +} + +func (s *HelperFunctionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitHelperFunction(s) + + default: + return t.VisitChildren(s) } } -func (s *NewKeywordErrorContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitNewKeywordError(s) - } -} +func (p *MongoShellParser) HelperFunction() (localctx IHelperFunctionContext) { + localctx = NewHelperFunctionContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 232, MongoShellParserRULE_helperFunction) + p.SetState(1756) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetTokenStream().LA(1) { + case MongoShellParserOBJECT_ID: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1743) + p.ObjectIdHelper() + } + + case MongoShellParserISO_DATE: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1744) + p.IsoDateHelper() + } + + case MongoShellParserDATE: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1745) + p.DateHelper() + } + + case MongoShellParserUUID: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1746) + p.UuidHelper() + } + + case MongoShellParserLONG, MongoShellParserNUMBER_LONG: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1747) + p.LongHelper() + } -func (s *NewKeywordErrorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitNewKeywordError(s) + case MongoShellParserINT32, MongoShellParserNUMBER_INT: + p.EnterOuterAlt(localctx, 6) + { + p.SetState(1748) + p.Int32Helper() + } - default: - return t.VisitChildren(s) - } -} + case MongoShellParserDOUBLE: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(1749) + p.DoubleHelper() + } -func (p *MongoShellParser) NewKeywordError() (localctx INewKeywordErrorContext) { - localctx = NewNewKeywordErrorContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 188, MongoShellParserRULE_newKeywordError) - var _la int + case MongoShellParserDECIMAL128, MongoShellParserNUMBER_DECIMAL: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(1750) + p.Decimal128Helper() + } - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1166) - p.Match(MongoShellParserNEW) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + case MongoShellParserTIMESTAMP: + p.EnterOuterAlt(localctx, 9) + { + p.SetState(1751) + p.TimestampHelper() } - } - { - p.SetState(1167) - _la = p.GetTokenStream().LA(1) - if !((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073733632) != 0) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + case MongoShellParserBIN_DATA: + p.EnterOuterAlt(localctx, 10) + { + p.SetState(1752) + p.BinDataHelper() } - } - p.NotifyErrorListeners("'new' keyword is not supported. Use ObjectId(), ISODate(), UUID(), etc. directly without 'new'", nil, nil) - { - p.SetState(1169) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + case MongoShellParserBINARY: + p.EnterOuterAlt(localctx, 11) + { + p.SetState(1753) + p.BinaryHelper() } - } - p.SetState(1171) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { + case MongoShellParserBSON_REG_EXP: + p.EnterOuterAlt(localctx, 12) { - p.SetState(1170) - p.Arguments() + p.SetState(1754) + p.BsonRegExpHelper() } - } - { - p.SetState(1173) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + case MongoShellParserHEX_DATA: + p.EnterOuterAlt(localctx, 13) + { + p.SetState(1755) + p.HexDataHelper() } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } errorExit: @@ -23711,96 +34706,73 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IArrayContext is an interface to support dynamic dispatch. -type IArrayContext interface { +// IObjectIdHelperContext is an interface to support dynamic dispatch. +type IObjectIdHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - LBRACKET() antlr.TerminalNode - RBRACKET() antlr.TerminalNode - AllValue() []IValueContext - Value(i int) IValueContext - AllCOMMA() []antlr.TerminalNode - COMMA(i int) antlr.TerminalNode + OBJECT_ID() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + StringLiteral() IStringLiteralContext - // IsArrayContext differentiates from other interfaces. - IsArrayContext() + // IsObjectIdHelperContext differentiates from other interfaces. + IsObjectIdHelperContext() } -type ArrayContext struct { +type ObjectIdHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyArrayContext() *ArrayContext { - var p = new(ArrayContext) +func NewEmptyObjectIdHelperContext() *ObjectIdHelperContext { + var p = new(ObjectIdHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_array + p.RuleIndex = MongoShellParserRULE_objectIdHelper return p } -func InitEmptyArrayContext(p *ArrayContext) { +func InitEmptyObjectIdHelperContext(p *ObjectIdHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_array + p.RuleIndex = MongoShellParserRULE_objectIdHelper } -func (*ArrayContext) IsArrayContext() {} +func (*ObjectIdHelperContext) IsObjectIdHelperContext() {} -func NewArrayContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayContext { - var p = new(ArrayContext) +func NewObjectIdHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ObjectIdHelperContext { + var p = new(ObjectIdHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_array + p.RuleIndex = MongoShellParserRULE_objectIdHelper return p } -func (s *ArrayContext) GetParser() antlr.Parser { return s.parser } +func (s *ObjectIdHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *ArrayContext) LBRACKET() antlr.TerminalNode { - return s.GetToken(MongoShellParserLBRACKET, 0) +func (s *ObjectIdHelperContext) OBJECT_ID() antlr.TerminalNode { + return s.GetToken(MongoShellParserOBJECT_ID, 0) } -func (s *ArrayContext) RBRACKET() antlr.TerminalNode { - return s.GetToken(MongoShellParserRBRACKET, 0) +func (s *ObjectIdHelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ArrayContext) AllValue() []IValueContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IValueContext); ok { - len++ - } - } - - tst := make([]IValueContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IValueContext); ok { - tst[i] = t.(IValueContext) - i++ - } - } - - return tst +func (s *ObjectIdHelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *ArrayContext) Value(i int) IValueContext { +func (s *ObjectIdHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IValueContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IStringLiteralContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -23808,133 +34780,78 @@ func (s *ArrayContext) Value(i int) IValueContext { return nil } - return t.(IValueContext) -} - -func (s *ArrayContext) AllCOMMA() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserCOMMA) -} - -func (s *ArrayContext) COMMA(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserCOMMA, i) + return t.(IStringLiteralContext) } -func (s *ArrayContext) GetRuleContext() antlr.RuleContext { +func (s *ObjectIdHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ArrayContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *ObjectIdHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *ArrayContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *ObjectIdHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterArray(s) + listenerT.EnterObjectIdHelper(s) } } -func (s *ArrayContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *ObjectIdHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitArray(s) + listenerT.ExitObjectIdHelper(s) } } -func (s *ArrayContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *ObjectIdHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitArray(s) + return t.VisitObjectIdHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) Array() (localctx IArrayContext) { - localctx = NewArrayContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 190, MongoShellParserRULE_array) +func (p *MongoShellParser) ObjectIdHelper() (localctx IObjectIdHelperContext) { + localctx = NewObjectIdHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 234, MongoShellParserRULE_objectIdHelper) var _la int - var _alt int - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1175) - p.Match(MongoShellParserLBRACKET) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - p.SetState(1187) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if ((int64(_la) & ^0x3f) == 0 && ((int64(1)<<_la)&1073734592) != 0) || ((int64((_la-138)) & ^0x3f) == 0 && ((int64(1)<<(_la-138))&30725) != 0) { - { - p.SetState(1176) - p.Value() - } - p.SetState(1181) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 84, p.GetParserRuleContext()) - if p.HasError() { - goto errorExit - } - for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { - if _alt == 1 { - { - p.SetState(1177) - p.Match(MongoShellParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1178) - p.Value() - } - - } - p.SetState(1183) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _alt = p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 84, p.GetParserRuleContext()) - if p.HasError() { - goto errorExit - } + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1758) + p.Match(MongoShellParserOBJECT_ID) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } - p.SetState(1185) - p.GetErrorHandler().Sync(p) + } + { + p.SetState(1759) + p.Match(MongoShellParserLPAREN) if p.HasError() { + // Recognition error - abort rule goto errorExit } - _la = p.GetTokenStream().LA(1) - - if _la == MongoShellParserCOMMA { - { - p.SetState(1184) - p.Match(MongoShellParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } + } + p.SetState(1761) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + if _la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING { + { + p.SetState(1760) + p.StringLiteral() } } { - p.SetState(1189) - p.Match(MongoShellParserRBRACKET) + p.SetState(1763) + p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit @@ -23954,84 +34871,71 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IHelperFunctionContext is an interface to support dynamic dispatch. -type IHelperFunctionContext interface { +// IIsoDateHelperContext is an interface to support dynamic dispatch. +type IIsoDateHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ObjectIdHelper() IObjectIdHelperContext - IsoDateHelper() IIsoDateHelperContext - DateHelper() IDateHelperContext - UuidHelper() IUuidHelperContext - LongHelper() ILongHelperContext - Int32Helper() IInt32HelperContext - DoubleHelper() IDoubleHelperContext - Decimal128Helper() IDecimal128HelperContext - TimestampHelper() ITimestampHelperContext - BinDataHelper() IBinDataHelperContext - BinaryHelper() IBinaryHelperContext - BsonRegExpHelper() IBsonRegExpHelperContext - HexDataHelper() IHexDataHelperContext + ISO_DATE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + StringLiteral() IStringLiteralContext - // IsHelperFunctionContext differentiates from other interfaces. - IsHelperFunctionContext() + // IsIsoDateHelperContext differentiates from other interfaces. + IsIsoDateHelperContext() } -type HelperFunctionContext struct { +type IsoDateHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyHelperFunctionContext() *HelperFunctionContext { - var p = new(HelperFunctionContext) +func NewEmptyIsoDateHelperContext() *IsoDateHelperContext { + var p = new(IsoDateHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_helperFunction + p.RuleIndex = MongoShellParserRULE_isoDateHelper return p } -func InitEmptyHelperFunctionContext(p *HelperFunctionContext) { +func InitEmptyIsoDateHelperContext(p *IsoDateHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_helperFunction + p.RuleIndex = MongoShellParserRULE_isoDateHelper } -func (*HelperFunctionContext) IsHelperFunctionContext() {} +func (*IsoDateHelperContext) IsIsoDateHelperContext() {} -func NewHelperFunctionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HelperFunctionContext { - var p = new(HelperFunctionContext) +func NewIsoDateHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IsoDateHelperContext { + var p = new(IsoDateHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_helperFunction + p.RuleIndex = MongoShellParserRULE_isoDateHelper return p } -func (s *HelperFunctionContext) GetParser() antlr.Parser { return s.parser } +func (s *IsoDateHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *HelperFunctionContext) ObjectIdHelper() IObjectIdHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IObjectIdHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *IsoDateHelperContext) ISO_DATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserISO_DATE, 0) +} - if t == nil { - return nil - } +func (s *IsoDateHelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} - return t.(IObjectIdHelperContext) +func (s *IsoDateHelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *HelperFunctionContext) IsoDateHelper() IIsoDateHelperContext { +func (s *IsoDateHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIsoDateHelperContext); ok { + if _, ok := ctx.(IStringLiteralContext); ok { t = ctx.(antlr.RuleContext) break } @@ -24041,173 +34945,163 @@ func (s *HelperFunctionContext) IsoDateHelper() IIsoDateHelperContext { return nil } - return t.(IIsoDateHelperContext) + return t.(IStringLiteralContext) } -func (s *HelperFunctionContext) DateHelper() IDateHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDateHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *IsoDateHelperContext) GetRuleContext() antlr.RuleContext { + return s +} - return t.(IDateHelperContext) +func (s *IsoDateHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *HelperFunctionContext) UuidHelper() IUuidHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IUuidHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *IsoDateHelperContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterIsoDateHelper(s) } +} - if t == nil { - return nil +func (s *IsoDateHelperContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitIsoDateHelper(s) } - - return t.(IUuidHelperContext) } -func (s *HelperFunctionContext) LongHelper() ILongHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ILongHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *IsoDateHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitIsoDateHelper(s) - if t == nil { - return nil + default: + return t.VisitChildren(s) } - - return t.(ILongHelperContext) } -func (s *HelperFunctionContext) Int32Helper() IInt32HelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IInt32HelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (p *MongoShellParser) IsoDateHelper() (localctx IIsoDateHelperContext) { + localctx = NewIsoDateHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 236, MongoShellParserRULE_isoDateHelper) + var _la int - if t == nil { - return nil + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1765) + p.Match(MongoShellParserISO_DATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - - return t.(IInt32HelperContext) -} - -func (s *HelperFunctionContext) DoubleHelper() IDoubleHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDoubleHelperContext); ok { - t = ctx.(antlr.RuleContext) - break + { + p.SetState(1766) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - - if t == nil { - return nil + p.SetState(1768) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit } + _la = p.GetTokenStream().LA(1) - return t.(IDoubleHelperContext) -} + if _la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING { + { + p.SetState(1767) + p.StringLiteral() + } -func (s *HelperFunctionContext) Decimal128Helper() IDecimal128HelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDecimal128HelperContext); ok { - t = ctx.(antlr.RuleContext) - break + } + { + p.SetState(1770) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } - if t == nil { - return nil +errorExit: + if p.HasError() { + v := p.GetError() + localctx.SetException(v) + p.GetErrorHandler().ReportError(p, v) + p.GetErrorHandler().Recover(p, v) + p.SetError(nil) } - - return t.(IDecimal128HelperContext) + p.ExitRule() + return localctx + goto errorExit // Trick to prevent compiler error if the label is not used } -func (s *HelperFunctionContext) TimestampHelper() ITimestampHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(ITimestampHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +// IDateHelperContext is an interface to support dynamic dispatch. +type IDateHelperContext interface { + antlr.ParserRuleContext - if t == nil { - return nil - } + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + DATE() antlr.TerminalNode + LPAREN() antlr.TerminalNode + RPAREN() antlr.TerminalNode + StringLiteral() IStringLiteralContext + NUMBER() antlr.TerminalNode - return t.(ITimestampHelperContext) + // IsDateHelperContext differentiates from other interfaces. + IsDateHelperContext() } -func (s *HelperFunctionContext) BinDataHelper() IBinDataHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBinDataHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +type DateHelperContext struct { + antlr.BaseParserRuleContext + parser antlr.Parser +} - if t == nil { - return nil - } +func NewEmptyDateHelperContext() *DateHelperContext { + var p = new(DateHelperContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_dateHelper + return p +} - return t.(IBinDataHelperContext) +func InitEmptyDateHelperContext(p *DateHelperContext) { + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) + p.RuleIndex = MongoShellParserRULE_dateHelper } -func (s *HelperFunctionContext) BinaryHelper() IBinaryHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBinaryHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (*DateHelperContext) IsDateHelperContext() {} - if t == nil { - return nil - } +func NewDateHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DateHelperContext { + var p = new(DateHelperContext) - return t.(IBinaryHelperContext) + antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) + + p.parser = parser + p.RuleIndex = MongoShellParserRULE_dateHelper + + return p } -func (s *HelperFunctionContext) BsonRegExpHelper() IBsonRegExpHelperContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IBsonRegExpHelperContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } +func (s *DateHelperContext) GetParser() antlr.Parser { return s.parser } - if t == nil { - return nil - } +func (s *DateHelperContext) DATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDATE, 0) +} - return t.(IBsonRegExpHelperContext) +func (s *DateHelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *HelperFunctionContext) HexDataHelper() IHexDataHelperContext { +func (s *DateHelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *DateHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IHexDataHelperContext); ok { + if _, ok := ctx.(IStringLiteralContext); ok { t = ctx.(antlr.RuleContext) break } @@ -24217,143 +35111,96 @@ func (s *HelperFunctionContext) HexDataHelper() IHexDataHelperContext { return nil } - return t.(IHexDataHelperContext) + return t.(IStringLiteralContext) } -func (s *HelperFunctionContext) GetRuleContext() antlr.RuleContext { +func (s *DateHelperContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) +} + +func (s *DateHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *HelperFunctionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DateHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *HelperFunctionContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DateHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterHelperFunction(s) + listenerT.EnterDateHelper(s) } } -func (s *HelperFunctionContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DateHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitHelperFunction(s) + listenerT.ExitDateHelper(s) } } -func (s *HelperFunctionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DateHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitHelperFunction(s) + return t.VisitDateHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) HelperFunction() (localctx IHelperFunctionContext) { - localctx = NewHelperFunctionContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 192, MongoShellParserRULE_helperFunction) - p.SetState(1204) +func (p *MongoShellParser) DateHelper() (localctx IDateHelperContext) { + localctx = NewDateHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 238, MongoShellParserRULE_dateHelper) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1772) + p.Match(MongoShellParserDATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1773) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + p.SetState(1776) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetTokenStream().LA(1) { - case MongoShellParserOBJECT_ID: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1191) - p.ObjectIdHelper() - } - - case MongoShellParserISO_DATE: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(1192) - p.IsoDateHelper() - } - - case MongoShellParserDATE: - p.EnterOuterAlt(localctx, 3) - { - p.SetState(1193) - p.DateHelper() - } - - case MongoShellParserUUID: - p.EnterOuterAlt(localctx, 4) - { - p.SetState(1194) - p.UuidHelper() - } - - case MongoShellParserLONG, MongoShellParserNUMBER_LONG: - p.EnterOuterAlt(localctx, 5) - { - p.SetState(1195) - p.LongHelper() - } - - case MongoShellParserINT32, MongoShellParserNUMBER_INT: - p.EnterOuterAlt(localctx, 6) - { - p.SetState(1196) - p.Int32Helper() - } - - case MongoShellParserDOUBLE: - p.EnterOuterAlt(localctx, 7) - { - p.SetState(1197) - p.DoubleHelper() - } - - case MongoShellParserDECIMAL128, MongoShellParserNUMBER_DECIMAL: - p.EnterOuterAlt(localctx, 8) - { - p.SetState(1198) - p.Decimal128Helper() - } - - case MongoShellParserTIMESTAMP: - p.EnterOuterAlt(localctx, 9) - { - p.SetState(1199) - p.TimestampHelper() - } - - case MongoShellParserBIN_DATA: - p.EnterOuterAlt(localctx, 10) - { - p.SetState(1200) - p.BinDataHelper() - } - - case MongoShellParserBINARY: - p.EnterOuterAlt(localctx, 11) + case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: { - p.SetState(1201) - p.BinaryHelper() + p.SetState(1774) + p.StringLiteral() } - case MongoShellParserBSON_REG_EXP: - p.EnterOuterAlt(localctx, 12) + case MongoShellParserNUMBER: { - p.SetState(1202) - p.BsonRegExpHelper() + p.SetState(1775) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - case MongoShellParserHEX_DATA: - p.EnterOuterAlt(localctx, 13) - { - p.SetState(1203) - p.HexDataHelper() - } + case MongoShellParserRPAREN: default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + } + { + p.SetState(1778) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } errorExit: @@ -24369,68 +35216,64 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IObjectIdHelperContext is an interface to support dynamic dispatch. -type IObjectIdHelperContext interface { +// IUuidHelperContext is an interface to support dynamic dispatch. +type IUuidHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - OBJECT_ID() antlr.TerminalNode + UUID() antlr.TerminalNode LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode StringLiteral() IStringLiteralContext + RPAREN() antlr.TerminalNode - // IsObjectIdHelperContext differentiates from other interfaces. - IsObjectIdHelperContext() + // IsUuidHelperContext differentiates from other interfaces. + IsUuidHelperContext() } -type ObjectIdHelperContext struct { +type UuidHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyObjectIdHelperContext() *ObjectIdHelperContext { - var p = new(ObjectIdHelperContext) +func NewEmptyUuidHelperContext() *UuidHelperContext { + var p = new(UuidHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_objectIdHelper + p.RuleIndex = MongoShellParserRULE_uuidHelper return p } -func InitEmptyObjectIdHelperContext(p *ObjectIdHelperContext) { +func InitEmptyUuidHelperContext(p *UuidHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_objectIdHelper + p.RuleIndex = MongoShellParserRULE_uuidHelper } -func (*ObjectIdHelperContext) IsObjectIdHelperContext() {} +func (*UuidHelperContext) IsUuidHelperContext() {} -func NewObjectIdHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ObjectIdHelperContext { - var p = new(ObjectIdHelperContext) +func NewUuidHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UuidHelperContext { + var p = new(UuidHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_objectIdHelper + p.RuleIndex = MongoShellParserRULE_uuidHelper return p } -func (s *ObjectIdHelperContext) GetParser() antlr.Parser { return s.parser } - -func (s *ObjectIdHelperContext) OBJECT_ID() antlr.TerminalNode { - return s.GetToken(MongoShellParserOBJECT_ID, 0) -} - -func (s *ObjectIdHelperContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *UuidHelperContext) GetParser() antlr.Parser { return s.parser } + +func (s *UuidHelperContext) UUID() antlr.TerminalNode { + return s.GetToken(MongoShellParserUUID, 0) } -func (s *ObjectIdHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *UuidHelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *ObjectIdHelperContext) StringLiteral() IStringLiteralContext { +func (s *UuidHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IStringLiteralContext); ok { @@ -24446,74 +35289,66 @@ func (s *ObjectIdHelperContext) StringLiteral() IStringLiteralContext { return t.(IStringLiteralContext) } -func (s *ObjectIdHelperContext) GetRuleContext() antlr.RuleContext { +func (s *UuidHelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *UuidHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *ObjectIdHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *UuidHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *ObjectIdHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *UuidHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterObjectIdHelper(s) + listenerT.EnterUuidHelper(s) } } -func (s *ObjectIdHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *UuidHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitObjectIdHelper(s) + listenerT.ExitUuidHelper(s) } } -func (s *ObjectIdHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *UuidHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitObjectIdHelper(s) + return t.VisitUuidHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) ObjectIdHelper() (localctx IObjectIdHelperContext) { - localctx = NewObjectIdHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 194, MongoShellParserRULE_objectIdHelper) - var _la int - +func (p *MongoShellParser) UuidHelper() (localctx IUuidHelperContext) { + localctx = NewUuidHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 240, MongoShellParserRULE_uuidHelper) p.EnterOuterAlt(localctx, 1) { - p.SetState(1206) - p.Match(MongoShellParserOBJECT_ID) + p.SetState(1780) + p.Match(MongoShellParserUUID) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1207) + p.SetState(1781) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1209) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING { - { - p.SetState(1208) - p.StringLiteral() - } - + { + p.SetState(1782) + p.StringLiteral() } { - p.SetState(1211) + p.SetState(1783) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -24534,68 +35369,78 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IIsoDateHelperContext is an interface to support dynamic dispatch. -type IIsoDateHelperContext interface { +// ILongHelperContext is an interface to support dynamic dispatch. +type ILongHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - ISO_DATE() antlr.TerminalNode LPAREN() antlr.TerminalNode RPAREN() antlr.TerminalNode + LONG() antlr.TerminalNode + NUMBER_LONG() antlr.TerminalNode + NUMBER() antlr.TerminalNode StringLiteral() IStringLiteralContext - // IsIsoDateHelperContext differentiates from other interfaces. - IsIsoDateHelperContext() + // IsLongHelperContext differentiates from other interfaces. + IsLongHelperContext() } -type IsoDateHelperContext struct { +type LongHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyIsoDateHelperContext() *IsoDateHelperContext { - var p = new(IsoDateHelperContext) +func NewEmptyLongHelperContext() *LongHelperContext { + var p = new(LongHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_isoDateHelper + p.RuleIndex = MongoShellParserRULE_longHelper return p } -func InitEmptyIsoDateHelperContext(p *IsoDateHelperContext) { +func InitEmptyLongHelperContext(p *LongHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_isoDateHelper + p.RuleIndex = MongoShellParserRULE_longHelper } -func (*IsoDateHelperContext) IsIsoDateHelperContext() {} +func (*LongHelperContext) IsLongHelperContext() {} -func NewIsoDateHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IsoDateHelperContext { - var p = new(IsoDateHelperContext) +func NewLongHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LongHelperContext { + var p = new(LongHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_isoDateHelper + p.RuleIndex = MongoShellParserRULE_longHelper return p } -func (s *IsoDateHelperContext) GetParser() antlr.Parser { return s.parser } - -func (s *IsoDateHelperContext) ISO_DATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserISO_DATE, 0) -} +func (s *LongHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *IsoDateHelperContext) LPAREN() antlr.TerminalNode { +func (s *LongHelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *IsoDateHelperContext) RPAREN() antlr.TerminalNode { +func (s *LongHelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *IsoDateHelperContext) StringLiteral() IStringLiteralContext { +func (s *LongHelperContext) LONG() antlr.TerminalNode { + return s.GetToken(MongoShellParserLONG, 0) +} + +func (s *LongHelperContext) NUMBER_LONG() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_LONG, 0) +} + +func (s *LongHelperContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) +} + +func (s *LongHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IStringLiteralContext); ok { @@ -24611,74 +35456,90 @@ func (s *IsoDateHelperContext) StringLiteral() IStringLiteralContext { return t.(IStringLiteralContext) } -func (s *IsoDateHelperContext) GetRuleContext() antlr.RuleContext { +func (s *LongHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *IsoDateHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *LongHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *IsoDateHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *LongHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterIsoDateHelper(s) + listenerT.EnterLongHelper(s) } } -func (s *IsoDateHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *LongHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitIsoDateHelper(s) + listenerT.ExitLongHelper(s) } } -func (s *IsoDateHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *LongHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitIsoDateHelper(s) + return t.VisitLongHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) IsoDateHelper() (localctx IIsoDateHelperContext) { - localctx = NewIsoDateHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 196, MongoShellParserRULE_isoDateHelper) +func (p *MongoShellParser) LongHelper() (localctx ILongHelperContext) { + localctx = NewLongHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 242, MongoShellParserRULE_longHelper) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1213) - p.Match(MongoShellParserISO_DATE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(1785) + _la = p.GetTokenStream().LA(1) + + if !(_la == MongoShellParserLONG || _la == MongoShellParserNUMBER_LONG) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } { - p.SetState(1214) + p.SetState(1786) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1216) + p.SetState(1789) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - _la = p.GetTokenStream().LA(1) - if _la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING { + switch p.GetTokenStream().LA(1) { + case MongoShellParserNUMBER: + { + p.SetState(1787) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: { - p.SetState(1215) + p.SetState(1788) p.StringLiteral() } + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } { - p.SetState(1218) + p.SetState(1791) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -24699,166 +35560,141 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDateHelperContext is an interface to support dynamic dispatch. -type IDateHelperContext interface { +// IInt32HelperContext is an interface to support dynamic dispatch. +type IInt32HelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DATE() antlr.TerminalNode LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - StringLiteral() IStringLiteralContext NUMBER() antlr.TerminalNode + RPAREN() antlr.TerminalNode + INT32() antlr.TerminalNode + NUMBER_INT() antlr.TerminalNode - // IsDateHelperContext differentiates from other interfaces. - IsDateHelperContext() + // IsInt32HelperContext differentiates from other interfaces. + IsInt32HelperContext() } -type DateHelperContext struct { +type Int32HelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDateHelperContext() *DateHelperContext { - var p = new(DateHelperContext) +func NewEmptyInt32HelperContext() *Int32HelperContext { + var p = new(Int32HelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dateHelper + p.RuleIndex = MongoShellParserRULE_int32Helper return p } -func InitEmptyDateHelperContext(p *DateHelperContext) { +func InitEmptyInt32HelperContext(p *Int32HelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_dateHelper + p.RuleIndex = MongoShellParserRULE_int32Helper } -func (*DateHelperContext) IsDateHelperContext() {} +func (*Int32HelperContext) IsInt32HelperContext() {} -func NewDateHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DateHelperContext { - var p = new(DateHelperContext) +func NewInt32HelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Int32HelperContext { + var p = new(Int32HelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_dateHelper + p.RuleIndex = MongoShellParserRULE_int32Helper return p } -func (s *DateHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *Int32HelperContext) GetParser() antlr.Parser { return s.parser } -func (s *DateHelperContext) DATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDATE, 0) +func (s *Int32HelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DateHelperContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *Int32HelperContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) } -func (s *DateHelperContext) RPAREN() antlr.TerminalNode { +func (s *Int32HelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DateHelperContext) StringLiteral() IStringLiteralContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IStringLiteralContext) +func (s *Int32HelperContext) INT32() antlr.TerminalNode { + return s.GetToken(MongoShellParserINT32, 0) } -func (s *DateHelperContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) +func (s *Int32HelperContext) NUMBER_INT() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_INT, 0) } -func (s *DateHelperContext) GetRuleContext() antlr.RuleContext { +func (s *Int32HelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DateHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Int32HelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DateHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Int32HelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDateHelper(s) + listenerT.EnterInt32Helper(s) } } -func (s *DateHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Int32HelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDateHelper(s) + listenerT.ExitInt32Helper(s) } } -func (s *DateHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Int32HelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDateHelper(s) + return t.VisitInt32Helper(s) default: return t.VisitChildren(s) } -} - -func (p *MongoShellParser) DateHelper() (localctx IDateHelperContext) { - localctx = NewDateHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 198, MongoShellParserRULE_dateHelper) - p.EnterOuterAlt(localctx, 1) +} + +func (p *MongoShellParser) Int32Helper() (localctx IInt32HelperContext) { + localctx = NewInt32HelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 244, MongoShellParserRULE_int32Helper) + var _la int + + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1793) + _la = p.GetTokenStream().LA(1) + + if !(_la == MongoShellParserINT32 || _la == MongoShellParserNUMBER_INT) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() + } + } { - p.SetState(1220) - p.Match(MongoShellParserDATE) + p.SetState(1794) + p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1221) - p.Match(MongoShellParserLPAREN) + p.SetState(1795) + p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1224) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - switch p.GetTokenStream().LA(1) { - case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: - { - p.SetState(1222) - p.StringLiteral() - } - - case MongoShellParserNUMBER: - { - p.SetState(1223) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case MongoShellParserRPAREN: - - default: - } { - p.SetState(1226) + p.SetState(1796) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -24879,127 +35715,115 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IUuidHelperContext is an interface to support dynamic dispatch. -type IUuidHelperContext interface { +// IDoubleHelperContext is an interface to support dynamic dispatch. +type IDoubleHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - UUID() antlr.TerminalNode + DOUBLE() antlr.TerminalNode LPAREN() antlr.TerminalNode - StringLiteral() IStringLiteralContext + NUMBER() antlr.TerminalNode RPAREN() antlr.TerminalNode - // IsUuidHelperContext differentiates from other interfaces. - IsUuidHelperContext() + // IsDoubleHelperContext differentiates from other interfaces. + IsDoubleHelperContext() } -type UuidHelperContext struct { +type DoubleHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyUuidHelperContext() *UuidHelperContext { - var p = new(UuidHelperContext) +func NewEmptyDoubleHelperContext() *DoubleHelperContext { + var p = new(DoubleHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_uuidHelper + p.RuleIndex = MongoShellParserRULE_doubleHelper return p } -func InitEmptyUuidHelperContext(p *UuidHelperContext) { +func InitEmptyDoubleHelperContext(p *DoubleHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_uuidHelper + p.RuleIndex = MongoShellParserRULE_doubleHelper } -func (*UuidHelperContext) IsUuidHelperContext() {} +func (*DoubleHelperContext) IsDoubleHelperContext() {} -func NewUuidHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UuidHelperContext { - var p = new(UuidHelperContext) +func NewDoubleHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DoubleHelperContext { + var p = new(DoubleHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_uuidHelper + p.RuleIndex = MongoShellParserRULE_doubleHelper return p } -func (s *UuidHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *DoubleHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *UuidHelperContext) UUID() antlr.TerminalNode { - return s.GetToken(MongoShellParserUUID, 0) +func (s *DoubleHelperContext) DOUBLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOUBLE, 0) } -func (s *UuidHelperContext) LPAREN() antlr.TerminalNode { +func (s *DoubleHelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *UuidHelperContext) StringLiteral() IStringLiteralContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IStringLiteralContext) +func (s *DoubleHelperContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) } -func (s *UuidHelperContext) RPAREN() antlr.TerminalNode { +func (s *DoubleHelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *UuidHelperContext) GetRuleContext() antlr.RuleContext { +func (s *DoubleHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *UuidHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *DoubleHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *UuidHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *DoubleHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterUuidHelper(s) + listenerT.EnterDoubleHelper(s) } } -func (s *UuidHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *DoubleHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitUuidHelper(s) + listenerT.ExitDoubleHelper(s) } } -func (s *UuidHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *DoubleHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitUuidHelper(s) + return t.VisitDoubleHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) UuidHelper() (localctx IUuidHelperContext) { - localctx = NewUuidHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 200, MongoShellParserRULE_uuidHelper) +func (p *MongoShellParser) DoubleHelper() (localctx IDoubleHelperContext) { + localctx = NewDoubleHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 246, MongoShellParserRULE_doubleHelper) p.EnterOuterAlt(localctx, 1) { - p.SetState(1228) - p.Match(MongoShellParserUUID) + p.SetState(1798) + p.Match(MongoShellParserDOUBLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1229) + p.SetState(1799) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -25007,11 +35831,15 @@ func (p *MongoShellParser) UuidHelper() (localctx IUuidHelperContext) { } } { - p.SetState(1230) - p.StringLiteral() + p.SetState(1800) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } { - p.SetState(1231) + p.SetState(1801) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -25032,8 +35860,8 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ILongHelperContext is an interface to support dynamic dispatch. -type ILongHelperContext interface { +// IDecimal128HelperContext is an interface to support dynamic dispatch. +type IDecimal128HelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. @@ -25041,69 +35869,52 @@ type ILongHelperContext interface { // Getter signatures LPAREN() antlr.TerminalNode - RPAREN() antlr.TerminalNode - LONG() antlr.TerminalNode - NUMBER_LONG() antlr.TerminalNode - NUMBER() antlr.TerminalNode StringLiteral() IStringLiteralContext + RPAREN() antlr.TerminalNode + DECIMAL128() antlr.TerminalNode + NUMBER_DECIMAL() antlr.TerminalNode - // IsLongHelperContext differentiates from other interfaces. - IsLongHelperContext() + // IsDecimal128HelperContext differentiates from other interfaces. + IsDecimal128HelperContext() } -type LongHelperContext struct { +type Decimal128HelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyLongHelperContext() *LongHelperContext { - var p = new(LongHelperContext) +func NewEmptyDecimal128HelperContext() *Decimal128HelperContext { + var p = new(Decimal128HelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_longHelper + p.RuleIndex = MongoShellParserRULE_decimal128Helper return p } -func InitEmptyLongHelperContext(p *LongHelperContext) { +func InitEmptyDecimal128HelperContext(p *Decimal128HelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_longHelper + p.RuleIndex = MongoShellParserRULE_decimal128Helper } -func (*LongHelperContext) IsLongHelperContext() {} +func (*Decimal128HelperContext) IsDecimal128HelperContext() {} -func NewLongHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LongHelperContext { - var p = new(LongHelperContext) +func NewDecimal128HelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decimal128HelperContext { + var p = new(Decimal128HelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_longHelper + p.RuleIndex = MongoShellParserRULE_decimal128Helper return p } -func (s *LongHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *Decimal128HelperContext) GetParser() antlr.Parser { return s.parser } -func (s *LongHelperContext) LPAREN() antlr.TerminalNode { +func (s *Decimal128HelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *LongHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *LongHelperContext) LONG() antlr.TerminalNode { - return s.GetToken(MongoShellParserLONG, 0) -} - -func (s *LongHelperContext) NUMBER_LONG() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_LONG, 0) -} - -func (s *LongHelperContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) -} - -func (s *LongHelperContext) StringLiteral() IStringLiteralContext { +func (s *Decimal128HelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IStringLiteralContext); ok { @@ -25119,47 +35930,59 @@ func (s *LongHelperContext) StringLiteral() IStringLiteralContext { return t.(IStringLiteralContext) } -func (s *LongHelperContext) GetRuleContext() antlr.RuleContext { +func (s *Decimal128HelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *Decimal128HelperContext) DECIMAL128() antlr.TerminalNode { + return s.GetToken(MongoShellParserDECIMAL128, 0) +} + +func (s *Decimal128HelperContext) NUMBER_DECIMAL() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_DECIMAL, 0) +} + +func (s *Decimal128HelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *LongHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *Decimal128HelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *LongHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *Decimal128HelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterLongHelper(s) + listenerT.EnterDecimal128Helper(s) } } -func (s *LongHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *Decimal128HelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitLongHelper(s) + listenerT.ExitDecimal128Helper(s) } } -func (s *LongHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *Decimal128HelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitLongHelper(s) + return t.VisitDecimal128Helper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) LongHelper() (localctx ILongHelperContext) { - localctx = NewLongHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 202, MongoShellParserRULE_longHelper) +func (p *MongoShellParser) Decimal128Helper() (localctx IDecimal128HelperContext) { + localctx = NewDecimal128HelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 248, MongoShellParserRULE_decimal128Helper) var _la int p.EnterOuterAlt(localctx, 1) { - p.SetState(1233) + p.SetState(1803) _la = p.GetTokenStream().LA(1) - if !(_la == MongoShellParserLONG || _la == MongoShellParserNUMBER_LONG) { + if !(_la == MongoShellParserDECIMAL128 || _la == MongoShellParserNUMBER_DECIMAL) { p.GetErrorHandler().RecoverInline(p) } else { p.GetErrorHandler().ReportMatch(p) @@ -25167,42 +35990,19 @@ func (p *MongoShellParser) LongHelper() (localctx ILongHelperContext) { } } { - p.SetState(1234) + p.SetState(1804) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - p.SetState(1237) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetTokenStream().LA(1) { - case MongoShellParserNUMBER: - { - p.SetState(1235) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: - { - p.SetState(1236) - p.StringLiteral() - } - - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit + { + p.SetState(1805) + p.StringLiteral() } { - p.SetState(1239) + p.SetState(1806) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -25223,146 +36023,288 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IInt32HelperContext is an interface to support dynamic dispatch. -type IInt32HelperContext interface { +// ITimestampHelperContext is an interface to support dynamic dispatch. +type ITimestampHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. - GetParser() antlr.Parser - - // Getter signatures - LPAREN() antlr.TerminalNode - NUMBER() antlr.TerminalNode - RPAREN() antlr.TerminalNode - INT32() antlr.TerminalNode - NUMBER_INT() antlr.TerminalNode - - // IsInt32HelperContext differentiates from other interfaces. - IsInt32HelperContext() + GetParser() antlr.Parser + // IsTimestampHelperContext differentiates from other interfaces. + IsTimestampHelperContext() } -type Int32HelperContext struct { +type TimestampHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyInt32HelperContext() *Int32HelperContext { - var p = new(Int32HelperContext) +func NewEmptyTimestampHelperContext() *TimestampHelperContext { + var p = new(TimestampHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_int32Helper + p.RuleIndex = MongoShellParserRULE_timestampHelper return p } -func InitEmptyInt32HelperContext(p *Int32HelperContext) { +func InitEmptyTimestampHelperContext(p *TimestampHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_int32Helper + p.RuleIndex = MongoShellParserRULE_timestampHelper } -func (*Int32HelperContext) IsInt32HelperContext() {} +func (*TimestampHelperContext) IsTimestampHelperContext() {} -func NewInt32HelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Int32HelperContext { - var p = new(Int32HelperContext) +func NewTimestampHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TimestampHelperContext { + var p = new(TimestampHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_int32Helper + p.RuleIndex = MongoShellParserRULE_timestampHelper return p } -func (s *Int32HelperContext) GetParser() antlr.Parser { return s.parser } +func (s *TimestampHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *Int32HelperContext) LPAREN() antlr.TerminalNode { +func (s *TimestampHelperContext) CopyAll(ctx *TimestampHelperContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) +} + +func (s *TimestampHelperContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TimestampHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type TimestampArgsHelperContext struct { + TimestampHelperContext +} + +func NewTimestampArgsHelperContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TimestampArgsHelperContext { + var p = new(TimestampArgsHelperContext) + + InitEmptyTimestampHelperContext(&p.TimestampHelperContext) + p.parser = parser + p.CopyAll(ctx.(*TimestampHelperContext)) + + return p +} + +func (s *TimestampArgsHelperContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *TimestampArgsHelperContext) TIMESTAMP() antlr.TerminalNode { + return s.GetToken(MongoShellParserTIMESTAMP, 0) +} + +func (s *TimestampArgsHelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *Int32HelperContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) +func (s *TimestampArgsHelperContext) AllNUMBER() []antlr.TerminalNode { + return s.GetTokens(MongoShellParserNUMBER) } -func (s *Int32HelperContext) RPAREN() antlr.TerminalNode { +func (s *TimestampArgsHelperContext) NUMBER(i int) antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, i) +} + +func (s *TimestampArgsHelperContext) COMMA() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMA, 0) +} + +func (s *TimestampArgsHelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *Int32HelperContext) INT32() antlr.TerminalNode { - return s.GetToken(MongoShellParserINT32, 0) +func (s *TimestampArgsHelperContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterTimestampArgsHelper(s) + } } -func (s *Int32HelperContext) NUMBER_INT() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_INT, 0) +func (s *TimestampArgsHelperContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitTimestampArgsHelper(s) + } } -func (s *Int32HelperContext) GetRuleContext() antlr.RuleContext { +func (s *TimestampArgsHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitTimestampArgsHelper(s) + + default: + return t.VisitChildren(s) + } +} + +type TimestampDocHelperContext struct { + TimestampHelperContext +} + +func NewTimestampDocHelperContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TimestampDocHelperContext { + var p = new(TimestampDocHelperContext) + + InitEmptyTimestampHelperContext(&p.TimestampHelperContext) + p.parser = parser + p.CopyAll(ctx.(*TimestampHelperContext)) + + return p +} + +func (s *TimestampDocHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Int32HelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *TimestampDocHelperContext) TIMESTAMP() antlr.TerminalNode { + return s.GetToken(MongoShellParserTIMESTAMP, 0) } -func (s *Int32HelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *TimestampDocHelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) +} + +func (s *TimestampDocHelperContext) Document() IDocumentContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IDocumentContext); ok { + t = ctx.(antlr.RuleContext) + break + } + } + + if t == nil { + return nil + } + + return t.(IDocumentContext) +} + +func (s *TimestampDocHelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) +} + +func (s *TimestampDocHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterInt32Helper(s) + listenerT.EnterTimestampDocHelper(s) } } -func (s *Int32HelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *TimestampDocHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitInt32Helper(s) + listenerT.ExitTimestampDocHelper(s) } } -func (s *Int32HelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *TimestampDocHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitInt32Helper(s) + return t.VisitTimestampDocHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) Int32Helper() (localctx IInt32HelperContext) { - localctx = NewInt32HelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 204, MongoShellParserRULE_int32Helper) - var _la int +func (p *MongoShellParser) TimestampHelper() (localctx ITimestampHelperContext) { + localctx = NewTimestampHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 250, MongoShellParserRULE_timestampHelper) + p.SetState(1819) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1241) - _la = p.GetTokenStream().LA(1) + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 145, p.GetParserRuleContext()) { + case 1: + localctx = NewTimestampDocHelperContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1808) + p.Match(MongoShellParserTIMESTAMP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1809) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1810) + p.Document() + } + { + p.SetState(1811) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - if !(_la == MongoShellParserINT32 || _la == MongoShellParserNUMBER_INT) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + case 2: + localctx = NewTimestampArgsHelperContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1813) + p.Match(MongoShellParserTIMESTAMP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - { - p.SetState(1242) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + { + p.SetState(1814) + p.Match(MongoShellParserLPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - { - p.SetState(1243) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + { + p.SetState(1815) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - { - p.SetState(1244) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + { + p.SetState(1816) + p.Match(MongoShellParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1817) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1818) + p.Match(MongoShellParserRPAREN) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } + + case antlr.ATNInvalidAltNumber: + goto errorExit } errorExit: @@ -25378,115 +36320,160 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDoubleHelperContext is an interface to support dynamic dispatch. -type IDoubleHelperContext interface { +// IRegExpConstructorContext is an interface to support dynamic dispatch. +type IRegExpConstructorContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - DOUBLE() antlr.TerminalNode + REG_EXP() antlr.TerminalNode LPAREN() antlr.TerminalNode - NUMBER() antlr.TerminalNode + AllStringLiteral() []IStringLiteralContext + StringLiteral(i int) IStringLiteralContext RPAREN() antlr.TerminalNode + COMMA() antlr.TerminalNode - // IsDoubleHelperContext differentiates from other interfaces. - IsDoubleHelperContext() + // IsRegExpConstructorContext differentiates from other interfaces. + IsRegExpConstructorContext() } -type DoubleHelperContext struct { +type RegExpConstructorContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDoubleHelperContext() *DoubleHelperContext { - var p = new(DoubleHelperContext) +func NewEmptyRegExpConstructorContext() *RegExpConstructorContext { + var p = new(RegExpConstructorContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_doubleHelper + p.RuleIndex = MongoShellParserRULE_regExpConstructor return p } -func InitEmptyDoubleHelperContext(p *DoubleHelperContext) { +func InitEmptyRegExpConstructorContext(p *RegExpConstructorContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_doubleHelper + p.RuleIndex = MongoShellParserRULE_regExpConstructor } -func (*DoubleHelperContext) IsDoubleHelperContext() {} +func (*RegExpConstructorContext) IsRegExpConstructorContext() {} -func NewDoubleHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DoubleHelperContext { - var p = new(DoubleHelperContext) +func NewRegExpConstructorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegExpConstructorContext { + var p = new(RegExpConstructorContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_doubleHelper + p.RuleIndex = MongoShellParserRULE_regExpConstructor return p } -func (s *DoubleHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *RegExpConstructorContext) GetParser() antlr.Parser { return s.parser } -func (s *DoubleHelperContext) DOUBLE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOUBLE, 0) +func (s *RegExpConstructorContext) REG_EXP() antlr.TerminalNode { + return s.GetToken(MongoShellParserREG_EXP, 0) } -func (s *DoubleHelperContext) LPAREN() antlr.TerminalNode { +func (s *RegExpConstructorContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *DoubleHelperContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) +func (s *RegExpConstructorContext) AllStringLiteral() []IStringLiteralContext { + children := s.GetChildren() + len := 0 + for _, ctx := range children { + if _, ok := ctx.(IStringLiteralContext); ok { + len++ + } + } + + tst := make([]IStringLiteralContext, len) + i := 0 + for _, ctx := range children { + if t, ok := ctx.(IStringLiteralContext); ok { + tst[i] = t.(IStringLiteralContext) + i++ + } + } + + return tst } -func (s *DoubleHelperContext) RPAREN() antlr.TerminalNode { +func (s *RegExpConstructorContext) StringLiteral(i int) IStringLiteralContext { + var t antlr.RuleContext + j := 0 + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IStringLiteralContext); ok { + if j == i { + t = ctx.(antlr.RuleContext) + break + } + j++ + } + } + + if t == nil { + return nil + } + + return t.(IStringLiteralContext) +} + +func (s *RegExpConstructorContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *DoubleHelperContext) GetRuleContext() antlr.RuleContext { +func (s *RegExpConstructorContext) COMMA() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMA, 0) +} + +func (s *RegExpConstructorContext) GetRuleContext() antlr.RuleContext { return s } -func (s *DoubleHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *RegExpConstructorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *DoubleHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *RegExpConstructorContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDoubleHelper(s) + listenerT.EnterRegExpConstructor(s) } } -func (s *DoubleHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *RegExpConstructorContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDoubleHelper(s) + listenerT.ExitRegExpConstructor(s) } } -func (s *DoubleHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *RegExpConstructorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDoubleHelper(s) + return t.VisitRegExpConstructor(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) DoubleHelper() (localctx IDoubleHelperContext) { - localctx = NewDoubleHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 206, MongoShellParserRULE_doubleHelper) +func (p *MongoShellParser) RegExpConstructor() (localctx IRegExpConstructorContext) { + localctx = NewRegExpConstructorContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 252, MongoShellParserRULE_regExpConstructor) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(1246) - p.Match(MongoShellParserDOUBLE) + p.SetState(1821) + p.Match(MongoShellParserREG_EXP) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1247) + p.SetState(1822) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -25494,15 +36481,33 @@ func (p *MongoShellParser) DoubleHelper() (localctx IDoubleHelperContext) { } } { - p.SetState(1248) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(1823) + p.StringLiteral() + } + p.SetState(1826) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + _la = p.GetTokenStream().LA(1) + + if _la == MongoShellParserCOMMA { + { + p.SetState(1824) + p.Match(MongoShellParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1825) + p.StringLiteral() } + } { - p.SetState(1249) + p.SetState(1828) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -25523,61 +36528,74 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IDecimal128HelperContext is an interface to support dynamic dispatch. -type IDecimal128HelperContext interface { +// IBinDataHelperContext is an interface to support dynamic dispatch. +type IBinDataHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures + BIN_DATA() antlr.TerminalNode LPAREN() antlr.TerminalNode + NUMBER() antlr.TerminalNode + COMMA() antlr.TerminalNode StringLiteral() IStringLiteralContext RPAREN() antlr.TerminalNode - DECIMAL128() antlr.TerminalNode - NUMBER_DECIMAL() antlr.TerminalNode - // IsDecimal128HelperContext differentiates from other interfaces. - IsDecimal128HelperContext() + // IsBinDataHelperContext differentiates from other interfaces. + IsBinDataHelperContext() } -type Decimal128HelperContext struct { +type BinDataHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyDecimal128HelperContext() *Decimal128HelperContext { - var p = new(Decimal128HelperContext) +func NewEmptyBinDataHelperContext() *BinDataHelperContext { + var p = new(BinDataHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_decimal128Helper + p.RuleIndex = MongoShellParserRULE_binDataHelper return p } -func InitEmptyDecimal128HelperContext(p *Decimal128HelperContext) { +func InitEmptyBinDataHelperContext(p *BinDataHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_decimal128Helper + p.RuleIndex = MongoShellParserRULE_binDataHelper } -func (*Decimal128HelperContext) IsDecimal128HelperContext() {} +func (*BinDataHelperContext) IsBinDataHelperContext() {} -func NewDecimal128HelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Decimal128HelperContext { - var p = new(Decimal128HelperContext) +func NewBinDataHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BinDataHelperContext { + var p = new(BinDataHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_decimal128Helper + p.RuleIndex = MongoShellParserRULE_binDataHelper return p } -func (s *Decimal128HelperContext) GetParser() antlr.Parser { return s.parser } +func (s *BinDataHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *Decimal128HelperContext) LPAREN() antlr.TerminalNode { +func (s *BinDataHelperContext) BIN_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserBIN_DATA, 0) +} + +func (s *BinDataHelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *Decimal128HelperContext) StringLiteral() IStringLiteralContext { +func (s *BinDataHelperContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) +} + +func (s *BinDataHelperContext) COMMA() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMA, 0) +} + +func (s *BinDataHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IStringLiteralContext); ok { @@ -25593,67 +36611,54 @@ func (s *Decimal128HelperContext) StringLiteral() IStringLiteralContext { return t.(IStringLiteralContext) } -func (s *Decimal128HelperContext) RPAREN() antlr.TerminalNode { +func (s *BinDataHelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *Decimal128HelperContext) DECIMAL128() antlr.TerminalNode { - return s.GetToken(MongoShellParserDECIMAL128, 0) -} - -func (s *Decimal128HelperContext) NUMBER_DECIMAL() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_DECIMAL, 0) -} - -func (s *Decimal128HelperContext) GetRuleContext() antlr.RuleContext { +func (s *BinDataHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *Decimal128HelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *BinDataHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *Decimal128HelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *BinDataHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterDecimal128Helper(s) + listenerT.EnterBinDataHelper(s) } } -func (s *Decimal128HelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *BinDataHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitDecimal128Helper(s) + listenerT.ExitBinDataHelper(s) } } -func (s *Decimal128HelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *BinDataHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitDecimal128Helper(s) + return t.VisitBinDataHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) Decimal128Helper() (localctx IDecimal128HelperContext) { - localctx = NewDecimal128HelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 208, MongoShellParserRULE_decimal128Helper) - var _la int - +func (p *MongoShellParser) BinDataHelper() (localctx IBinDataHelperContext) { + localctx = NewBinDataHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 254, MongoShellParserRULE_binDataHelper) p.EnterOuterAlt(localctx, 1) { - p.SetState(1251) - _la = p.GetTokenStream().LA(1) - - if !(_la == MongoShellParserDECIMAL128 || _la == MongoShellParserNUMBER_DECIMAL) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() + p.SetState(1830) + p.Match(MongoShellParserBIN_DATA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit } } { - p.SetState(1252) + p.SetState(1831) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -25661,11 +36666,27 @@ func (p *MongoShellParser) Decimal128Helper() (localctx IDecimal128HelperContext } } { - p.SetState(1253) + p.SetState(1832) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1833) + p.Match(MongoShellParserCOMMA) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1834) p.StringLiteral() } { - p.SetState(1254) + p.SetState(1835) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -25686,154 +36707,93 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ITimestampHelperContext is an interface to support dynamic dispatch. -type ITimestampHelperContext interface { +// IBinaryHelperContext is an interface to support dynamic dispatch. +type IBinaryHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser - // IsTimestampHelperContext differentiates from other interfaces. - IsTimestampHelperContext() + + // Getter signatures + BINARY() antlr.TerminalNode + LPAREN() antlr.TerminalNode + Arguments() IArgumentsContext + RPAREN() antlr.TerminalNode + DOT() antlr.TerminalNode + Identifier() IIdentifierContext + + // IsBinaryHelperContext differentiates from other interfaces. + IsBinaryHelperContext() } -type TimestampHelperContext struct { +type BinaryHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyTimestampHelperContext() *TimestampHelperContext { - var p = new(TimestampHelperContext) +func NewEmptyBinaryHelperContext() *BinaryHelperContext { + var p = new(BinaryHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_timestampHelper + p.RuleIndex = MongoShellParserRULE_binaryHelper return p } -func InitEmptyTimestampHelperContext(p *TimestampHelperContext) { +func InitEmptyBinaryHelperContext(p *BinaryHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_timestampHelper + p.RuleIndex = MongoShellParserRULE_binaryHelper } -func (*TimestampHelperContext) IsTimestampHelperContext() {} +func (*BinaryHelperContext) IsBinaryHelperContext() {} -func NewTimestampHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TimestampHelperContext { - var p = new(TimestampHelperContext) +func NewBinaryHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BinaryHelperContext { + var p = new(BinaryHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_timestampHelper - - return p -} - -func (s *TimestampHelperContext) GetParser() antlr.Parser { return s.parser } - -func (s *TimestampHelperContext) CopyAll(ctx *TimestampHelperContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) -} - -func (s *TimestampHelperContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *TimestampHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -type TimestampArgsHelperContext struct { - TimestampHelperContext -} - -func NewTimestampArgsHelperContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TimestampArgsHelperContext { - var p = new(TimestampArgsHelperContext) - - InitEmptyTimestampHelperContext(&p.TimestampHelperContext) - p.parser = parser - p.CopyAll(ctx.(*TimestampHelperContext)) + p.RuleIndex = MongoShellParserRULE_binaryHelper return p } -func (s *TimestampArgsHelperContext) GetRuleContext() antlr.RuleContext { - return s -} +func (s *BinaryHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *TimestampArgsHelperContext) TIMESTAMP() antlr.TerminalNode { - return s.GetToken(MongoShellParserTIMESTAMP, 0) +func (s *BinaryHelperContext) BINARY() antlr.TerminalNode { + return s.GetToken(MongoShellParserBINARY, 0) } -func (s *TimestampArgsHelperContext) LPAREN() antlr.TerminalNode { +func (s *BinaryHelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *TimestampArgsHelperContext) AllNUMBER() []antlr.TerminalNode { - return s.GetTokens(MongoShellParserNUMBER) -} - -func (s *TimestampArgsHelperContext) NUMBER(i int) antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, i) -} - -func (s *TimestampArgsHelperContext) COMMA() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOMMA, 0) -} - -func (s *TimestampArgsHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) -} - -func (s *TimestampArgsHelperContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterTimestampArgsHelper(s) - } -} - -func (s *TimestampArgsHelperContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitTimestampArgsHelper(s) +func (s *BinaryHelperContext) Arguments() IArgumentsContext { + var t antlr.RuleContext + for _, ctx := range s.GetChildren() { + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break + } } -} - -func (s *TimestampArgsHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitTimestampArgsHelper(s) - default: - return t.VisitChildren(s) + if t == nil { + return nil } -} - -type TimestampDocHelperContext struct { - TimestampHelperContext -} - -func NewTimestampDocHelperContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TimestampDocHelperContext { - var p = new(TimestampDocHelperContext) - - InitEmptyTimestampHelperContext(&p.TimestampHelperContext) - p.parser = parser - p.CopyAll(ctx.(*TimestampHelperContext)) - - return p -} -func (s *TimestampDocHelperContext) GetRuleContext() antlr.RuleContext { - return s + return t.(IArgumentsContext) } -func (s *TimestampDocHelperContext) TIMESTAMP() antlr.TerminalNode { - return s.GetToken(MongoShellParserTIMESTAMP, 0) +func (s *BinaryHelperContext) RPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *TimestampDocHelperContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *BinaryHelperContext) DOT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOT, 0) } -func (s *TimestampDocHelperContext) Document() IDocumentContext { +func (s *BinaryHelperContext) Identifier() IIdentifierContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IDocumentContext); ok { + if _, ok := ctx.(IIdentifierContext); ok { t = ctx.(antlr.RuleContext) break } @@ -25843,58 +36803,61 @@ func (s *TimestampDocHelperContext) Document() IDocumentContext { return nil } - return t.(IDocumentContext) + return t.(IIdentifierContext) } -func (s *TimestampDocHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *BinaryHelperContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *TimestampDocHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *BinaryHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +func (s *BinaryHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterTimestampDocHelper(s) + listenerT.EnterBinaryHelper(s) } } -func (s *TimestampDocHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *BinaryHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitTimestampDocHelper(s) + listenerT.ExitBinaryHelper(s) } } -func (s *TimestampDocHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *BinaryHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitTimestampDocHelper(s) + return t.VisitBinaryHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) TimestampHelper() (localctx ITimestampHelperContext) { - localctx = NewTimestampHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 210, MongoShellParserRULE_timestampHelper) - p.SetState(1267) +func (p *MongoShellParser) BinaryHelper() (localctx IBinaryHelperContext) { + localctx = NewBinaryHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 256, MongoShellParserRULE_binaryHelper) + p.SetState(1849) p.GetErrorHandler().Sync(p) if p.HasError() { goto errorExit } - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 92, p.GetParserRuleContext()) { + switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 147, p.GetParserRuleContext()) { case 1: - localctx = NewTimestampDocHelperContext(p, localctx) p.EnterOuterAlt(localctx, 1) { - p.SetState(1256) - p.Match(MongoShellParserTIMESTAMP) + p.SetState(1837) + p.Match(MongoShellParserBINARY) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1257) + p.SetState(1838) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -25902,11 +36865,11 @@ func (p *MongoShellParser) TimestampHelper() (localctx ITimestampHelperContext) } } { - p.SetState(1258) - p.Document() + p.SetState(1839) + p.Arguments() } { - p.SetState(1259) + p.SetState(1840) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -25915,50 +36878,41 @@ func (p *MongoShellParser) TimestampHelper() (localctx ITimestampHelperContext) } case 2: - localctx = NewTimestampArgsHelperContext(p, localctx) p.EnterOuterAlt(localctx, 2) { - p.SetState(1261) - p.Match(MongoShellParserTIMESTAMP) + p.SetState(1842) + p.Match(MongoShellParserBINARY) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1262) - p.Match(MongoShellParserLPAREN) + p.SetState(1843) + p.Match(MongoShellParserDOT) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1263) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1844) + p.Identifier() } { - p.SetState(1264) - p.Match(MongoShellParserCOMMA) + p.SetState(1845) + p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1265) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } + p.SetState(1846) + p.Arguments() } { - p.SetState(1266) + p.SetState(1847) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -25983,96 +36937,69 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IRegExpConstructorContext is an interface to support dynamic dispatch. -type IRegExpConstructorContext interface { +// IBsonRegExpHelperContext is an interface to support dynamic dispatch. +type IBsonRegExpHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - REG_EXP() antlr.TerminalNode + BSON_REG_EXP() antlr.TerminalNode LPAREN() antlr.TerminalNode - AllStringLiteral() []IStringLiteralContext - StringLiteral(i int) IStringLiteralContext + Arguments() IArgumentsContext RPAREN() antlr.TerminalNode - COMMA() antlr.TerminalNode - // IsRegExpConstructorContext differentiates from other interfaces. - IsRegExpConstructorContext() + // IsBsonRegExpHelperContext differentiates from other interfaces. + IsBsonRegExpHelperContext() } -type RegExpConstructorContext struct { +type BsonRegExpHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyRegExpConstructorContext() *RegExpConstructorContext { - var p = new(RegExpConstructorContext) +func NewEmptyBsonRegExpHelperContext() *BsonRegExpHelperContext { + var p = new(BsonRegExpHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_regExpConstructor + p.RuleIndex = MongoShellParserRULE_bsonRegExpHelper return p } -func InitEmptyRegExpConstructorContext(p *RegExpConstructorContext) { +func InitEmptyBsonRegExpHelperContext(p *BsonRegExpHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_regExpConstructor + p.RuleIndex = MongoShellParserRULE_bsonRegExpHelper } -func (*RegExpConstructorContext) IsRegExpConstructorContext() {} +func (*BsonRegExpHelperContext) IsBsonRegExpHelperContext() {} -func NewRegExpConstructorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegExpConstructorContext { - var p = new(RegExpConstructorContext) +func NewBsonRegExpHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BsonRegExpHelperContext { + var p = new(BsonRegExpHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_regExpConstructor + p.RuleIndex = MongoShellParserRULE_bsonRegExpHelper return p } -func (s *RegExpConstructorContext) GetParser() antlr.Parser { return s.parser } - -func (s *RegExpConstructorContext) REG_EXP() antlr.TerminalNode { - return s.GetToken(MongoShellParserREG_EXP, 0) -} - -func (s *RegExpConstructorContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} - -func (s *RegExpConstructorContext) AllStringLiteral() []IStringLiteralContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IStringLiteralContext); ok { - len++ - } - } +func (s *BsonRegExpHelperContext) GetParser() antlr.Parser { return s.parser } - tst := make([]IStringLiteralContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IStringLiteralContext); ok { - tst[i] = t.(IStringLiteralContext) - i++ - } - } +func (s *BsonRegExpHelperContext) BSON_REG_EXP() antlr.TerminalNode { + return s.GetToken(MongoShellParserBSON_REG_EXP, 0) +} - return tst +func (s *BsonRegExpHelperContext) LPAREN() antlr.TerminalNode { + return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *RegExpConstructorContext) StringLiteral(i int) IStringLiteralContext { +func (s *BsonRegExpHelperContext) Arguments() IArgumentsContext { var t antlr.RuleContext - j := 0 for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ + if _, ok := ctx.(IArgumentsContext); ok { + t = ctx.(antlr.RuleContext) + break } } @@ -26080,63 +37007,57 @@ func (s *RegExpConstructorContext) StringLiteral(i int) IStringLiteralContext { return nil } - return t.(IStringLiteralContext) + return t.(IArgumentsContext) } -func (s *RegExpConstructorContext) RPAREN() antlr.TerminalNode { +func (s *BsonRegExpHelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *RegExpConstructorContext) COMMA() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOMMA, 0) -} - -func (s *RegExpConstructorContext) GetRuleContext() antlr.RuleContext { +func (s *BsonRegExpHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *RegExpConstructorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *BsonRegExpHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *RegExpConstructorContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *BsonRegExpHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterRegExpConstructor(s) + listenerT.EnterBsonRegExpHelper(s) } } -func (s *RegExpConstructorContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *BsonRegExpHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitRegExpConstructor(s) + listenerT.ExitBsonRegExpHelper(s) } } -func (s *RegExpConstructorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *BsonRegExpHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitRegExpConstructor(s) + return t.VisitBsonRegExpHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) RegExpConstructor() (localctx IRegExpConstructorContext) { - localctx = NewRegExpConstructorContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 212, MongoShellParserRULE_regExpConstructor) - var _la int - +func (p *MongoShellParser) BsonRegExpHelper() (localctx IBsonRegExpHelperContext) { + localctx = NewBsonRegExpHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 258, MongoShellParserRULE_bsonRegExpHelper) p.EnterOuterAlt(localctx, 1) { - p.SetState(1269) - p.Match(MongoShellParserREG_EXP) + p.SetState(1851) + p.Match(MongoShellParserBSON_REG_EXP) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1270) + p.SetState(1852) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -26144,33 +37065,11 @@ func (p *MongoShellParser) RegExpConstructor() (localctx IRegExpConstructorConte } } { - p.SetState(1271) - p.StringLiteral() - } - p.SetState(1274) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - _la = p.GetTokenStream().LA(1) - - if _la == MongoShellParserCOMMA { - { - p.SetState(1272) - p.Match(MongoShellParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1273) - p.StringLiteral() - } - + p.SetState(1853) + p.Arguments() } { - p.SetState(1276) + p.SetState(1854) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -26191,74 +37090,74 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IBinDataHelperContext is an interface to support dynamic dispatch. -type IBinDataHelperContext interface { +// IHexDataHelperContext is an interface to support dynamic dispatch. +type IHexDataHelperContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - BIN_DATA() antlr.TerminalNode + HEX_DATA() antlr.TerminalNode LPAREN() antlr.TerminalNode NUMBER() antlr.TerminalNode COMMA() antlr.TerminalNode StringLiteral() IStringLiteralContext RPAREN() antlr.TerminalNode - // IsBinDataHelperContext differentiates from other interfaces. - IsBinDataHelperContext() + // IsHexDataHelperContext differentiates from other interfaces. + IsHexDataHelperContext() } -type BinDataHelperContext struct { +type HexDataHelperContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyBinDataHelperContext() *BinDataHelperContext { - var p = new(BinDataHelperContext) +func NewEmptyHexDataHelperContext() *HexDataHelperContext { + var p = new(HexDataHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_binDataHelper + p.RuleIndex = MongoShellParserRULE_hexDataHelper return p } -func InitEmptyBinDataHelperContext(p *BinDataHelperContext) { +func InitEmptyHexDataHelperContext(p *HexDataHelperContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_binDataHelper + p.RuleIndex = MongoShellParserRULE_hexDataHelper } -func (*BinDataHelperContext) IsBinDataHelperContext() {} +func (*HexDataHelperContext) IsHexDataHelperContext() {} -func NewBinDataHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BinDataHelperContext { - var p = new(BinDataHelperContext) +func NewHexDataHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HexDataHelperContext { + var p = new(HexDataHelperContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_binDataHelper + p.RuleIndex = MongoShellParserRULE_hexDataHelper return p } -func (s *BinDataHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *HexDataHelperContext) GetParser() antlr.Parser { return s.parser } -func (s *BinDataHelperContext) BIN_DATA() antlr.TerminalNode { - return s.GetToken(MongoShellParserBIN_DATA, 0) +func (s *HexDataHelperContext) HEX_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserHEX_DATA, 0) } -func (s *BinDataHelperContext) LPAREN() antlr.TerminalNode { +func (s *HexDataHelperContext) LPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserLPAREN, 0) } -func (s *BinDataHelperContext) NUMBER() antlr.TerminalNode { +func (s *HexDataHelperContext) NUMBER() antlr.TerminalNode { return s.GetToken(MongoShellParserNUMBER, 0) } -func (s *BinDataHelperContext) COMMA() antlr.TerminalNode { +func (s *HexDataHelperContext) COMMA() antlr.TerminalNode { return s.GetToken(MongoShellParserCOMMA, 0) } -func (s *BinDataHelperContext) StringLiteral() IStringLiteralContext { +func (s *HexDataHelperContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { if _, ok := ctx.(IStringLiteralContext); ok { @@ -26274,54 +37173,54 @@ func (s *BinDataHelperContext) StringLiteral() IStringLiteralContext { return t.(IStringLiteralContext) } -func (s *BinDataHelperContext) RPAREN() antlr.TerminalNode { +func (s *HexDataHelperContext) RPAREN() antlr.TerminalNode { return s.GetToken(MongoShellParserRPAREN, 0) } -func (s *BinDataHelperContext) GetRuleContext() antlr.RuleContext { +func (s *HexDataHelperContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BinDataHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *HexDataHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *BinDataHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *HexDataHelperContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBinDataHelper(s) + listenerT.EnterHexDataHelper(s) } } -func (s *BinDataHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *HexDataHelperContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBinDataHelper(s) + listenerT.ExitHexDataHelper(s) } } -func (s *BinDataHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *HexDataHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBinDataHelper(s) + return t.VisitHexDataHelper(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BinDataHelper() (localctx IBinDataHelperContext) { - localctx = NewBinDataHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 214, MongoShellParserRULE_binDataHelper) +func (p *MongoShellParser) HexDataHelper() (localctx IHexDataHelperContext) { + localctx = NewHexDataHelperContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 260, MongoShellParserRULE_hexDataHelper) p.EnterOuterAlt(localctx, 1) { - p.SetState(1278) - p.Match(MongoShellParserBIN_DATA) + p.SetState(1856) + p.Match(MongoShellParserHEX_DATA) if p.HasError() { // Recognition error - abort rule goto errorExit } } { - p.SetState(1279) + p.SetState(1857) p.Match(MongoShellParserLPAREN) if p.HasError() { // Recognition error - abort rule @@ -26329,7 +37228,7 @@ func (p *MongoShellParser) BinDataHelper() (localctx IBinDataHelperContext) { } } { - p.SetState(1280) + p.SetState(1858) p.Match(MongoShellParserNUMBER) if p.HasError() { // Recognition error - abort rule @@ -26337,7 +37236,7 @@ func (p *MongoShellParser) BinDataHelper() (localctx IBinDataHelperContext) { } } { - p.SetState(1281) + p.SetState(1859) p.Match(MongoShellParserCOMMA) if p.HasError() { // Recognition error - abort rule @@ -26345,11 +37244,11 @@ func (p *MongoShellParser) BinDataHelper() (localctx IBinDataHelperContext) { } } { - p.SetState(1282) + p.SetState(1860) p.StringLiteral() } { - p.SetState(1283) + p.SetState(1861) p.Match(MongoShellParserRPAREN) if p.HasError() { // Recognition error - abort rule @@ -26370,69 +37269,82 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IBinaryHelperContext is an interface to support dynamic dispatch. -type IBinaryHelperContext interface { +// ILiteralContext is an interface to support dynamic dispatch. +type ILiteralContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser - - // Getter signatures - BINARY() antlr.TerminalNode - LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext - RPAREN() antlr.TerminalNode - DOT() antlr.TerminalNode - Identifier() IIdentifierContext - - // IsBinaryHelperContext differentiates from other interfaces. - IsBinaryHelperContext() + // IsLiteralContext differentiates from other interfaces. + IsLiteralContext() } -type BinaryHelperContext struct { +type LiteralContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyBinaryHelperContext() *BinaryHelperContext { - var p = new(BinaryHelperContext) +func NewEmptyLiteralContext() *LiteralContext { + var p = new(LiteralContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_binaryHelper + p.RuleIndex = MongoShellParserRULE_literal return p } -func InitEmptyBinaryHelperContext(p *BinaryHelperContext) { +func InitEmptyLiteralContext(p *LiteralContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_binaryHelper + p.RuleIndex = MongoShellParserRULE_literal } -func (*BinaryHelperContext) IsBinaryHelperContext() {} +func (*LiteralContext) IsLiteralContext() {} -func NewBinaryHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BinaryHelperContext { - var p = new(BinaryHelperContext) +func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { + var p = new(LiteralContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_binaryHelper + p.RuleIndex = MongoShellParserRULE_literal return p } -func (s *BinaryHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } -func (s *BinaryHelperContext) BINARY() antlr.TerminalNode { - return s.GetToken(MongoShellParserBINARY, 0) +func (s *LiteralContext) CopyAll(ctx *LiteralContext) { + s.CopyFrom(&ctx.BaseParserRuleContext) } -func (s *BinaryHelperContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *LiteralContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *BinaryHelperContext) Arguments() IArgumentsContext { +func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) +} + +type StringLiteralValueContext struct { + LiteralContext +} + +func NewStringLiteralValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *StringLiteralValueContext { + var p = new(StringLiteralValueContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p +} + +func (s *StringLiteralValueContext) GetRuleContext() antlr.RuleContext { + return s +} + +func (s *StringLiteralValueContext) StringLiteral() IStringLiteralContext { var t antlr.RuleContext for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { + if _, ok := ctx.(IStringLiteralContext); ok { t = ctx.(antlr.RuleContext) break } @@ -26442,302 +37354,276 @@ func (s *BinaryHelperContext) Arguments() IArgumentsContext { return nil } - return t.(IArgumentsContext) + return t.(IStringLiteralContext) } -func (s *BinaryHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *StringLiteralValueContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterStringLiteralValue(s) + } } -func (s *BinaryHelperContext) DOT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOT, 0) +func (s *StringLiteralValueContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitStringLiteralValue(s) + } } -func (s *BinaryHelperContext) Identifier() IIdentifierContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IIdentifierContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *StringLiteralValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitStringLiteralValue(s) + + default: + return t.VisitChildren(s) } +} + +type NullLiteralContext struct { + LiteralContext +} + +func NewNullLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NullLiteralContext { + var p = new(NullLiteralContext) - if t == nil { - return nil - } + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) - return t.(IIdentifierContext) + return p } -func (s *BinaryHelperContext) GetRuleContext() antlr.RuleContext { +func (s *NullLiteralContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BinaryHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *NullLiteralContext) NULL() antlr.TerminalNode { + return s.GetToken(MongoShellParserNULL, 0) } -func (s *BinaryHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *NullLiteralContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBinaryHelper(s) + listenerT.EnterNullLiteral(s) } } -func (s *BinaryHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *NullLiteralContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBinaryHelper(s) + listenerT.ExitNullLiteral(s) } } -func (s *BinaryHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *NullLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBinaryHelper(s) + return t.VisitNullLiteral(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BinaryHelper() (localctx IBinaryHelperContext) { - localctx = NewBinaryHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 216, MongoShellParserRULE_binaryHelper) - p.SetState(1297) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } - - switch p.GetInterpreter().AdaptivePredict(p.BaseParser, p.GetTokenStream(), 94, p.GetParserRuleContext()) { - case 1: - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1285) - p.Match(MongoShellParserBINARY) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1286) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1287) - p.Arguments() - } - { - p.SetState(1288) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case 2: - p.EnterOuterAlt(localctx, 2) - { - p.SetState(1290) - p.Match(MongoShellParserBINARY) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1291) - p.Match(MongoShellParserDOT) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1292) - p.Identifier() - } - { - p.SetState(1293) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1294) - p.Arguments() - } - { - p.SetState(1295) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - - case antlr.ATNInvalidAltNumber: - goto errorExit - } - -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +type FalseLiteralContext struct { + LiteralContext } -// IBsonRegExpHelperContext is an interface to support dynamic dispatch. -type IBsonRegExpHelperContext interface { - antlr.ParserRuleContext +func NewFalseLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *FalseLiteralContext { + var p = new(FalseLiteralContext) - // GetParser returns the parser. - GetParser() antlr.Parser + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) - // Getter signatures - BSON_REG_EXP() antlr.TerminalNode - LPAREN() antlr.TerminalNode - Arguments() IArgumentsContext - RPAREN() antlr.TerminalNode + return p +} - // IsBsonRegExpHelperContext differentiates from other interfaces. - IsBsonRegExpHelperContext() +func (s *FalseLiteralContext) GetRuleContext() antlr.RuleContext { + return s } -type BsonRegExpHelperContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *FalseLiteralContext) FALSE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFALSE, 0) } -func NewEmptyBsonRegExpHelperContext() *BsonRegExpHelperContext { - var p = new(BsonRegExpHelperContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bsonRegExpHelper - return p +func (s *FalseLiteralContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterFalseLiteral(s) + } } -func InitEmptyBsonRegExpHelperContext(p *BsonRegExpHelperContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_bsonRegExpHelper +func (s *FalseLiteralContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitFalseLiteral(s) + } } -func (*BsonRegExpHelperContext) IsBsonRegExpHelperContext() {} +func (s *FalseLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitFalseLiteral(s) -func NewBsonRegExpHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BsonRegExpHelperContext { - var p = new(BsonRegExpHelperContext) + default: + return t.VisitChildren(s) + } +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +type TrueLiteralContext struct { + LiteralContext +} + +func NewTrueLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TrueLiteralContext { + var p = new(TrueLiteralContext) + InitEmptyLiteralContext(&p.LiteralContext) p.parser = parser - p.RuleIndex = MongoShellParserRULE_bsonRegExpHelper + p.CopyAll(ctx.(*LiteralContext)) return p } -func (s *BsonRegExpHelperContext) GetParser() antlr.Parser { return s.parser } +func (s *TrueLiteralContext) GetRuleContext() antlr.RuleContext { + return s +} -func (s *BsonRegExpHelperContext) BSON_REG_EXP() antlr.TerminalNode { - return s.GetToken(MongoShellParserBSON_REG_EXP, 0) +func (s *TrueLiteralContext) TRUE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTRUE, 0) } -func (s *BsonRegExpHelperContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) +func (s *TrueLiteralContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterTrueLiteral(s) + } } -func (s *BsonRegExpHelperContext) Arguments() IArgumentsContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IArgumentsContext); ok { - t = ctx.(antlr.RuleContext) - break - } +func (s *TrueLiteralContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitTrueLiteral(s) } +} - if t == nil { - return nil +func (s *TrueLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitTrueLiteral(s) + + default: + return t.VisitChildren(s) } +} - return t.(IArgumentsContext) +type NumberLiteralContext struct { + LiteralContext } -func (s *BsonRegExpHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func NewNumberLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NumberLiteralContext { + var p = new(NumberLiteralContext) + + InitEmptyLiteralContext(&p.LiteralContext) + p.parser = parser + p.CopyAll(ctx.(*LiteralContext)) + + return p } -func (s *BsonRegExpHelperContext) GetRuleContext() antlr.RuleContext { +func (s *NumberLiteralContext) GetRuleContext() antlr.RuleContext { return s } -func (s *BsonRegExpHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *NumberLiteralContext) NUMBER() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER, 0) } -func (s *BsonRegExpHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *NumberLiteralContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterBsonRegExpHelper(s) + listenerT.EnterNumberLiteral(s) } } -func (s *BsonRegExpHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *NumberLiteralContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitBsonRegExpHelper(s) + listenerT.ExitNumberLiteral(s) } } -func (s *BsonRegExpHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *NumberLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitBsonRegExpHelper(s) + return t.VisitNumberLiteral(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) BsonRegExpHelper() (localctx IBsonRegExpHelperContext) { - localctx = NewBsonRegExpHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 218, MongoShellParserRULE_bsonRegExpHelper) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1299) - p.Match(MongoShellParserBSON_REG_EXP) - if p.HasError() { - // Recognition error - abort rule - goto errorExit +func (p *MongoShellParser) Literal() (localctx ILiteralContext) { + localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 262, MongoShellParserRULE_literal) + p.SetState(1868) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetTokenStream().LA(1) { + case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: + localctx = NewStringLiteralValueContext(p, localctx) + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1863) + p.StringLiteral() + } + + case MongoShellParserNUMBER: + localctx = NewNumberLiteralContext(p, localctx) + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1864) + p.Match(MongoShellParserNUMBER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - { - p.SetState(1300) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + case MongoShellParserTRUE: + localctx = NewTrueLiteralContext(p, localctx) + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1865) + p.Match(MongoShellParserTRUE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } - } - { - p.SetState(1301) - p.Arguments() - } - { - p.SetState(1302) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + + case MongoShellParserFALSE: + localctx = NewFalseLiteralContext(p, localctx) + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1866) + p.Match(MongoShellParserFALSE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserNULL: + localctx = NewNullLiteralContext(p, localctx) + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1867) + p.Match(MongoShellParserNULL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } } + + default: + p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) + goto errorExit } errorExit: @@ -26753,169 +37639,106 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// IHexDataHelperContext is an interface to support dynamic dispatch. -type IHexDataHelperContext interface { +// IStringLiteralContext is an interface to support dynamic dispatch. +type IStringLiteralContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // Getter signatures - HEX_DATA() antlr.TerminalNode - LPAREN() antlr.TerminalNode - NUMBER() antlr.TerminalNode - COMMA() antlr.TerminalNode - StringLiteral() IStringLiteralContext - RPAREN() antlr.TerminalNode + DOUBLE_QUOTED_STRING() antlr.TerminalNode + SINGLE_QUOTED_STRING() antlr.TerminalNode - // IsHexDataHelperContext differentiates from other interfaces. - IsHexDataHelperContext() + // IsStringLiteralContext differentiates from other interfaces. + IsStringLiteralContext() } -type HexDataHelperContext struct { +type StringLiteralContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyHexDataHelperContext() *HexDataHelperContext { - var p = new(HexDataHelperContext) +func NewEmptyStringLiteralContext() *StringLiteralContext { + var p = new(StringLiteralContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_hexDataHelper + p.RuleIndex = MongoShellParserRULE_stringLiteral return p } -func InitEmptyHexDataHelperContext(p *HexDataHelperContext) { +func InitEmptyStringLiteralContext(p *StringLiteralContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_hexDataHelper + p.RuleIndex = MongoShellParserRULE_stringLiteral } -func (*HexDataHelperContext) IsHexDataHelperContext() {} +func (*StringLiteralContext) IsStringLiteralContext() {} -func NewHexDataHelperContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HexDataHelperContext { - var p = new(HexDataHelperContext) +func NewStringLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StringLiteralContext { + var p = new(StringLiteralContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_hexDataHelper + p.RuleIndex = MongoShellParserRULE_stringLiteral return p } -func (s *HexDataHelperContext) GetParser() antlr.Parser { return s.parser } - -func (s *HexDataHelperContext) HEX_DATA() antlr.TerminalNode { - return s.GetToken(MongoShellParserHEX_DATA, 0) -} - -func (s *HexDataHelperContext) LPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserLPAREN, 0) -} - -func (s *HexDataHelperContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) -} - -func (s *HexDataHelperContext) COMMA() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOMMA, 0) -} - -func (s *HexDataHelperContext) StringLiteral() IStringLiteralContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } +func (s *StringLiteralContext) GetParser() antlr.Parser { return s.parser } - return t.(IStringLiteralContext) +func (s *StringLiteralContext) DOUBLE_QUOTED_STRING() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOUBLE_QUOTED_STRING, 0) } -func (s *HexDataHelperContext) RPAREN() antlr.TerminalNode { - return s.GetToken(MongoShellParserRPAREN, 0) +func (s *StringLiteralContext) SINGLE_QUOTED_STRING() antlr.TerminalNode { + return s.GetToken(MongoShellParserSINGLE_QUOTED_STRING, 0) } -func (s *HexDataHelperContext) GetRuleContext() antlr.RuleContext { +func (s *StringLiteralContext) GetRuleContext() antlr.RuleContext { return s } -func (s *HexDataHelperContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { +func (s *StringLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *HexDataHelperContext) EnterRule(listener antlr.ParseTreeListener) { +func (s *StringLiteralContext) EnterRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterHexDataHelper(s) + listenerT.EnterStringLiteral(s) } } -func (s *HexDataHelperContext) ExitRule(listener antlr.ParseTreeListener) { +func (s *StringLiteralContext) ExitRule(listener antlr.ParseTreeListener) { if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitHexDataHelper(s) + listenerT.ExitStringLiteral(s) } } -func (s *HexDataHelperContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { +func (s *StringLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { switch t := visitor.(type) { case MongoShellParserVisitor: - return t.VisitHexDataHelper(s) + return t.VisitStringLiteral(s) default: return t.VisitChildren(s) } } -func (p *MongoShellParser) HexDataHelper() (localctx IHexDataHelperContext) { - localctx = NewHexDataHelperContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 220, MongoShellParserRULE_hexDataHelper) +func (p *MongoShellParser) StringLiteral() (localctx IStringLiteralContext) { + localctx = NewStringLiteralContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 264, MongoShellParserRULE_stringLiteral) + var _la int + p.EnterOuterAlt(localctx, 1) { - p.SetState(1304) - p.Match(MongoShellParserHEX_DATA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1305) - p.Match(MongoShellParserLPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1306) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1307) - p.Match(MongoShellParserCOMMA) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } - { - p.SetState(1308) - p.StringLiteral() - } - { - p.SetState(1309) - p.Match(MongoShellParserRPAREN) - if p.HasError() { - // Recognition error - abort rule - goto errorExit + p.SetState(1870) + _la = p.GetTokenStream().LA(1) + + if !(_la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING) { + p.GetErrorHandler().RecoverInline(p) + } else { + p.GetErrorHandler().ReportMatch(p) + p.Consume() } } @@ -26932,2771 +37755,3261 @@ errorExit: goto errorExit // Trick to prevent compiler error if the label is not used } -// ILiteralContext is an interface to support dynamic dispatch. -type ILiteralContext interface { +// IIdentifierContext is an interface to support dynamic dispatch. +type IIdentifierContext interface { antlr.ParserRuleContext - // GetParser returns the parser. - GetParser() antlr.Parser - // IsLiteralContext differentiates from other interfaces. - IsLiteralContext() + // GetParser returns the parser. + GetParser() antlr.Parser + + // Getter signatures + IDENTIFIER() antlr.TerminalNode + DOLLAR() antlr.TerminalNode + SHOW() antlr.TerminalNode + DBS() antlr.TerminalNode + DATABASES() antlr.TerminalNode + COLLECTIONS() antlr.TerminalNode + DB() antlr.TerminalNode + NEW() antlr.TerminalNode + TRUE() antlr.TerminalNode + FALSE() antlr.TerminalNode + NULL() antlr.TerminalNode + FIND() antlr.TerminalNode + FIND_ONE() antlr.TerminalNode + COUNT_DOCUMENTS() antlr.TerminalNode + ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode + DISTINCT() antlr.TerminalNode + AGGREGATE() antlr.TerminalNode + GET_INDEXES() antlr.TerminalNode + INSERT_ONE() antlr.TerminalNode + INSERT_MANY() antlr.TerminalNode + UPDATE_ONE() antlr.TerminalNode + UPDATE_MANY() antlr.TerminalNode + DELETE_ONE() antlr.TerminalNode + DELETE_MANY() antlr.TerminalNode + REPLACE_ONE() antlr.TerminalNode + FIND_ONE_AND_UPDATE() antlr.TerminalNode + FIND_ONE_AND_REPLACE() antlr.TerminalNode + FIND_ONE_AND_DELETE() antlr.TerminalNode + CREATE_INDEX() antlr.TerminalNode + CREATE_INDEXES() antlr.TerminalNode + DROP_INDEX() antlr.TerminalNode + DROP_INDEXES() antlr.TerminalNode + DROP() antlr.TerminalNode + RENAME_COLLECTION() antlr.TerminalNode + STATS() antlr.TerminalNode + STORAGE_SIZE() antlr.TerminalNode + TOTAL_INDEX_SIZE() antlr.TerminalNode + TOTAL_SIZE() antlr.TerminalNode + DATA_SIZE() antlr.TerminalNode + IS_CAPPED() antlr.TerminalNode + VALIDATE() antlr.TerminalNode + LATENCY_STATS() antlr.TerminalNode + SORT() antlr.TerminalNode + LIMIT() antlr.TerminalNode + SKIP_() antlr.TerminalNode + COUNT() antlr.TerminalNode + PROJECTION() antlr.TerminalNode + PROJECT() antlr.TerminalNode + GET_COLLECTION() antlr.TerminalNode + GET_COLLECTION_NAMES() antlr.TerminalNode + GET_COLLECTION_INFOS() antlr.TerminalNode + CREATE_COLLECTION() antlr.TerminalNode + DROP_DATABASE() antlr.TerminalNode + HOST_INFO() antlr.TerminalNode + LIST_COMMANDS() antlr.TerminalNode + SERVER_BUILD_INFO() antlr.TerminalNode + SERVER_STATUS() antlr.TerminalNode + VERSION() antlr.TerminalNode + RUN_COMMAND() antlr.TerminalNode + ADMIN_COMMAND() antlr.TerminalNode + GET_NAME() antlr.TerminalNode + GET_MONGO() antlr.TerminalNode + GET_SIBLING_DB() antlr.TerminalNode + OBJECT_ID() antlr.TerminalNode + ISO_DATE() antlr.TerminalNode + DATE() antlr.TerminalNode + UUID() antlr.TerminalNode + LONG() antlr.TerminalNode + NUMBER_LONG() antlr.TerminalNode + INT32() antlr.TerminalNode + NUMBER_INT() antlr.TerminalNode + DOUBLE() antlr.TerminalNode + DECIMAL128() antlr.TerminalNode + NUMBER_DECIMAL() antlr.TerminalNode + TIMESTAMP() antlr.TerminalNode + REG_EXP() antlr.TerminalNode + BIN_DATA() antlr.TerminalNode + BINARY() antlr.TerminalNode + BSON_REG_EXP() antlr.TerminalNode + HEX_DATA() antlr.TerminalNode + BATCH_SIZE() antlr.TerminalNode + CLOSE() antlr.TerminalNode + COLLATION() antlr.TerminalNode + COMMENT() antlr.TerminalNode + EXPLAIN() antlr.TerminalNode + FOR_EACH() antlr.TerminalNode + HAS_NEXT() antlr.TerminalNode + HINT() antlr.TerminalNode + IS_CLOSED() antlr.TerminalNode + IS_EXHAUSTED() antlr.TerminalNode + IT_COUNT() antlr.TerminalNode + MAP() antlr.TerminalNode + MAX() antlr.TerminalNode + MAX_AWAIT_TIME_MS() antlr.TerminalNode + MAX_TIME_MS() antlr.TerminalNode + MIN() antlr.TerminalNode + NEXT() antlr.TerminalNode + NO_CURSOR_TIMEOUT() antlr.TerminalNode + OBJS_LEFT_IN_BATCH() antlr.TerminalNode + PRETTY() antlr.TerminalNode + READ_CONCERN() antlr.TerminalNode + READ_PREF() antlr.TerminalNode + RETURN_KEY() antlr.TerminalNode + SHOW_RECORD_ID() antlr.TerminalNode + SIZE() antlr.TerminalNode + TAILABLE() antlr.TerminalNode + TO_ARRAY() antlr.TerminalNode + TRY_NEXT() antlr.TerminalNode + ALLOW_DISK_USE() antlr.TerminalNode + ADD_OPTION() antlr.TerminalNode + INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode + INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode + EXECUTE() antlr.TerminalNode + GET_OPERATIONS() antlr.TerminalNode + TO_STRING() antlr.TerminalNode + INSERT() antlr.TerminalNode + REMOVE() antlr.TerminalNode + MONGO() antlr.TerminalNode + CONNECT() antlr.TerminalNode + GET_DB() antlr.TerminalNode + GET_READ_CONCERN() antlr.TerminalNode + GET_READ_PREF() antlr.TerminalNode + GET_READ_PREF_MODE() antlr.TerminalNode + GET_READ_PREF_TAG_SET() antlr.TerminalNode + GET_WRITE_CONCERN() antlr.TerminalNode + SET_READ_PREF() antlr.TerminalNode + SET_READ_CONCERN() antlr.TerminalNode + SET_WRITE_CONCERN() antlr.TerminalNode + START_SESSION() antlr.TerminalNode + WATCH() antlr.TerminalNode + GET_DB_NAMES() antlr.TerminalNode + RS() antlr.TerminalNode + SH() antlr.TerminalNode + SP() antlr.TerminalNode + GET_KEY_VAULT() antlr.TerminalNode + GET_CLIENT_ENCRYPTION() antlr.TerminalNode + GET_PLAN_CACHE() antlr.TerminalNode + BULK_WRITE() antlr.TerminalNode + UPDATE() antlr.TerminalNode + MAP_REDUCE() antlr.TerminalNode + FIND_AND_MODIFY() antlr.TerminalNode + ANALYZE_SHARD_KEY() antlr.TerminalNode + CONFIGURE_QUERY_ANALYZER() antlr.TerminalNode + COMPACT_STRUCTURED_ENCRYPTION_DATA() antlr.TerminalNode + HIDE_INDEX() antlr.TerminalNode + UNHIDE_INDEX() antlr.TerminalNode + RE_INDEX() antlr.TerminalNode + GET_SHARD_DISTRIBUTION() antlr.TerminalNode + GET_SHARD_VERSION() antlr.TerminalNode + CREATE_SEARCH_INDEX() antlr.TerminalNode + CREATE_SEARCH_INDEXES() antlr.TerminalNode + DROP_SEARCH_INDEX() antlr.TerminalNode + UPDATE_SEARCH_INDEX() antlr.TerminalNode + AUTH() antlr.TerminalNode + CHANGE_USER_PASSWORD() antlr.TerminalNode + CLONE_DATABASE() antlr.TerminalNode + COMMAND_HELP() antlr.TerminalNode + COPY_DATABASE() antlr.TerminalNode + CREATE_ROLE() antlr.TerminalNode + CREATE_USER() antlr.TerminalNode + CREATE_VIEW() antlr.TerminalNode + CURRENT_OP() antlr.TerminalNode + DROP_ALL_ROLES() antlr.TerminalNode + DROP_ALL_USERS() antlr.TerminalNode + DROP_ROLE() antlr.TerminalNode + DROP_USER() antlr.TerminalNode + FSYNC_LOCK() antlr.TerminalNode + FSYNC_UNLOCK() antlr.TerminalNode + GET_LOG_COMPONENTS() antlr.TerminalNode + GET_PROFILING_LEVEL() antlr.TerminalNode + GET_PROFILING_STATUS() antlr.TerminalNode + GET_REPLICATION_INFO() antlr.TerminalNode + GET_ROLE() antlr.TerminalNode + GET_ROLES() antlr.TerminalNode + GET_USER() antlr.TerminalNode + GET_USERS() antlr.TerminalNode + GRANT_PRIVILEGES_TO_ROLE() antlr.TerminalNode + GRANT_ROLES_TO_ROLE() antlr.TerminalNode + GRANT_ROLES_TO_USER() antlr.TerminalNode + HELLO() antlr.TerminalNode + IS_MASTER() antlr.TerminalNode + KILL_OP() antlr.TerminalNode + LOGOUT() antlr.TerminalNode + PRINT_COLLECTION_STATS() antlr.TerminalNode + PRINT_REPLICATION_INFO() antlr.TerminalNode + PRINT_SECONDARY_REPLICATION_INFO() antlr.TerminalNode + PRINT_SHARDING_STATUS() antlr.TerminalNode + PRINT_SLAVE_REPLICATION_INFO() antlr.TerminalNode + REVOKE_PRIVILEGES_FROM_ROLE() antlr.TerminalNode + REVOKE_ROLES_FROM_ROLE() antlr.TerminalNode + REVOKE_ROLES_FROM_USER() antlr.TerminalNode + ROTATE_CERTIFICATES() antlr.TerminalNode + SET_LOG_LEVEL() antlr.TerminalNode + SET_PROFILING_LEVEL() antlr.TerminalNode + SET_SECONDARY_OK() antlr.TerminalNode + SHUTDOWN_SERVER() antlr.TerminalNode + UPDATE_ROLE() antlr.TerminalNode + UPDATE_USER() antlr.TerminalNode + + // IsIdentifierContext differentiates from other interfaces. + IsIdentifierContext() } -type LiteralContext struct { +type IdentifierContext struct { antlr.BaseParserRuleContext parser antlr.Parser } -func NewEmptyLiteralContext() *LiteralContext { - var p = new(LiteralContext) +func NewEmptyIdentifierContext() *IdentifierContext { + var p = new(IdentifierContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_literal + p.RuleIndex = MongoShellParserRULE_identifier return p } -func InitEmptyLiteralContext(p *LiteralContext) { +func InitEmptyIdentifierContext(p *IdentifierContext) { antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_literal + p.RuleIndex = MongoShellParserRULE_identifier } -func (*LiteralContext) IsLiteralContext() {} +func (*IdentifierContext) IsIdentifierContext() {} -func NewLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LiteralContext { - var p = new(LiteralContext) +func NewIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IdentifierContext { + var p = new(IdentifierContext) antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) p.parser = parser - p.RuleIndex = MongoShellParserRULE_literal + p.RuleIndex = MongoShellParserRULE_identifier return p } -func (s *LiteralContext) GetParser() antlr.Parser { return s.parser } - -func (s *LiteralContext) CopyAll(ctx *LiteralContext) { - s.CopyFrom(&ctx.BaseParserRuleContext) -} - -func (s *LiteralContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *LiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} +func (s *IdentifierContext) GetParser() antlr.Parser { return s.parser } -type StringLiteralValueContext struct { - LiteralContext +func (s *IdentifierContext) IDENTIFIER() antlr.TerminalNode { + return s.GetToken(MongoShellParserIDENTIFIER, 0) } -func NewStringLiteralValueContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *StringLiteralValueContext { - var p = new(StringLiteralValueContext) - - InitEmptyLiteralContext(&p.LiteralContext) - p.parser = parser - p.CopyAll(ctx.(*LiteralContext)) - - return p +func (s *IdentifierContext) DOLLAR() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOLLAR, 0) } -func (s *StringLiteralValueContext) GetRuleContext() antlr.RuleContext { - return s +func (s *IdentifierContext) SHOW() antlr.TerminalNode { + return s.GetToken(MongoShellParserSHOW, 0) } -func (s *StringLiteralValueContext) StringLiteral() IStringLiteralContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IStringLiteralContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IStringLiteralContext) +func (s *IdentifierContext) DBS() antlr.TerminalNode { + return s.GetToken(MongoShellParserDBS, 0) } -func (s *StringLiteralValueContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterStringLiteralValue(s) - } +func (s *IdentifierContext) DATABASES() antlr.TerminalNode { + return s.GetToken(MongoShellParserDATABASES, 0) } -func (s *StringLiteralValueContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitStringLiteralValue(s) - } +func (s *IdentifierContext) COLLECTIONS() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOLLECTIONS, 0) } -func (s *StringLiteralValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitStringLiteralValue(s) - - default: - return t.VisitChildren(s) - } +func (s *IdentifierContext) DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserDB, 0) } -type NullLiteralContext struct { - LiteralContext +func (s *IdentifierContext) NEW() antlr.TerminalNode { + return s.GetToken(MongoShellParserNEW, 0) } -func NewNullLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NullLiteralContext { - var p = new(NullLiteralContext) - - InitEmptyLiteralContext(&p.LiteralContext) - p.parser = parser - p.CopyAll(ctx.(*LiteralContext)) - - return p +func (s *IdentifierContext) TRUE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTRUE, 0) } -func (s *NullLiteralContext) GetRuleContext() antlr.RuleContext { - return s +func (s *IdentifierContext) FALSE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFALSE, 0) } -func (s *NullLiteralContext) NULL() antlr.TerminalNode { +func (s *IdentifierContext) NULL() antlr.TerminalNode { return s.GetToken(MongoShellParserNULL, 0) } -func (s *NullLiteralContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterNullLiteral(s) - } -} - -func (s *NullLiteralContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitNullLiteral(s) - } -} - -func (s *NullLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitNullLiteral(s) - - default: - return t.VisitChildren(s) - } -} - -type FalseLiteralContext struct { - LiteralContext -} - -func NewFalseLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *FalseLiteralContext { - var p = new(FalseLiteralContext) - - InitEmptyLiteralContext(&p.LiteralContext) - p.parser = parser - p.CopyAll(ctx.(*LiteralContext)) - - return p +func (s *IdentifierContext) FIND() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND, 0) } -func (s *FalseLiteralContext) GetRuleContext() antlr.RuleContext { - return s +func (s *IdentifierContext) FIND_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE, 0) } -func (s *FalseLiteralContext) FALSE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFALSE, 0) +func (s *IdentifierContext) COUNT_DOCUMENTS() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOUNT_DOCUMENTS, 0) } -func (s *FalseLiteralContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterFalseLiteral(s) - } +func (s *IdentifierContext) ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode { + return s.GetToken(MongoShellParserESTIMATED_DOCUMENT_COUNT, 0) } -func (s *FalseLiteralContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitFalseLiteral(s) - } +func (s *IdentifierContext) DISTINCT() antlr.TerminalNode { + return s.GetToken(MongoShellParserDISTINCT, 0) } -func (s *FalseLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitFalseLiteral(s) +func (s *IdentifierContext) AGGREGATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserAGGREGATE, 0) +} - default: - return t.VisitChildren(s) - } +func (s *IdentifierContext) GET_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_INDEXES, 0) } -type TrueLiteralContext struct { - LiteralContext +func (s *IdentifierContext) INSERT_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT_ONE, 0) } -func NewTrueLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *TrueLiteralContext { - var p = new(TrueLiteralContext) +func (s *IdentifierContext) INSERT_MANY() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT_MANY, 0) +} - InitEmptyLiteralContext(&p.LiteralContext) - p.parser = parser - p.CopyAll(ctx.(*LiteralContext)) +func (s *IdentifierContext) UPDATE_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_ONE, 0) +} - return p +func (s *IdentifierContext) UPDATE_MANY() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_MANY, 0) } -func (s *TrueLiteralContext) GetRuleContext() antlr.RuleContext { - return s +func (s *IdentifierContext) DELETE_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDELETE_ONE, 0) } -func (s *TrueLiteralContext) TRUE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTRUE, 0) +func (s *IdentifierContext) DELETE_MANY() antlr.TerminalNode { + return s.GetToken(MongoShellParserDELETE_MANY, 0) } -func (s *TrueLiteralContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterTrueLiteral(s) - } +func (s *IdentifierContext) REPLACE_ONE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREPLACE_ONE, 0) } -func (s *TrueLiteralContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitTrueLiteral(s) - } +func (s *IdentifierContext) FIND_ONE_AND_UPDATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE_AND_UPDATE, 0) } -func (s *TrueLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitTrueLiteral(s) +func (s *IdentifierContext) FIND_ONE_AND_REPLACE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE_AND_REPLACE, 0) +} - default: - return t.VisitChildren(s) - } +func (s *IdentifierContext) FIND_ONE_AND_DELETE() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_ONE_AND_DELETE, 0) } -type NumberLiteralContext struct { - LiteralContext +func (s *IdentifierContext) CREATE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_INDEX, 0) } -func NewNumberLiteralContext(parser antlr.Parser, ctx antlr.ParserRuleContext) *NumberLiteralContext { - var p = new(NumberLiteralContext) +func (s *IdentifierContext) CREATE_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_INDEXES, 0) +} - InitEmptyLiteralContext(&p.LiteralContext) - p.parser = parser - p.CopyAll(ctx.(*LiteralContext)) +func (s *IdentifierContext) DROP_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_INDEX, 0) +} - return p +func (s *IdentifierContext) DROP_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_INDEXES, 0) } -func (s *NumberLiteralContext) GetRuleContext() antlr.RuleContext { - return s +func (s *IdentifierContext) DROP() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP, 0) } -func (s *NumberLiteralContext) NUMBER() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER, 0) +func (s *IdentifierContext) RENAME_COLLECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserRENAME_COLLECTION, 0) } -func (s *NumberLiteralContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterNumberLiteral(s) - } +func (s *IdentifierContext) STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTATS, 0) } -func (s *NumberLiteralContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitNumberLiteral(s) - } +func (s *IdentifierContext) STORAGE_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTORAGE_SIZE, 0) } -func (s *NumberLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitNumberLiteral(s) +func (s *IdentifierContext) TOTAL_INDEX_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTOTAL_INDEX_SIZE, 0) +} - default: - return t.VisitChildren(s) - } +func (s *IdentifierContext) TOTAL_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTOTAL_SIZE, 0) } -func (p *MongoShellParser) Literal() (localctx ILiteralContext) { - localctx = NewLiteralContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 222, MongoShellParserRULE_literal) - p.SetState(1316) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } +func (s *IdentifierContext) DATA_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDATA_SIZE, 0) +} - switch p.GetTokenStream().LA(1) { - case MongoShellParserDOUBLE_QUOTED_STRING, MongoShellParserSINGLE_QUOTED_STRING: - localctx = NewStringLiteralValueContext(p, localctx) - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1311) - p.StringLiteral() - } +func (s *IdentifierContext) IS_CAPPED() antlr.TerminalNode { + return s.GetToken(MongoShellParserIS_CAPPED, 0) +} - case MongoShellParserNUMBER: - localctx = NewNumberLiteralContext(p, localctx) - p.EnterOuterAlt(localctx, 2) - { - p.SetState(1312) - p.Match(MongoShellParserNUMBER) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *IdentifierContext) VALIDATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserVALIDATE, 0) +} - case MongoShellParserTRUE: - localctx = NewTrueLiteralContext(p, localctx) - p.EnterOuterAlt(localctx, 3) - { - p.SetState(1313) - p.Match(MongoShellParserTRUE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *IdentifierContext) LATENCY_STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserLATENCY_STATS, 0) +} - case MongoShellParserFALSE: - localctx = NewFalseLiteralContext(p, localctx) - p.EnterOuterAlt(localctx, 4) - { - p.SetState(1314) - p.Match(MongoShellParserFALSE) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *IdentifierContext) SORT() antlr.TerminalNode { + return s.GetToken(MongoShellParserSORT, 0) +} - case MongoShellParserNULL: - localctx = NewNullLiteralContext(p, localctx) - p.EnterOuterAlt(localctx, 5) - { - p.SetState(1315) - p.Match(MongoShellParserNULL) - if p.HasError() { - // Recognition error - abort rule - goto errorExit - } - } +func (s *IdentifierContext) LIMIT() antlr.TerminalNode { + return s.GetToken(MongoShellParserLIMIT, 0) +} - default: - p.SetError(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - goto errorExit - } +func (s *IdentifierContext) SKIP_() antlr.TerminalNode { + return s.GetToken(MongoShellParserSKIP_, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *IdentifierContext) COUNT() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOUNT, 0) } -// IStringLiteralContext is an interface to support dynamic dispatch. -type IStringLiteralContext interface { - antlr.ParserRuleContext +func (s *IdentifierContext) PROJECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserPROJECTION, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *IdentifierContext) PROJECT() antlr.TerminalNode { + return s.GetToken(MongoShellParserPROJECT, 0) +} - // Getter signatures - DOUBLE_QUOTED_STRING() antlr.TerminalNode - SINGLE_QUOTED_STRING() antlr.TerminalNode +func (s *IdentifierContext) GET_COLLECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_COLLECTION, 0) +} - // IsStringLiteralContext differentiates from other interfaces. - IsStringLiteralContext() +func (s *IdentifierContext) GET_COLLECTION_NAMES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_COLLECTION_NAMES, 0) } -type StringLiteralContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *IdentifierContext) GET_COLLECTION_INFOS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_COLLECTION_INFOS, 0) } -func NewEmptyStringLiteralContext() *StringLiteralContext { - var p = new(StringLiteralContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_stringLiteral - return p +func (s *IdentifierContext) CREATE_COLLECTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_COLLECTION, 0) } -func InitEmptyStringLiteralContext(p *StringLiteralContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_stringLiteral +func (s *IdentifierContext) DROP_DATABASE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_DATABASE, 0) } -func (*StringLiteralContext) IsStringLiteralContext() {} +func (s *IdentifierContext) HOST_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserHOST_INFO, 0) +} -func NewStringLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StringLiteralContext { - var p = new(StringLiteralContext) +func (s *IdentifierContext) LIST_COMMANDS() antlr.TerminalNode { + return s.GetToken(MongoShellParserLIST_COMMANDS, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *IdentifierContext) SERVER_BUILD_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserSERVER_BUILD_INFO, 0) +} - p.parser = parser - p.RuleIndex = MongoShellParserRULE_stringLiteral +func (s *IdentifierContext) SERVER_STATUS() antlr.TerminalNode { + return s.GetToken(MongoShellParserSERVER_STATUS, 0) +} - return p +func (s *IdentifierContext) VERSION() antlr.TerminalNode { + return s.GetToken(MongoShellParserVERSION, 0) } -func (s *StringLiteralContext) GetParser() antlr.Parser { return s.parser } +func (s *IdentifierContext) RUN_COMMAND() antlr.TerminalNode { + return s.GetToken(MongoShellParserRUN_COMMAND, 0) +} -func (s *StringLiteralContext) DOUBLE_QUOTED_STRING() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOUBLE_QUOTED_STRING, 0) +func (s *IdentifierContext) ADMIN_COMMAND() antlr.TerminalNode { + return s.GetToken(MongoShellParserADMIN_COMMAND, 0) } -func (s *StringLiteralContext) SINGLE_QUOTED_STRING() antlr.TerminalNode { - return s.GetToken(MongoShellParserSINGLE_QUOTED_STRING, 0) +func (s *IdentifierContext) GET_NAME() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_NAME, 0) } -func (s *StringLiteralContext) GetRuleContext() antlr.RuleContext { - return s +func (s *IdentifierContext) GET_MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_MONGO, 0) } -func (s *StringLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) +func (s *IdentifierContext) GET_SIBLING_DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_SIBLING_DB, 0) } -func (s *StringLiteralContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterStringLiteral(s) - } +func (s *IdentifierContext) OBJECT_ID() antlr.TerminalNode { + return s.GetToken(MongoShellParserOBJECT_ID, 0) } -func (s *StringLiteralContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitStringLiteral(s) - } +func (s *IdentifierContext) ISO_DATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserISO_DATE, 0) } -func (s *StringLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitStringLiteral(s) +func (s *IdentifierContext) DATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDATE, 0) +} - default: - return t.VisitChildren(s) - } +func (s *IdentifierContext) UUID() antlr.TerminalNode { + return s.GetToken(MongoShellParserUUID, 0) } -func (p *MongoShellParser) StringLiteral() (localctx IStringLiteralContext) { - localctx = NewStringLiteralContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 224, MongoShellParserRULE_stringLiteral) - var _la int +func (s *IdentifierContext) LONG() antlr.TerminalNode { + return s.GetToken(MongoShellParserLONG, 0) +} - p.EnterOuterAlt(localctx, 1) - { - p.SetState(1318) - _la = p.GetTokenStream().LA(1) +func (s *IdentifierContext) NUMBER_LONG() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_LONG, 0) +} - if !(_la == MongoShellParserDOUBLE_QUOTED_STRING || _la == MongoShellParserSINGLE_QUOTED_STRING) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() - } - } +func (s *IdentifierContext) INT32() antlr.TerminalNode { + return s.GetToken(MongoShellParserINT32, 0) +} -errorExit: - if p.HasError() { - v := p.GetError() - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - p.SetError(nil) - } - p.ExitRule() - return localctx - goto errorExit // Trick to prevent compiler error if the label is not used +func (s *IdentifierContext) NUMBER_INT() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_INT, 0) } -// IIdentifierContext is an interface to support dynamic dispatch. -type IIdentifierContext interface { - antlr.ParserRuleContext +func (s *IdentifierContext) DOUBLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDOUBLE, 0) +} - // GetParser returns the parser. - GetParser() antlr.Parser +func (s *IdentifierContext) DECIMAL128() antlr.TerminalNode { + return s.GetToken(MongoShellParserDECIMAL128, 0) +} - // Getter signatures - IDENTIFIER() antlr.TerminalNode - DOLLAR() antlr.TerminalNode - SHOW() antlr.TerminalNode - DBS() antlr.TerminalNode - DATABASES() antlr.TerminalNode - COLLECTIONS() antlr.TerminalNode - DB() antlr.TerminalNode - NEW() antlr.TerminalNode - TRUE() antlr.TerminalNode - FALSE() antlr.TerminalNode - NULL() antlr.TerminalNode - FIND() antlr.TerminalNode - FIND_ONE() antlr.TerminalNode - COUNT_DOCUMENTS() antlr.TerminalNode - ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode - DISTINCT() antlr.TerminalNode - AGGREGATE() antlr.TerminalNode - GET_INDEXES() antlr.TerminalNode - INSERT_ONE() antlr.TerminalNode - INSERT_MANY() antlr.TerminalNode - UPDATE_ONE() antlr.TerminalNode - UPDATE_MANY() antlr.TerminalNode - DELETE_ONE() antlr.TerminalNode - DELETE_MANY() antlr.TerminalNode - REPLACE_ONE() antlr.TerminalNode - FIND_ONE_AND_UPDATE() antlr.TerminalNode - FIND_ONE_AND_REPLACE() antlr.TerminalNode - FIND_ONE_AND_DELETE() antlr.TerminalNode - CREATE_INDEX() antlr.TerminalNode - CREATE_INDEXES() antlr.TerminalNode - DROP_INDEX() antlr.TerminalNode - DROP_INDEXES() antlr.TerminalNode - DROP() antlr.TerminalNode - RENAME_COLLECTION() antlr.TerminalNode - STATS() antlr.TerminalNode - STORAGE_SIZE() antlr.TerminalNode - TOTAL_INDEX_SIZE() antlr.TerminalNode - TOTAL_SIZE() antlr.TerminalNode - DATA_SIZE() antlr.TerminalNode - IS_CAPPED() antlr.TerminalNode - VALIDATE() antlr.TerminalNode - LATENCY_STATS() antlr.TerminalNode - SORT() antlr.TerminalNode - LIMIT() antlr.TerminalNode - SKIP_() antlr.TerminalNode - COUNT() antlr.TerminalNode - PROJECTION() antlr.TerminalNode - PROJECT() antlr.TerminalNode - GET_COLLECTION() antlr.TerminalNode - GET_COLLECTION_NAMES() antlr.TerminalNode - GET_COLLECTION_INFOS() antlr.TerminalNode - CREATE_COLLECTION() antlr.TerminalNode - DROP_DATABASE() antlr.TerminalNode - HOST_INFO() antlr.TerminalNode - LIST_COMMANDS() antlr.TerminalNode - SERVER_BUILD_INFO() antlr.TerminalNode - SERVER_STATUS() antlr.TerminalNode - VERSION() antlr.TerminalNode - RUN_COMMAND() antlr.TerminalNode - ADMIN_COMMAND() antlr.TerminalNode - GET_NAME() antlr.TerminalNode - GET_MONGO() antlr.TerminalNode - GET_SIBLING_DB() antlr.TerminalNode - OBJECT_ID() antlr.TerminalNode - ISO_DATE() antlr.TerminalNode - DATE() antlr.TerminalNode - UUID() antlr.TerminalNode - LONG() antlr.TerminalNode - NUMBER_LONG() antlr.TerminalNode - INT32() antlr.TerminalNode - NUMBER_INT() antlr.TerminalNode - DOUBLE() antlr.TerminalNode - DECIMAL128() antlr.TerminalNode - NUMBER_DECIMAL() antlr.TerminalNode - TIMESTAMP() antlr.TerminalNode - REG_EXP() antlr.TerminalNode - BIN_DATA() antlr.TerminalNode - BINARY() antlr.TerminalNode - BSON_REG_EXP() antlr.TerminalNode - HEX_DATA() antlr.TerminalNode - BATCH_SIZE() antlr.TerminalNode - CLOSE() antlr.TerminalNode - COLLATION() antlr.TerminalNode - COMMENT() antlr.TerminalNode - EXPLAIN() antlr.TerminalNode - FOR_EACH() antlr.TerminalNode - HAS_NEXT() antlr.TerminalNode - HINT() antlr.TerminalNode - IS_CLOSED() antlr.TerminalNode - IS_EXHAUSTED() antlr.TerminalNode - IT_COUNT() antlr.TerminalNode - MAP() antlr.TerminalNode - MAX() antlr.TerminalNode - MAX_AWAIT_TIME_MS() antlr.TerminalNode - MAX_TIME_MS() antlr.TerminalNode - MIN() antlr.TerminalNode - NEXT() antlr.TerminalNode - NO_CURSOR_TIMEOUT() antlr.TerminalNode - OBJS_LEFT_IN_BATCH() antlr.TerminalNode - PRETTY() antlr.TerminalNode - READ_CONCERN() antlr.TerminalNode - READ_PREF() antlr.TerminalNode - RETURN_KEY() antlr.TerminalNode - SHOW_RECORD_ID() antlr.TerminalNode - SIZE() antlr.TerminalNode - TAILABLE() antlr.TerminalNode - TO_ARRAY() antlr.TerminalNode - TRY_NEXT() antlr.TerminalNode - ALLOW_DISK_USE() antlr.TerminalNode - ADD_OPTION() antlr.TerminalNode - INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode - INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode - EXECUTE() antlr.TerminalNode - GET_OPERATIONS() antlr.TerminalNode - TO_STRING() antlr.TerminalNode - INSERT() antlr.TerminalNode - REMOVE() antlr.TerminalNode - MONGO() antlr.TerminalNode - CONNECT() antlr.TerminalNode - GET_DB() antlr.TerminalNode - GET_READ_CONCERN() antlr.TerminalNode - GET_READ_PREF() antlr.TerminalNode - GET_READ_PREF_MODE() antlr.TerminalNode - GET_READ_PREF_TAG_SET() antlr.TerminalNode - GET_WRITE_CONCERN() antlr.TerminalNode - SET_READ_PREF() antlr.TerminalNode - SET_READ_CONCERN() antlr.TerminalNode - SET_WRITE_CONCERN() antlr.TerminalNode - START_SESSION() antlr.TerminalNode - WATCH() antlr.TerminalNode - GET_DB_NAMES() antlr.TerminalNode - RS() antlr.TerminalNode - SH() antlr.TerminalNode - SP() antlr.TerminalNode - GET_KEY_VAULT() antlr.TerminalNode - GET_CLIENT_ENCRYPTION() antlr.TerminalNode - GET_PLAN_CACHE() antlr.TerminalNode +func (s *IdentifierContext) NUMBER_DECIMAL() antlr.TerminalNode { + return s.GetToken(MongoShellParserNUMBER_DECIMAL, 0) +} - // IsIdentifierContext differentiates from other interfaces. - IsIdentifierContext() +func (s *IdentifierContext) TIMESTAMP() antlr.TerminalNode { + return s.GetToken(MongoShellParserTIMESTAMP, 0) } -type IdentifierContext struct { - antlr.BaseParserRuleContext - parser antlr.Parser +func (s *IdentifierContext) REG_EXP() antlr.TerminalNode { + return s.GetToken(MongoShellParserREG_EXP, 0) } -func NewEmptyIdentifierContext() *IdentifierContext { - var p = new(IdentifierContext) - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_identifier - return p +func (s *IdentifierContext) BIN_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserBIN_DATA, 0) } -func InitEmptyIdentifierContext(p *IdentifierContext) { - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, nil, -1) - p.RuleIndex = MongoShellParserRULE_identifier +func (s *IdentifierContext) BINARY() antlr.TerminalNode { + return s.GetToken(MongoShellParserBINARY, 0) } -func (*IdentifierContext) IsIdentifierContext() {} +func (s *IdentifierContext) BSON_REG_EXP() antlr.TerminalNode { + return s.GetToken(MongoShellParserBSON_REG_EXP, 0) +} -func NewIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IdentifierContext { - var p = new(IdentifierContext) +func (s *IdentifierContext) HEX_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserHEX_DATA, 0) +} - antlr.InitBaseParserRuleContext(&p.BaseParserRuleContext, parent, invokingState) +func (s *IdentifierContext) BATCH_SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserBATCH_SIZE, 0) +} - p.parser = parser - p.RuleIndex = MongoShellParserRULE_identifier +func (s *IdentifierContext) CLOSE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCLOSE, 0) +} - return p +func (s *IdentifierContext) COLLATION() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOLLATION, 0) } -func (s *IdentifierContext) GetParser() antlr.Parser { return s.parser } +func (s *IdentifierContext) COMMENT() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMENT, 0) +} -func (s *IdentifierContext) IDENTIFIER() antlr.TerminalNode { - return s.GetToken(MongoShellParserIDENTIFIER, 0) +func (s *IdentifierContext) EXPLAIN() antlr.TerminalNode { + return s.GetToken(MongoShellParserEXPLAIN, 0) } -func (s *IdentifierContext) DOLLAR() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOLLAR, 0) +func (s *IdentifierContext) FOR_EACH() antlr.TerminalNode { + return s.GetToken(MongoShellParserFOR_EACH, 0) } -func (s *IdentifierContext) SHOW() antlr.TerminalNode { - return s.GetToken(MongoShellParserSHOW, 0) +func (s *IdentifierContext) HAS_NEXT() antlr.TerminalNode { + return s.GetToken(MongoShellParserHAS_NEXT, 0) } -func (s *IdentifierContext) DBS() antlr.TerminalNode { - return s.GetToken(MongoShellParserDBS, 0) +func (s *IdentifierContext) HINT() antlr.TerminalNode { + return s.GetToken(MongoShellParserHINT, 0) } -func (s *IdentifierContext) DATABASES() antlr.TerminalNode { - return s.GetToken(MongoShellParserDATABASES, 0) +func (s *IdentifierContext) IS_CLOSED() antlr.TerminalNode { + return s.GetToken(MongoShellParserIS_CLOSED, 0) } -func (s *IdentifierContext) COLLECTIONS() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOLLECTIONS, 0) +func (s *IdentifierContext) IS_EXHAUSTED() antlr.TerminalNode { + return s.GetToken(MongoShellParserIS_EXHAUSTED, 0) } -func (s *IdentifierContext) DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserDB, 0) +func (s *IdentifierContext) IT_COUNT() antlr.TerminalNode { + return s.GetToken(MongoShellParserIT_COUNT, 0) } -func (s *IdentifierContext) NEW() antlr.TerminalNode { - return s.GetToken(MongoShellParserNEW, 0) +func (s *IdentifierContext) MAP() antlr.TerminalNode { + return s.GetToken(MongoShellParserMAP, 0) } -func (s *IdentifierContext) TRUE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTRUE, 0) +func (s *IdentifierContext) MAX() antlr.TerminalNode { + return s.GetToken(MongoShellParserMAX, 0) } -func (s *IdentifierContext) FALSE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFALSE, 0) +func (s *IdentifierContext) MAX_AWAIT_TIME_MS() antlr.TerminalNode { + return s.GetToken(MongoShellParserMAX_AWAIT_TIME_MS, 0) } -func (s *IdentifierContext) NULL() antlr.TerminalNode { - return s.GetToken(MongoShellParserNULL, 0) +func (s *IdentifierContext) MAX_TIME_MS() antlr.TerminalNode { + return s.GetToken(MongoShellParserMAX_TIME_MS, 0) } -func (s *IdentifierContext) FIND() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND, 0) +func (s *IdentifierContext) MIN() antlr.TerminalNode { + return s.GetToken(MongoShellParserMIN, 0) } -func (s *IdentifierContext) FIND_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE, 0) +func (s *IdentifierContext) NEXT() antlr.TerminalNode { + return s.GetToken(MongoShellParserNEXT, 0) } -func (s *IdentifierContext) COUNT_DOCUMENTS() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOUNT_DOCUMENTS, 0) +func (s *IdentifierContext) NO_CURSOR_TIMEOUT() antlr.TerminalNode { + return s.GetToken(MongoShellParserNO_CURSOR_TIMEOUT, 0) } -func (s *IdentifierContext) ESTIMATED_DOCUMENT_COUNT() antlr.TerminalNode { - return s.GetToken(MongoShellParserESTIMATED_DOCUMENT_COUNT, 0) +func (s *IdentifierContext) OBJS_LEFT_IN_BATCH() antlr.TerminalNode { + return s.GetToken(MongoShellParserOBJS_LEFT_IN_BATCH, 0) } -func (s *IdentifierContext) DISTINCT() antlr.TerminalNode { - return s.GetToken(MongoShellParserDISTINCT, 0) +func (s *IdentifierContext) PRETTY() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRETTY, 0) } -func (s *IdentifierContext) AGGREGATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserAGGREGATE, 0) +func (s *IdentifierContext) READ_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserREAD_CONCERN, 0) } -func (s *IdentifierContext) GET_INDEXES() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_INDEXES, 0) +func (s *IdentifierContext) READ_PREF() antlr.TerminalNode { + return s.GetToken(MongoShellParserREAD_PREF, 0) } -func (s *IdentifierContext) INSERT_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserINSERT_ONE, 0) +func (s *IdentifierContext) RETURN_KEY() antlr.TerminalNode { + return s.GetToken(MongoShellParserRETURN_KEY, 0) } -func (s *IdentifierContext) INSERT_MANY() antlr.TerminalNode { - return s.GetToken(MongoShellParserINSERT_MANY, 0) +func (s *IdentifierContext) SHOW_RECORD_ID() antlr.TerminalNode { + return s.GetToken(MongoShellParserSHOW_RECORD_ID, 0) } -func (s *IdentifierContext) UPDATE_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserUPDATE_ONE, 0) +func (s *IdentifierContext) SIZE() antlr.TerminalNode { + return s.GetToken(MongoShellParserSIZE, 0) } -func (s *IdentifierContext) UPDATE_MANY() antlr.TerminalNode { - return s.GetToken(MongoShellParserUPDATE_MANY, 0) +func (s *IdentifierContext) TAILABLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserTAILABLE, 0) } -func (s *IdentifierContext) DELETE_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDELETE_ONE, 0) +func (s *IdentifierContext) TO_ARRAY() antlr.TerminalNode { + return s.GetToken(MongoShellParserTO_ARRAY, 0) } -func (s *IdentifierContext) DELETE_MANY() antlr.TerminalNode { - return s.GetToken(MongoShellParserDELETE_MANY, 0) +func (s *IdentifierContext) TRY_NEXT() antlr.TerminalNode { + return s.GetToken(MongoShellParserTRY_NEXT, 0) } -func (s *IdentifierContext) REPLACE_ONE() antlr.TerminalNode { - return s.GetToken(MongoShellParserREPLACE_ONE, 0) +func (s *IdentifierContext) ALLOW_DISK_USE() antlr.TerminalNode { + return s.GetToken(MongoShellParserALLOW_DISK_USE, 0) } -func (s *IdentifierContext) FIND_ONE_AND_UPDATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE_AND_UPDATE, 0) +func (s *IdentifierContext) ADD_OPTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserADD_OPTION, 0) +} + +func (s *IdentifierContext) INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserINITIALIZE_ORDERED_BULK_OP, 0) +} + +func (s *IdentifierContext) INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserINITIALIZE_UNORDERED_BULK_OP, 0) +} + +func (s *IdentifierContext) EXECUTE() antlr.TerminalNode { + return s.GetToken(MongoShellParserEXECUTE, 0) +} + +func (s *IdentifierContext) GET_OPERATIONS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_OPERATIONS, 0) +} + +func (s *IdentifierContext) TO_STRING() antlr.TerminalNode { + return s.GetToken(MongoShellParserTO_STRING, 0) +} + +func (s *IdentifierContext) INSERT() antlr.TerminalNode { + return s.GetToken(MongoShellParserINSERT, 0) +} + +func (s *IdentifierContext) REMOVE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREMOVE, 0) +} + +func (s *IdentifierContext) MONGO() antlr.TerminalNode { + return s.GetToken(MongoShellParserMONGO, 0) +} + +func (s *IdentifierContext) CONNECT() antlr.TerminalNode { + return s.GetToken(MongoShellParserCONNECT, 0) +} + +func (s *IdentifierContext) GET_DB() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_DB, 0) +} + +func (s *IdentifierContext) GET_READ_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_CONCERN, 0) +} + +func (s *IdentifierContext) GET_READ_PREF() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_PREF, 0) +} + +func (s *IdentifierContext) GET_READ_PREF_MODE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_PREF_MODE, 0) +} + +func (s *IdentifierContext) GET_READ_PREF_TAG_SET() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_READ_PREF_TAG_SET, 0) +} + +func (s *IdentifierContext) GET_WRITE_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_WRITE_CONCERN, 0) +} + +func (s *IdentifierContext) SET_READ_PREF() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_READ_PREF, 0) +} + +func (s *IdentifierContext) SET_READ_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_READ_CONCERN, 0) +} + +func (s *IdentifierContext) SET_WRITE_CONCERN() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_WRITE_CONCERN, 0) +} + +func (s *IdentifierContext) START_SESSION() antlr.TerminalNode { + return s.GetToken(MongoShellParserSTART_SESSION, 0) +} + +func (s *IdentifierContext) WATCH() antlr.TerminalNode { + return s.GetToken(MongoShellParserWATCH, 0) +} + +func (s *IdentifierContext) GET_DB_NAMES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_DB_NAMES, 0) +} + +func (s *IdentifierContext) RS() antlr.TerminalNode { + return s.GetToken(MongoShellParserRS, 0) +} + +func (s *IdentifierContext) SH() antlr.TerminalNode { + return s.GetToken(MongoShellParserSH, 0) +} + +func (s *IdentifierContext) SP() antlr.TerminalNode { + return s.GetToken(MongoShellParserSP, 0) +} + +func (s *IdentifierContext) GET_KEY_VAULT() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_KEY_VAULT, 0) +} + +func (s *IdentifierContext) GET_CLIENT_ENCRYPTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_CLIENT_ENCRYPTION, 0) } -func (s *IdentifierContext) FIND_ONE_AND_REPLACE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE_AND_REPLACE, 0) +func (s *IdentifierContext) GET_PLAN_CACHE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_PLAN_CACHE, 0) } -func (s *IdentifierContext) FIND_ONE_AND_DELETE() antlr.TerminalNode { - return s.GetToken(MongoShellParserFIND_ONE_AND_DELETE, 0) +func (s *IdentifierContext) BULK_WRITE() antlr.TerminalNode { + return s.GetToken(MongoShellParserBULK_WRITE, 0) } -func (s *IdentifierContext) CREATE_INDEX() antlr.TerminalNode { - return s.GetToken(MongoShellParserCREATE_INDEX, 0) +func (s *IdentifierContext) UPDATE() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE, 0) } -func (s *IdentifierContext) CREATE_INDEXES() antlr.TerminalNode { - return s.GetToken(MongoShellParserCREATE_INDEXES, 0) +func (s *IdentifierContext) MAP_REDUCE() antlr.TerminalNode { + return s.GetToken(MongoShellParserMAP_REDUCE, 0) } -func (s *IdentifierContext) DROP_INDEX() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP_INDEX, 0) +func (s *IdentifierContext) FIND_AND_MODIFY() antlr.TerminalNode { + return s.GetToken(MongoShellParserFIND_AND_MODIFY, 0) } -func (s *IdentifierContext) DROP_INDEXES() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP_INDEXES, 0) +func (s *IdentifierContext) ANALYZE_SHARD_KEY() antlr.TerminalNode { + return s.GetToken(MongoShellParserANALYZE_SHARD_KEY, 0) } -func (s *IdentifierContext) DROP() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP, 0) +func (s *IdentifierContext) CONFIGURE_QUERY_ANALYZER() antlr.TerminalNode { + return s.GetToken(MongoShellParserCONFIGURE_QUERY_ANALYZER, 0) } -func (s *IdentifierContext) RENAME_COLLECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserRENAME_COLLECTION, 0) +func (s *IdentifierContext) COMPACT_STRUCTURED_ENCRYPTION_DATA() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA, 0) } -func (s *IdentifierContext) STATS() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTATS, 0) +func (s *IdentifierContext) HIDE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserHIDE_INDEX, 0) } -func (s *IdentifierContext) STORAGE_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTORAGE_SIZE, 0) +func (s *IdentifierContext) UNHIDE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserUNHIDE_INDEX, 0) } -func (s *IdentifierContext) TOTAL_INDEX_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTOTAL_INDEX_SIZE, 0) +func (s *IdentifierContext) RE_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserRE_INDEX, 0) } -func (s *IdentifierContext) TOTAL_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTOTAL_SIZE, 0) +func (s *IdentifierContext) GET_SHARD_DISTRIBUTION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_SHARD_DISTRIBUTION, 0) } -func (s *IdentifierContext) DATA_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDATA_SIZE, 0) +func (s *IdentifierContext) GET_SHARD_VERSION() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_SHARD_VERSION, 0) } -func (s *IdentifierContext) IS_CAPPED() antlr.TerminalNode { - return s.GetToken(MongoShellParserIS_CAPPED, 0) +func (s *IdentifierContext) CREATE_SEARCH_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_SEARCH_INDEX, 0) } -func (s *IdentifierContext) VALIDATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserVALIDATE, 0) +func (s *IdentifierContext) CREATE_SEARCH_INDEXES() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_SEARCH_INDEXES, 0) } -func (s *IdentifierContext) LATENCY_STATS() antlr.TerminalNode { - return s.GetToken(MongoShellParserLATENCY_STATS, 0) +func (s *IdentifierContext) DROP_SEARCH_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_SEARCH_INDEX, 0) } -func (s *IdentifierContext) SORT() antlr.TerminalNode { - return s.GetToken(MongoShellParserSORT, 0) +func (s *IdentifierContext) UPDATE_SEARCH_INDEX() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_SEARCH_INDEX, 0) } -func (s *IdentifierContext) LIMIT() antlr.TerminalNode { - return s.GetToken(MongoShellParserLIMIT, 0) +func (s *IdentifierContext) AUTH() antlr.TerminalNode { + return s.GetToken(MongoShellParserAUTH, 0) } -func (s *IdentifierContext) SKIP_() antlr.TerminalNode { - return s.GetToken(MongoShellParserSKIP_, 0) +func (s *IdentifierContext) CHANGE_USER_PASSWORD() antlr.TerminalNode { + return s.GetToken(MongoShellParserCHANGE_USER_PASSWORD, 0) } -func (s *IdentifierContext) COUNT() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOUNT, 0) +func (s *IdentifierContext) CLONE_DATABASE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCLONE_DATABASE, 0) } -func (s *IdentifierContext) PROJECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserPROJECTION, 0) +func (s *IdentifierContext) COMMAND_HELP() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOMMAND_HELP, 0) } -func (s *IdentifierContext) PROJECT() antlr.TerminalNode { - return s.GetToken(MongoShellParserPROJECT, 0) +func (s *IdentifierContext) COPY_DATABASE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCOPY_DATABASE, 0) } -func (s *IdentifierContext) GET_COLLECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_COLLECTION, 0) +func (s *IdentifierContext) CREATE_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_ROLE, 0) } -func (s *IdentifierContext) GET_COLLECTION_NAMES() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_COLLECTION_NAMES, 0) +func (s *IdentifierContext) CREATE_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_USER, 0) } -func (s *IdentifierContext) GET_COLLECTION_INFOS() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_COLLECTION_INFOS, 0) +func (s *IdentifierContext) CREATE_VIEW() antlr.TerminalNode { + return s.GetToken(MongoShellParserCREATE_VIEW, 0) } -func (s *IdentifierContext) CREATE_COLLECTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserCREATE_COLLECTION, 0) +func (s *IdentifierContext) CURRENT_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserCURRENT_OP, 0) } -func (s *IdentifierContext) DROP_DATABASE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDROP_DATABASE, 0) +func (s *IdentifierContext) DROP_ALL_ROLES() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_ALL_ROLES, 0) } -func (s *IdentifierContext) HOST_INFO() antlr.TerminalNode { - return s.GetToken(MongoShellParserHOST_INFO, 0) +func (s *IdentifierContext) DROP_ALL_USERS() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_ALL_USERS, 0) } -func (s *IdentifierContext) LIST_COMMANDS() antlr.TerminalNode { - return s.GetToken(MongoShellParserLIST_COMMANDS, 0) +func (s *IdentifierContext) DROP_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_ROLE, 0) } -func (s *IdentifierContext) SERVER_BUILD_INFO() antlr.TerminalNode { - return s.GetToken(MongoShellParserSERVER_BUILD_INFO, 0) +func (s *IdentifierContext) DROP_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserDROP_USER, 0) } -func (s *IdentifierContext) SERVER_STATUS() antlr.TerminalNode { - return s.GetToken(MongoShellParserSERVER_STATUS, 0) +func (s *IdentifierContext) FSYNC_LOCK() antlr.TerminalNode { + return s.GetToken(MongoShellParserFSYNC_LOCK, 0) } -func (s *IdentifierContext) VERSION() antlr.TerminalNode { - return s.GetToken(MongoShellParserVERSION, 0) +func (s *IdentifierContext) FSYNC_UNLOCK() antlr.TerminalNode { + return s.GetToken(MongoShellParserFSYNC_UNLOCK, 0) } -func (s *IdentifierContext) RUN_COMMAND() antlr.TerminalNode { - return s.GetToken(MongoShellParserRUN_COMMAND, 0) +func (s *IdentifierContext) GET_LOG_COMPONENTS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_LOG_COMPONENTS, 0) } -func (s *IdentifierContext) ADMIN_COMMAND() antlr.TerminalNode { - return s.GetToken(MongoShellParserADMIN_COMMAND, 0) +func (s *IdentifierContext) GET_PROFILING_LEVEL() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_PROFILING_LEVEL, 0) } -func (s *IdentifierContext) GET_NAME() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_NAME, 0) +func (s *IdentifierContext) GET_PROFILING_STATUS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_PROFILING_STATUS, 0) } -func (s *IdentifierContext) GET_MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_MONGO, 0) +func (s *IdentifierContext) GET_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_REPLICATION_INFO, 0) } -func (s *IdentifierContext) GET_SIBLING_DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_SIBLING_DB, 0) +func (s *IdentifierContext) GET_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_ROLE, 0) } -func (s *IdentifierContext) OBJECT_ID() antlr.TerminalNode { - return s.GetToken(MongoShellParserOBJECT_ID, 0) +func (s *IdentifierContext) GET_ROLES() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_ROLES, 0) } -func (s *IdentifierContext) ISO_DATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserISO_DATE, 0) +func (s *IdentifierContext) GET_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_USER, 0) } -func (s *IdentifierContext) DATE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDATE, 0) +func (s *IdentifierContext) GET_USERS() antlr.TerminalNode { + return s.GetToken(MongoShellParserGET_USERS, 0) } -func (s *IdentifierContext) UUID() antlr.TerminalNode { - return s.GetToken(MongoShellParserUUID, 0) +func (s *IdentifierContext) GRANT_PRIVILEGES_TO_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGRANT_PRIVILEGES_TO_ROLE, 0) } -func (s *IdentifierContext) LONG() antlr.TerminalNode { - return s.GetToken(MongoShellParserLONG, 0) +func (s *IdentifierContext) GRANT_ROLES_TO_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserGRANT_ROLES_TO_ROLE, 0) } -func (s *IdentifierContext) NUMBER_LONG() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_LONG, 0) +func (s *IdentifierContext) GRANT_ROLES_TO_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserGRANT_ROLES_TO_USER, 0) } -func (s *IdentifierContext) INT32() antlr.TerminalNode { - return s.GetToken(MongoShellParserINT32, 0) +func (s *IdentifierContext) HELLO() antlr.TerminalNode { + return s.GetToken(MongoShellParserHELLO, 0) } -func (s *IdentifierContext) NUMBER_INT() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_INT, 0) +func (s *IdentifierContext) IS_MASTER() antlr.TerminalNode { + return s.GetToken(MongoShellParserIS_MASTER, 0) } -func (s *IdentifierContext) DOUBLE() antlr.TerminalNode { - return s.GetToken(MongoShellParserDOUBLE, 0) +func (s *IdentifierContext) KILL_OP() antlr.TerminalNode { + return s.GetToken(MongoShellParserKILL_OP, 0) } -func (s *IdentifierContext) DECIMAL128() antlr.TerminalNode { - return s.GetToken(MongoShellParserDECIMAL128, 0) +func (s *IdentifierContext) LOGOUT() antlr.TerminalNode { + return s.GetToken(MongoShellParserLOGOUT, 0) } -func (s *IdentifierContext) NUMBER_DECIMAL() antlr.TerminalNode { - return s.GetToken(MongoShellParserNUMBER_DECIMAL, 0) +func (s *IdentifierContext) PRINT_COLLECTION_STATS() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_COLLECTION_STATS, 0) } -func (s *IdentifierContext) TIMESTAMP() antlr.TerminalNode { - return s.GetToken(MongoShellParserTIMESTAMP, 0) +func (s *IdentifierContext) PRINT_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_REPLICATION_INFO, 0) } -func (s *IdentifierContext) REG_EXP() antlr.TerminalNode { - return s.GetToken(MongoShellParserREG_EXP, 0) +func (s *IdentifierContext) PRINT_SECONDARY_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_SECONDARY_REPLICATION_INFO, 0) } -func (s *IdentifierContext) BIN_DATA() antlr.TerminalNode { - return s.GetToken(MongoShellParserBIN_DATA, 0) +func (s *IdentifierContext) PRINT_SHARDING_STATUS() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_SHARDING_STATUS, 0) } -func (s *IdentifierContext) BINARY() antlr.TerminalNode { - return s.GetToken(MongoShellParserBINARY, 0) +func (s *IdentifierContext) PRINT_SLAVE_REPLICATION_INFO() antlr.TerminalNode { + return s.GetToken(MongoShellParserPRINT_SLAVE_REPLICATION_INFO, 0) } -func (s *IdentifierContext) BSON_REG_EXP() antlr.TerminalNode { - return s.GetToken(MongoShellParserBSON_REG_EXP, 0) +func (s *IdentifierContext) REVOKE_PRIVILEGES_FROM_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE, 0) } -func (s *IdentifierContext) HEX_DATA() antlr.TerminalNode { - return s.GetToken(MongoShellParserHEX_DATA, 0) +func (s *IdentifierContext) REVOKE_ROLES_FROM_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserREVOKE_ROLES_FROM_ROLE, 0) } -func (s *IdentifierContext) BATCH_SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserBATCH_SIZE, 0) +func (s *IdentifierContext) REVOKE_ROLES_FROM_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserREVOKE_ROLES_FROM_USER, 0) } -func (s *IdentifierContext) CLOSE() antlr.TerminalNode { - return s.GetToken(MongoShellParserCLOSE, 0) +func (s *IdentifierContext) ROTATE_CERTIFICATES() antlr.TerminalNode { + return s.GetToken(MongoShellParserROTATE_CERTIFICATES, 0) } -func (s *IdentifierContext) COLLATION() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOLLATION, 0) +func (s *IdentifierContext) SET_LOG_LEVEL() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_LOG_LEVEL, 0) } -func (s *IdentifierContext) COMMENT() antlr.TerminalNode { - return s.GetToken(MongoShellParserCOMMENT, 0) +func (s *IdentifierContext) SET_PROFILING_LEVEL() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_PROFILING_LEVEL, 0) } -func (s *IdentifierContext) EXPLAIN() antlr.TerminalNode { - return s.GetToken(MongoShellParserEXPLAIN, 0) +func (s *IdentifierContext) SET_SECONDARY_OK() antlr.TerminalNode { + return s.GetToken(MongoShellParserSET_SECONDARY_OK, 0) } -func (s *IdentifierContext) FOR_EACH() antlr.TerminalNode { - return s.GetToken(MongoShellParserFOR_EACH, 0) +func (s *IdentifierContext) SHUTDOWN_SERVER() antlr.TerminalNode { + return s.GetToken(MongoShellParserSHUTDOWN_SERVER, 0) } -func (s *IdentifierContext) HAS_NEXT() antlr.TerminalNode { - return s.GetToken(MongoShellParserHAS_NEXT, 0) +func (s *IdentifierContext) UPDATE_ROLE() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_ROLE, 0) } -func (s *IdentifierContext) HINT() antlr.TerminalNode { - return s.GetToken(MongoShellParserHINT, 0) +func (s *IdentifierContext) UPDATE_USER() antlr.TerminalNode { + return s.GetToken(MongoShellParserUPDATE_USER, 0) } -func (s *IdentifierContext) IS_CLOSED() antlr.TerminalNode { - return s.GetToken(MongoShellParserIS_CLOSED, 0) +func (s *IdentifierContext) GetRuleContext() antlr.RuleContext { + return s } -func (s *IdentifierContext) IS_EXHAUSTED() antlr.TerminalNode { - return s.GetToken(MongoShellParserIS_EXHAUSTED, 0) +func (s *IdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { + return antlr.TreesStringTree(s, ruleNames, recog) } -func (s *IdentifierContext) IT_COUNT() antlr.TerminalNode { - return s.GetToken(MongoShellParserIT_COUNT, 0) +func (s *IdentifierContext) EnterRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.EnterIdentifier(s) + } } -func (s *IdentifierContext) MAP() antlr.TerminalNode { - return s.GetToken(MongoShellParserMAP, 0) +func (s *IdentifierContext) ExitRule(listener antlr.ParseTreeListener) { + if listenerT, ok := listener.(MongoShellParserListener); ok { + listenerT.ExitIdentifier(s) + } } -func (s *IdentifierContext) MAX() antlr.TerminalNode { - return s.GetToken(MongoShellParserMAX, 0) -} +func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { + switch t := visitor.(type) { + case MongoShellParserVisitor: + return t.VisitIdentifier(s) -func (s *IdentifierContext) MAX_AWAIT_TIME_MS() antlr.TerminalNode { - return s.GetToken(MongoShellParserMAX_AWAIT_TIME_MS, 0) + default: + return t.VisitChildren(s) + } } -func (s *IdentifierContext) MAX_TIME_MS() antlr.TerminalNode { - return s.GetToken(MongoShellParserMAX_TIME_MS, 0) -} +func (p *MongoShellParser) Identifier() (localctx IIdentifierContext) { + localctx = NewIdentifierContext(p, p.GetParserRuleContext(), p.GetState()) + p.EnterRule(localctx, 266, MongoShellParserRULE_identifier) + p.SetState(2071) + p.GetErrorHandler().Sync(p) + if p.HasError() { + goto errorExit + } + + switch p.GetTokenStream().LA(1) { + case MongoShellParserIDENTIFIER: + p.EnterOuterAlt(localctx, 1) + { + p.SetState(1872) + p.Match(MongoShellParserIDENTIFIER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserDOLLAR: + p.EnterOuterAlt(localctx, 2) + { + p.SetState(1873) + p.Match(MongoShellParserDOLLAR) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + { + p.SetState(1874) + p.Match(MongoShellParserIDENTIFIER) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserSHOW: + p.EnterOuterAlt(localctx, 3) + { + p.SetState(1875) + p.Match(MongoShellParserSHOW) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserDBS: + p.EnterOuterAlt(localctx, 4) + { + p.SetState(1876) + p.Match(MongoShellParserDBS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserDATABASES: + p.EnterOuterAlt(localctx, 5) + { + p.SetState(1877) + p.Match(MongoShellParserDATABASES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserCOLLECTIONS: + p.EnterOuterAlt(localctx, 6) + { + p.SetState(1878) + p.Match(MongoShellParserCOLLECTIONS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserDB: + p.EnterOuterAlt(localctx, 7) + { + p.SetState(1879) + p.Match(MongoShellParserDB) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserNEW: + p.EnterOuterAlt(localctx, 8) + { + p.SetState(1880) + p.Match(MongoShellParserNEW) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserTRUE: + p.EnterOuterAlt(localctx, 9) + { + p.SetState(1881) + p.Match(MongoShellParserTRUE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserFALSE: + p.EnterOuterAlt(localctx, 10) + { + p.SetState(1882) + p.Match(MongoShellParserFALSE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) MIN() antlr.TerminalNode { - return s.GetToken(MongoShellParserMIN, 0) -} + case MongoShellParserNULL: + p.EnterOuterAlt(localctx, 11) + { + p.SetState(1883) + p.Match(MongoShellParserNULL) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) NEXT() antlr.TerminalNode { - return s.GetToken(MongoShellParserNEXT, 0) -} + case MongoShellParserFIND: + p.EnterOuterAlt(localctx, 12) + { + p.SetState(1884) + p.Match(MongoShellParserFIND) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) NO_CURSOR_TIMEOUT() antlr.TerminalNode { - return s.GetToken(MongoShellParserNO_CURSOR_TIMEOUT, 0) -} + case MongoShellParserFIND_ONE: + p.EnterOuterAlt(localctx, 13) + { + p.SetState(1885) + p.Match(MongoShellParserFIND_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) OBJS_LEFT_IN_BATCH() antlr.TerminalNode { - return s.GetToken(MongoShellParserOBJS_LEFT_IN_BATCH, 0) -} + case MongoShellParserCOUNT_DOCUMENTS: + p.EnterOuterAlt(localctx, 14) + { + p.SetState(1886) + p.Match(MongoShellParserCOUNT_DOCUMENTS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) PRETTY() antlr.TerminalNode { - return s.GetToken(MongoShellParserPRETTY, 0) -} + case MongoShellParserESTIMATED_DOCUMENT_COUNT: + p.EnterOuterAlt(localctx, 15) + { + p.SetState(1887) + p.Match(MongoShellParserESTIMATED_DOCUMENT_COUNT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) READ_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserREAD_CONCERN, 0) -} + case MongoShellParserDISTINCT: + p.EnterOuterAlt(localctx, 16) + { + p.SetState(1888) + p.Match(MongoShellParserDISTINCT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) READ_PREF() antlr.TerminalNode { - return s.GetToken(MongoShellParserREAD_PREF, 0) -} + case MongoShellParserAGGREGATE: + p.EnterOuterAlt(localctx, 17) + { + p.SetState(1889) + p.Match(MongoShellParserAGGREGATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) RETURN_KEY() antlr.TerminalNode { - return s.GetToken(MongoShellParserRETURN_KEY, 0) -} + case MongoShellParserGET_INDEXES: + p.EnterOuterAlt(localctx, 18) + { + p.SetState(1890) + p.Match(MongoShellParserGET_INDEXES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SHOW_RECORD_ID() antlr.TerminalNode { - return s.GetToken(MongoShellParserSHOW_RECORD_ID, 0) -} + case MongoShellParserINSERT_ONE: + p.EnterOuterAlt(localctx, 19) + { + p.SetState(1891) + p.Match(MongoShellParserINSERT_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SIZE() antlr.TerminalNode { - return s.GetToken(MongoShellParserSIZE, 0) -} + case MongoShellParserINSERT_MANY: + p.EnterOuterAlt(localctx, 20) + { + p.SetState(1892) + p.Match(MongoShellParserINSERT_MANY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) TAILABLE() antlr.TerminalNode { - return s.GetToken(MongoShellParserTAILABLE, 0) -} + case MongoShellParserUPDATE_ONE: + p.EnterOuterAlt(localctx, 21) + { + p.SetState(1893) + p.Match(MongoShellParserUPDATE_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) TO_ARRAY() antlr.TerminalNode { - return s.GetToken(MongoShellParserTO_ARRAY, 0) -} + case MongoShellParserUPDATE_MANY: + p.EnterOuterAlt(localctx, 22) + { + p.SetState(1894) + p.Match(MongoShellParserUPDATE_MANY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) TRY_NEXT() antlr.TerminalNode { - return s.GetToken(MongoShellParserTRY_NEXT, 0) -} + case MongoShellParserDELETE_ONE: + p.EnterOuterAlt(localctx, 23) + { + p.SetState(1895) + p.Match(MongoShellParserDELETE_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) ALLOW_DISK_USE() antlr.TerminalNode { - return s.GetToken(MongoShellParserALLOW_DISK_USE, 0) -} + case MongoShellParserDELETE_MANY: + p.EnterOuterAlt(localctx, 24) + { + p.SetState(1896) + p.Match(MongoShellParserDELETE_MANY) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) ADD_OPTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserADD_OPTION, 0) -} + case MongoShellParserREPLACE_ONE: + p.EnterOuterAlt(localctx, 25) + { + p.SetState(1897) + p.Match(MongoShellParserREPLACE_ONE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) INITIALIZE_ORDERED_BULK_OP() antlr.TerminalNode { - return s.GetToken(MongoShellParserINITIALIZE_ORDERED_BULK_OP, 0) -} + case MongoShellParserFIND_ONE_AND_UPDATE: + p.EnterOuterAlt(localctx, 26) + { + p.SetState(1898) + p.Match(MongoShellParserFIND_ONE_AND_UPDATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) INITIALIZE_UNORDERED_BULK_OP() antlr.TerminalNode { - return s.GetToken(MongoShellParserINITIALIZE_UNORDERED_BULK_OP, 0) -} + case MongoShellParserFIND_ONE_AND_REPLACE: + p.EnterOuterAlt(localctx, 27) + { + p.SetState(1899) + p.Match(MongoShellParserFIND_ONE_AND_REPLACE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) EXECUTE() antlr.TerminalNode { - return s.GetToken(MongoShellParserEXECUTE, 0) -} + case MongoShellParserFIND_ONE_AND_DELETE: + p.EnterOuterAlt(localctx, 28) + { + p.SetState(1900) + p.Match(MongoShellParserFIND_ONE_AND_DELETE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_OPERATIONS() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_OPERATIONS, 0) -} + case MongoShellParserCREATE_INDEX: + p.EnterOuterAlt(localctx, 29) + { + p.SetState(1901) + p.Match(MongoShellParserCREATE_INDEX) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) TO_STRING() antlr.TerminalNode { - return s.GetToken(MongoShellParserTO_STRING, 0) -} + case MongoShellParserCREATE_INDEXES: + p.EnterOuterAlt(localctx, 30) + { + p.SetState(1902) + p.Match(MongoShellParserCREATE_INDEXES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) INSERT() antlr.TerminalNode { - return s.GetToken(MongoShellParserINSERT, 0) -} + case MongoShellParserDROP_INDEX: + p.EnterOuterAlt(localctx, 31) + { + p.SetState(1903) + p.Match(MongoShellParserDROP_INDEX) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) REMOVE() antlr.TerminalNode { - return s.GetToken(MongoShellParserREMOVE, 0) -} + case MongoShellParserDROP_INDEXES: + p.EnterOuterAlt(localctx, 32) + { + p.SetState(1904) + p.Match(MongoShellParserDROP_INDEXES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) MONGO() antlr.TerminalNode { - return s.GetToken(MongoShellParserMONGO, 0) -} + case MongoShellParserDROP: + p.EnterOuterAlt(localctx, 33) + { + p.SetState(1905) + p.Match(MongoShellParserDROP) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) CONNECT() antlr.TerminalNode { - return s.GetToken(MongoShellParserCONNECT, 0) -} + case MongoShellParserRENAME_COLLECTION: + p.EnterOuterAlt(localctx, 34) + { + p.SetState(1906) + p.Match(MongoShellParserRENAME_COLLECTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_DB() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_DB, 0) -} + case MongoShellParserSTATS: + p.EnterOuterAlt(localctx, 35) + { + p.SetState(1907) + p.Match(MongoShellParserSTATS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_READ_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_CONCERN, 0) -} + case MongoShellParserSTORAGE_SIZE: + p.EnterOuterAlt(localctx, 36) + { + p.SetState(1908) + p.Match(MongoShellParserSTORAGE_SIZE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_READ_PREF() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_PREF, 0) -} + case MongoShellParserTOTAL_INDEX_SIZE: + p.EnterOuterAlt(localctx, 37) + { + p.SetState(1909) + p.Match(MongoShellParserTOTAL_INDEX_SIZE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_READ_PREF_MODE() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_PREF_MODE, 0) -} + case MongoShellParserTOTAL_SIZE: + p.EnterOuterAlt(localctx, 38) + { + p.SetState(1910) + p.Match(MongoShellParserTOTAL_SIZE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_READ_PREF_TAG_SET() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_READ_PREF_TAG_SET, 0) -} + case MongoShellParserDATA_SIZE: + p.EnterOuterAlt(localctx, 39) + { + p.SetState(1911) + p.Match(MongoShellParserDATA_SIZE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_WRITE_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_WRITE_CONCERN, 0) -} + case MongoShellParserIS_CAPPED: + p.EnterOuterAlt(localctx, 40) + { + p.SetState(1912) + p.Match(MongoShellParserIS_CAPPED) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SET_READ_PREF() antlr.TerminalNode { - return s.GetToken(MongoShellParserSET_READ_PREF, 0) -} + case MongoShellParserVALIDATE: + p.EnterOuterAlt(localctx, 41) + { + p.SetState(1913) + p.Match(MongoShellParserVALIDATE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SET_READ_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserSET_READ_CONCERN, 0) -} + case MongoShellParserLATENCY_STATS: + p.EnterOuterAlt(localctx, 42) + { + p.SetState(1914) + p.Match(MongoShellParserLATENCY_STATS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SET_WRITE_CONCERN() antlr.TerminalNode { - return s.GetToken(MongoShellParserSET_WRITE_CONCERN, 0) -} + case MongoShellParserSORT: + p.EnterOuterAlt(localctx, 43) + { + p.SetState(1915) + p.Match(MongoShellParserSORT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) START_SESSION() antlr.TerminalNode { - return s.GetToken(MongoShellParserSTART_SESSION, 0) -} + case MongoShellParserLIMIT: + p.EnterOuterAlt(localctx, 44) + { + p.SetState(1916) + p.Match(MongoShellParserLIMIT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) WATCH() antlr.TerminalNode { - return s.GetToken(MongoShellParserWATCH, 0) -} + case MongoShellParserSKIP_: + p.EnterOuterAlt(localctx, 45) + { + p.SetState(1917) + p.Match(MongoShellParserSKIP_) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_DB_NAMES() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_DB_NAMES, 0) -} + case MongoShellParserCOUNT: + p.EnterOuterAlt(localctx, 46) + { + p.SetState(1918) + p.Match(MongoShellParserCOUNT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) RS() antlr.TerminalNode { - return s.GetToken(MongoShellParserRS, 0) -} + case MongoShellParserPROJECTION: + p.EnterOuterAlt(localctx, 47) + { + p.SetState(1919) + p.Match(MongoShellParserPROJECTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SH() antlr.TerminalNode { - return s.GetToken(MongoShellParserSH, 0) -} + case MongoShellParserPROJECT: + p.EnterOuterAlt(localctx, 48) + { + p.SetState(1920) + p.Match(MongoShellParserPROJECT) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) SP() antlr.TerminalNode { - return s.GetToken(MongoShellParserSP, 0) -} + case MongoShellParserGET_COLLECTION: + p.EnterOuterAlt(localctx, 49) + { + p.SetState(1921) + p.Match(MongoShellParserGET_COLLECTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_KEY_VAULT() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_KEY_VAULT, 0) -} + case MongoShellParserGET_COLLECTION_NAMES: + p.EnterOuterAlt(localctx, 50) + { + p.SetState(1922) + p.Match(MongoShellParserGET_COLLECTION_NAMES) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_CLIENT_ENCRYPTION() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_CLIENT_ENCRYPTION, 0) -} + case MongoShellParserGET_COLLECTION_INFOS: + p.EnterOuterAlt(localctx, 51) + { + p.SetState(1923) + p.Match(MongoShellParserGET_COLLECTION_INFOS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GET_PLAN_CACHE() antlr.TerminalNode { - return s.GetToken(MongoShellParserGET_PLAN_CACHE, 0) -} + case MongoShellParserCREATE_COLLECTION: + p.EnterOuterAlt(localctx, 52) + { + p.SetState(1924) + p.Match(MongoShellParserCREATE_COLLECTION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) GetRuleContext() antlr.RuleContext { - return s -} + case MongoShellParserDROP_DATABASE: + p.EnterOuterAlt(localctx, 53) + { + p.SetState(1925) + p.Match(MongoShellParserDROP_DATABASE) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} + case MongoShellParserHOST_INFO: + p.EnterOuterAlt(localctx, 54) + { + p.SetState(1926) + p.Match(MongoShellParserHOST_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.EnterIdentifier(s) - } -} + case MongoShellParserLIST_COMMANDS: + p.EnterOuterAlt(localctx, 55) + { + p.SetState(1927) + p.Match(MongoShellParserLIST_COMMANDS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(MongoShellParserListener); ok { - listenerT.ExitIdentifier(s) - } -} + case MongoShellParserSERVER_BUILD_INFO: + p.EnterOuterAlt(localctx, 56) + { + p.SetState(1928) + p.Match(MongoShellParserSERVER_BUILD_INFO) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} { - switch t := visitor.(type) { - case MongoShellParserVisitor: - return t.VisitIdentifier(s) + case MongoShellParserSERVER_STATUS: + p.EnterOuterAlt(localctx, 57) + { + p.SetState(1929) + p.Match(MongoShellParserSERVER_STATUS) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - default: - return t.VisitChildren(s) - } -} + case MongoShellParserVERSION: + p.EnterOuterAlt(localctx, 58) + { + p.SetState(1930) + p.Match(MongoShellParserVERSION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } -func (p *MongoShellParser) Identifier() (localctx IIdentifierContext) { - localctx = NewIdentifierContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 226, MongoShellParserRULE_identifier) - p.SetState(1458) - p.GetErrorHandler().Sync(p) - if p.HasError() { - goto errorExit - } + case MongoShellParserRUN_COMMAND: + p.EnterOuterAlt(localctx, 59) + { + p.SetState(1931) + p.Match(MongoShellParserRUN_COMMAND) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } - switch p.GetTokenStream().LA(1) { - case MongoShellParserIDENTIFIER: - p.EnterOuterAlt(localctx, 1) + case MongoShellParserADMIN_COMMAND: + p.EnterOuterAlt(localctx, 60) { - p.SetState(1320) - p.Match(MongoShellParserIDENTIFIER) + p.SetState(1932) + p.Match(MongoShellParserADMIN_COMMAND) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDOLLAR: - p.EnterOuterAlt(localctx, 2) + case MongoShellParserGET_NAME: + p.EnterOuterAlt(localctx, 61) { - p.SetState(1321) - p.Match(MongoShellParserDOLLAR) + p.SetState(1933) + p.Match(MongoShellParserGET_NAME) if p.HasError() { // Recognition error - abort rule goto errorExit } } + + case MongoShellParserGET_MONGO: + p.EnterOuterAlt(localctx, 62) { - p.SetState(1322) - p.Match(MongoShellParserIDENTIFIER) + p.SetState(1934) + p.Match(MongoShellParserGET_MONGO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSHOW: - p.EnterOuterAlt(localctx, 3) + case MongoShellParserGET_SIBLING_DB: + p.EnterOuterAlt(localctx, 63) { - p.SetState(1323) - p.Match(MongoShellParserSHOW) + p.SetState(1935) + p.Match(MongoShellParserGET_SIBLING_DB) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDBS: - p.EnterOuterAlt(localctx, 4) + case MongoShellParserOBJECT_ID: + p.EnterOuterAlt(localctx, 64) { - p.SetState(1324) - p.Match(MongoShellParserDBS) + p.SetState(1936) + p.Match(MongoShellParserOBJECT_ID) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDATABASES: - p.EnterOuterAlt(localctx, 5) + case MongoShellParserISO_DATE: + p.EnterOuterAlt(localctx, 65) { - p.SetState(1325) - p.Match(MongoShellParserDATABASES) + p.SetState(1937) + p.Match(MongoShellParserISO_DATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCOLLECTIONS: - p.EnterOuterAlt(localctx, 6) + case MongoShellParserDATE: + p.EnterOuterAlt(localctx, 66) { - p.SetState(1326) - p.Match(MongoShellParserCOLLECTIONS) + p.SetState(1938) + p.Match(MongoShellParserDATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDB: - p.EnterOuterAlt(localctx, 7) + case MongoShellParserUUID: + p.EnterOuterAlt(localctx, 67) { - p.SetState(1327) - p.Match(MongoShellParserDB) + p.SetState(1939) + p.Match(MongoShellParserUUID) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNEW: - p.EnterOuterAlt(localctx, 8) + case MongoShellParserLONG: + p.EnterOuterAlt(localctx, 68) { - p.SetState(1328) - p.Match(MongoShellParserNEW) + p.SetState(1940) + p.Match(MongoShellParserLONG) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTRUE: - p.EnterOuterAlt(localctx, 9) + case MongoShellParserNUMBER_LONG: + p.EnterOuterAlt(localctx, 69) { - p.SetState(1329) - p.Match(MongoShellParserTRUE) + p.SetState(1941) + p.Match(MongoShellParserNUMBER_LONG) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFALSE: - p.EnterOuterAlt(localctx, 10) + case MongoShellParserINT32: + p.EnterOuterAlt(localctx, 70) { - p.SetState(1330) - p.Match(MongoShellParserFALSE) + p.SetState(1942) + p.Match(MongoShellParserINT32) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNULL: - p.EnterOuterAlt(localctx, 11) + case MongoShellParserNUMBER_INT: + p.EnterOuterAlt(localctx, 71) { - p.SetState(1331) - p.Match(MongoShellParserNULL) + p.SetState(1943) + p.Match(MongoShellParserNUMBER_INT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFIND: - p.EnterOuterAlt(localctx, 12) + case MongoShellParserDOUBLE: + p.EnterOuterAlt(localctx, 72) { - p.SetState(1332) - p.Match(MongoShellParserFIND) + p.SetState(1944) + p.Match(MongoShellParserDOUBLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFIND_ONE: - p.EnterOuterAlt(localctx, 13) + case MongoShellParserDECIMAL128: + p.EnterOuterAlt(localctx, 73) { - p.SetState(1333) - p.Match(MongoShellParserFIND_ONE) + p.SetState(1945) + p.Match(MongoShellParserDECIMAL128) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCOUNT_DOCUMENTS: - p.EnterOuterAlt(localctx, 14) + case MongoShellParserNUMBER_DECIMAL: + p.EnterOuterAlt(localctx, 74) { - p.SetState(1334) - p.Match(MongoShellParserCOUNT_DOCUMENTS) + p.SetState(1946) + p.Match(MongoShellParserNUMBER_DECIMAL) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserESTIMATED_DOCUMENT_COUNT: - p.EnterOuterAlt(localctx, 15) + case MongoShellParserTIMESTAMP: + p.EnterOuterAlt(localctx, 75) { - p.SetState(1335) - p.Match(MongoShellParserESTIMATED_DOCUMENT_COUNT) + p.SetState(1947) + p.Match(MongoShellParserTIMESTAMP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDISTINCT: - p.EnterOuterAlt(localctx, 16) + case MongoShellParserREG_EXP: + p.EnterOuterAlt(localctx, 76) { - p.SetState(1336) - p.Match(MongoShellParserDISTINCT) + p.SetState(1948) + p.Match(MongoShellParserREG_EXP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserAGGREGATE: - p.EnterOuterAlt(localctx, 17) + case MongoShellParserBIN_DATA: + p.EnterOuterAlt(localctx, 77) { - p.SetState(1337) - p.Match(MongoShellParserAGGREGATE) + p.SetState(1949) + p.Match(MongoShellParserBIN_DATA) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_INDEXES: - p.EnterOuterAlt(localctx, 18) + case MongoShellParserBINARY: + p.EnterOuterAlt(localctx, 78) { - p.SetState(1338) - p.Match(MongoShellParserGET_INDEXES) + p.SetState(1950) + p.Match(MongoShellParserBINARY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserINSERT_ONE: - p.EnterOuterAlt(localctx, 19) + case MongoShellParserBSON_REG_EXP: + p.EnterOuterAlt(localctx, 79) { - p.SetState(1339) - p.Match(MongoShellParserINSERT_ONE) + p.SetState(1951) + p.Match(MongoShellParserBSON_REG_EXP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserINSERT_MANY: - p.EnterOuterAlt(localctx, 20) + case MongoShellParserHEX_DATA: + p.EnterOuterAlt(localctx, 80) { - p.SetState(1340) - p.Match(MongoShellParserINSERT_MANY) + p.SetState(1952) + p.Match(MongoShellParserHEX_DATA) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserUPDATE_ONE: - p.EnterOuterAlt(localctx, 21) + case MongoShellParserBATCH_SIZE: + p.EnterOuterAlt(localctx, 81) { - p.SetState(1341) - p.Match(MongoShellParserUPDATE_ONE) + p.SetState(1953) + p.Match(MongoShellParserBATCH_SIZE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserUPDATE_MANY: - p.EnterOuterAlt(localctx, 22) + case MongoShellParserCLOSE: + p.EnterOuterAlt(localctx, 82) { - p.SetState(1342) - p.Match(MongoShellParserUPDATE_MANY) + p.SetState(1954) + p.Match(MongoShellParserCLOSE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDELETE_ONE: - p.EnterOuterAlt(localctx, 23) + case MongoShellParserCOLLATION: + p.EnterOuterAlt(localctx, 83) + { + p.SetState(1955) + p.Match(MongoShellParserCOLLATION) + if p.HasError() { + // Recognition error - abort rule + goto errorExit + } + } + + case MongoShellParserCOMMENT: + p.EnterOuterAlt(localctx, 84) { - p.SetState(1343) - p.Match(MongoShellParserDELETE_ONE) + p.SetState(1956) + p.Match(MongoShellParserCOMMENT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDELETE_MANY: - p.EnterOuterAlt(localctx, 24) + case MongoShellParserEXPLAIN: + p.EnterOuterAlt(localctx, 85) { - p.SetState(1344) - p.Match(MongoShellParserDELETE_MANY) + p.SetState(1957) + p.Match(MongoShellParserEXPLAIN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserREPLACE_ONE: - p.EnterOuterAlt(localctx, 25) + case MongoShellParserFOR_EACH: + p.EnterOuterAlt(localctx, 86) { - p.SetState(1345) - p.Match(MongoShellParserREPLACE_ONE) + p.SetState(1958) + p.Match(MongoShellParserFOR_EACH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFIND_ONE_AND_UPDATE: - p.EnterOuterAlt(localctx, 26) + case MongoShellParserHAS_NEXT: + p.EnterOuterAlt(localctx, 87) { - p.SetState(1346) - p.Match(MongoShellParserFIND_ONE_AND_UPDATE) + p.SetState(1959) + p.Match(MongoShellParserHAS_NEXT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFIND_ONE_AND_REPLACE: - p.EnterOuterAlt(localctx, 27) + case MongoShellParserHINT: + p.EnterOuterAlt(localctx, 88) { - p.SetState(1347) - p.Match(MongoShellParserFIND_ONE_AND_REPLACE) + p.SetState(1960) + p.Match(MongoShellParserHINT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFIND_ONE_AND_DELETE: - p.EnterOuterAlt(localctx, 28) + case MongoShellParserIS_CLOSED: + p.EnterOuterAlt(localctx, 89) { - p.SetState(1348) - p.Match(MongoShellParserFIND_ONE_AND_DELETE) + p.SetState(1961) + p.Match(MongoShellParserIS_CLOSED) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCREATE_INDEX: - p.EnterOuterAlt(localctx, 29) + case MongoShellParserIS_EXHAUSTED: + p.EnterOuterAlt(localctx, 90) { - p.SetState(1349) - p.Match(MongoShellParserCREATE_INDEX) + p.SetState(1962) + p.Match(MongoShellParserIS_EXHAUSTED) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCREATE_INDEXES: - p.EnterOuterAlt(localctx, 30) + case MongoShellParserIT_COUNT: + p.EnterOuterAlt(localctx, 91) { - p.SetState(1350) - p.Match(MongoShellParserCREATE_INDEXES) + p.SetState(1963) + p.Match(MongoShellParserIT_COUNT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDROP_INDEX: - p.EnterOuterAlt(localctx, 31) + case MongoShellParserMAP: + p.EnterOuterAlt(localctx, 92) { - p.SetState(1351) - p.Match(MongoShellParserDROP_INDEX) + p.SetState(1964) + p.Match(MongoShellParserMAP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDROP_INDEXES: - p.EnterOuterAlt(localctx, 32) + case MongoShellParserMAX: + p.EnterOuterAlt(localctx, 93) { - p.SetState(1352) - p.Match(MongoShellParserDROP_INDEXES) + p.SetState(1965) + p.Match(MongoShellParserMAX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDROP: - p.EnterOuterAlt(localctx, 33) + case MongoShellParserMAX_AWAIT_TIME_MS: + p.EnterOuterAlt(localctx, 94) { - p.SetState(1353) - p.Match(MongoShellParserDROP) + p.SetState(1966) + p.Match(MongoShellParserMAX_AWAIT_TIME_MS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserRENAME_COLLECTION: - p.EnterOuterAlt(localctx, 34) + case MongoShellParserMAX_TIME_MS: + p.EnterOuterAlt(localctx, 95) { - p.SetState(1354) - p.Match(MongoShellParserRENAME_COLLECTION) + p.SetState(1967) + p.Match(MongoShellParserMAX_TIME_MS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSTATS: - p.EnterOuterAlt(localctx, 35) + case MongoShellParserMIN: + p.EnterOuterAlt(localctx, 96) { - p.SetState(1355) - p.Match(MongoShellParserSTATS) + p.SetState(1968) + p.Match(MongoShellParserMIN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSTORAGE_SIZE: - p.EnterOuterAlt(localctx, 36) + case MongoShellParserNEXT: + p.EnterOuterAlt(localctx, 97) { - p.SetState(1356) - p.Match(MongoShellParserSTORAGE_SIZE) + p.SetState(1969) + p.Match(MongoShellParserNEXT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTOTAL_INDEX_SIZE: - p.EnterOuterAlt(localctx, 37) + case MongoShellParserNO_CURSOR_TIMEOUT: + p.EnterOuterAlt(localctx, 98) { - p.SetState(1357) - p.Match(MongoShellParserTOTAL_INDEX_SIZE) + p.SetState(1970) + p.Match(MongoShellParserNO_CURSOR_TIMEOUT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTOTAL_SIZE: - p.EnterOuterAlt(localctx, 38) + case MongoShellParserOBJS_LEFT_IN_BATCH: + p.EnterOuterAlt(localctx, 99) { - p.SetState(1358) - p.Match(MongoShellParserTOTAL_SIZE) + p.SetState(1971) + p.Match(MongoShellParserOBJS_LEFT_IN_BATCH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDATA_SIZE: - p.EnterOuterAlt(localctx, 39) + case MongoShellParserPRETTY: + p.EnterOuterAlt(localctx, 100) { - p.SetState(1359) - p.Match(MongoShellParserDATA_SIZE) + p.SetState(1972) + p.Match(MongoShellParserPRETTY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserIS_CAPPED: - p.EnterOuterAlt(localctx, 40) + case MongoShellParserREAD_CONCERN: + p.EnterOuterAlt(localctx, 101) { - p.SetState(1360) - p.Match(MongoShellParserIS_CAPPED) + p.SetState(1973) + p.Match(MongoShellParserREAD_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserVALIDATE: - p.EnterOuterAlt(localctx, 41) + case MongoShellParserREAD_PREF: + p.EnterOuterAlt(localctx, 102) { - p.SetState(1361) - p.Match(MongoShellParserVALIDATE) + p.SetState(1974) + p.Match(MongoShellParserREAD_PREF) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserLATENCY_STATS: - p.EnterOuterAlt(localctx, 42) + case MongoShellParserRETURN_KEY: + p.EnterOuterAlt(localctx, 103) { - p.SetState(1362) - p.Match(MongoShellParserLATENCY_STATS) + p.SetState(1975) + p.Match(MongoShellParserRETURN_KEY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSORT: - p.EnterOuterAlt(localctx, 43) + case MongoShellParserSHOW_RECORD_ID: + p.EnterOuterAlt(localctx, 104) { - p.SetState(1363) - p.Match(MongoShellParserSORT) + p.SetState(1976) + p.Match(MongoShellParserSHOW_RECORD_ID) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserLIMIT: - p.EnterOuterAlt(localctx, 44) + case MongoShellParserSIZE: + p.EnterOuterAlt(localctx, 105) { - p.SetState(1364) - p.Match(MongoShellParserLIMIT) + p.SetState(1977) + p.Match(MongoShellParserSIZE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSKIP_: - p.EnterOuterAlt(localctx, 45) + case MongoShellParserTAILABLE: + p.EnterOuterAlt(localctx, 106) { - p.SetState(1365) - p.Match(MongoShellParserSKIP_) + p.SetState(1978) + p.Match(MongoShellParserTAILABLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCOUNT: - p.EnterOuterAlt(localctx, 46) + case MongoShellParserTO_ARRAY: + p.EnterOuterAlt(localctx, 107) { - p.SetState(1366) - p.Match(MongoShellParserCOUNT) + p.SetState(1979) + p.Match(MongoShellParserTO_ARRAY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserPROJECTION: - p.EnterOuterAlt(localctx, 47) + case MongoShellParserTRY_NEXT: + p.EnterOuterAlt(localctx, 108) { - p.SetState(1367) - p.Match(MongoShellParserPROJECTION) + p.SetState(1980) + p.Match(MongoShellParserTRY_NEXT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserPROJECT: - p.EnterOuterAlt(localctx, 48) + case MongoShellParserALLOW_DISK_USE: + p.EnterOuterAlt(localctx, 109) { - p.SetState(1368) - p.Match(MongoShellParserPROJECT) + p.SetState(1981) + p.Match(MongoShellParserALLOW_DISK_USE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_COLLECTION: - p.EnterOuterAlt(localctx, 49) + case MongoShellParserADD_OPTION: + p.EnterOuterAlt(localctx, 110) { - p.SetState(1369) - p.Match(MongoShellParserGET_COLLECTION) + p.SetState(1982) + p.Match(MongoShellParserADD_OPTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_COLLECTION_NAMES: - p.EnterOuterAlt(localctx, 50) + case MongoShellParserINITIALIZE_ORDERED_BULK_OP: + p.EnterOuterAlt(localctx, 111) { - p.SetState(1370) - p.Match(MongoShellParserGET_COLLECTION_NAMES) + p.SetState(1983) + p.Match(MongoShellParserINITIALIZE_ORDERED_BULK_OP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_COLLECTION_INFOS: - p.EnterOuterAlt(localctx, 51) + case MongoShellParserINITIALIZE_UNORDERED_BULK_OP: + p.EnterOuterAlt(localctx, 112) { - p.SetState(1371) - p.Match(MongoShellParserGET_COLLECTION_INFOS) + p.SetState(1984) + p.Match(MongoShellParserINITIALIZE_UNORDERED_BULK_OP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCREATE_COLLECTION: - p.EnterOuterAlt(localctx, 52) + case MongoShellParserEXECUTE: + p.EnterOuterAlt(localctx, 113) { - p.SetState(1372) - p.Match(MongoShellParserCREATE_COLLECTION) + p.SetState(1985) + p.Match(MongoShellParserEXECUTE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDROP_DATABASE: - p.EnterOuterAlt(localctx, 53) + case MongoShellParserGET_OPERATIONS: + p.EnterOuterAlt(localctx, 114) { - p.SetState(1373) - p.Match(MongoShellParserDROP_DATABASE) + p.SetState(1986) + p.Match(MongoShellParserGET_OPERATIONS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserHOST_INFO: - p.EnterOuterAlt(localctx, 54) + case MongoShellParserTO_STRING: + p.EnterOuterAlt(localctx, 115) { - p.SetState(1374) - p.Match(MongoShellParserHOST_INFO) + p.SetState(1987) + p.Match(MongoShellParserTO_STRING) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserLIST_COMMANDS: - p.EnterOuterAlt(localctx, 55) + case MongoShellParserINSERT: + p.EnterOuterAlt(localctx, 116) { - p.SetState(1375) - p.Match(MongoShellParserLIST_COMMANDS) + p.SetState(1988) + p.Match(MongoShellParserINSERT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSERVER_BUILD_INFO: - p.EnterOuterAlt(localctx, 56) + case MongoShellParserREMOVE: + p.EnterOuterAlt(localctx, 117) { - p.SetState(1376) - p.Match(MongoShellParserSERVER_BUILD_INFO) + p.SetState(1989) + p.Match(MongoShellParserREMOVE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSERVER_STATUS: - p.EnterOuterAlt(localctx, 57) + case MongoShellParserMONGO: + p.EnterOuterAlt(localctx, 118) { - p.SetState(1377) - p.Match(MongoShellParserSERVER_STATUS) + p.SetState(1990) + p.Match(MongoShellParserMONGO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserVERSION: - p.EnterOuterAlt(localctx, 58) + case MongoShellParserCONNECT: + p.EnterOuterAlt(localctx, 119) { - p.SetState(1378) - p.Match(MongoShellParserVERSION) + p.SetState(1991) + p.Match(MongoShellParserCONNECT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserRUN_COMMAND: - p.EnterOuterAlt(localctx, 59) + case MongoShellParserGET_DB: + p.EnterOuterAlt(localctx, 120) { - p.SetState(1379) - p.Match(MongoShellParserRUN_COMMAND) + p.SetState(1992) + p.Match(MongoShellParserGET_DB) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserADMIN_COMMAND: - p.EnterOuterAlt(localctx, 60) + case MongoShellParserGET_READ_CONCERN: + p.EnterOuterAlt(localctx, 121) { - p.SetState(1380) - p.Match(MongoShellParserADMIN_COMMAND) + p.SetState(1993) + p.Match(MongoShellParserGET_READ_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_NAME: - p.EnterOuterAlt(localctx, 61) + case MongoShellParserGET_READ_PREF: + p.EnterOuterAlt(localctx, 122) { - p.SetState(1381) - p.Match(MongoShellParserGET_NAME) + p.SetState(1994) + p.Match(MongoShellParserGET_READ_PREF) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_MONGO: - p.EnterOuterAlt(localctx, 62) + case MongoShellParserGET_READ_PREF_MODE: + p.EnterOuterAlt(localctx, 123) { - p.SetState(1382) - p.Match(MongoShellParserGET_MONGO) + p.SetState(1995) + p.Match(MongoShellParserGET_READ_PREF_MODE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_SIBLING_DB: - p.EnterOuterAlt(localctx, 63) + case MongoShellParserGET_READ_PREF_TAG_SET: + p.EnterOuterAlt(localctx, 124) { - p.SetState(1383) - p.Match(MongoShellParserGET_SIBLING_DB) + p.SetState(1996) + p.Match(MongoShellParserGET_READ_PREF_TAG_SET) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserOBJECT_ID: - p.EnterOuterAlt(localctx, 64) + case MongoShellParserGET_WRITE_CONCERN: + p.EnterOuterAlt(localctx, 125) { - p.SetState(1384) - p.Match(MongoShellParserOBJECT_ID) + p.SetState(1997) + p.Match(MongoShellParserGET_WRITE_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserISO_DATE: - p.EnterOuterAlt(localctx, 65) + case MongoShellParserSET_READ_PREF: + p.EnterOuterAlt(localctx, 126) { - p.SetState(1385) - p.Match(MongoShellParserISO_DATE) + p.SetState(1998) + p.Match(MongoShellParserSET_READ_PREF) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDATE: - p.EnterOuterAlt(localctx, 66) + case MongoShellParserSET_READ_CONCERN: + p.EnterOuterAlt(localctx, 127) { - p.SetState(1386) - p.Match(MongoShellParserDATE) + p.SetState(1999) + p.Match(MongoShellParserSET_READ_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserUUID: - p.EnterOuterAlt(localctx, 67) + case MongoShellParserSET_WRITE_CONCERN: + p.EnterOuterAlt(localctx, 128) { - p.SetState(1387) - p.Match(MongoShellParserUUID) + p.SetState(2000) + p.Match(MongoShellParserSET_WRITE_CONCERN) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserLONG: - p.EnterOuterAlt(localctx, 68) + case MongoShellParserSTART_SESSION: + p.EnterOuterAlt(localctx, 129) { - p.SetState(1388) - p.Match(MongoShellParserLONG) + p.SetState(2001) + p.Match(MongoShellParserSTART_SESSION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNUMBER_LONG: - p.EnterOuterAlt(localctx, 69) + case MongoShellParserWATCH: + p.EnterOuterAlt(localctx, 130) { - p.SetState(1389) - p.Match(MongoShellParserNUMBER_LONG) + p.SetState(2002) + p.Match(MongoShellParserWATCH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserINT32: - p.EnterOuterAlt(localctx, 70) + case MongoShellParserGET_DB_NAMES: + p.EnterOuterAlt(localctx, 131) { - p.SetState(1390) - p.Match(MongoShellParserINT32) + p.SetState(2003) + p.Match(MongoShellParserGET_DB_NAMES) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNUMBER_INT: - p.EnterOuterAlt(localctx, 71) + case MongoShellParserRS: + p.EnterOuterAlt(localctx, 132) { - p.SetState(1391) - p.Match(MongoShellParserNUMBER_INT) + p.SetState(2004) + p.Match(MongoShellParserRS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDOUBLE: - p.EnterOuterAlt(localctx, 72) + case MongoShellParserSH: + p.EnterOuterAlt(localctx, 133) { - p.SetState(1392) - p.Match(MongoShellParserDOUBLE) + p.SetState(2005) + p.Match(MongoShellParserSH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserDECIMAL128: - p.EnterOuterAlt(localctx, 73) + case MongoShellParserSP: + p.EnterOuterAlt(localctx, 134) { - p.SetState(1393) - p.Match(MongoShellParserDECIMAL128) + p.SetState(2006) + p.Match(MongoShellParserSP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNUMBER_DECIMAL: - p.EnterOuterAlt(localctx, 74) + case MongoShellParserGET_KEY_VAULT: + p.EnterOuterAlt(localctx, 135) { - p.SetState(1394) - p.Match(MongoShellParserNUMBER_DECIMAL) + p.SetState(2007) + p.Match(MongoShellParserGET_KEY_VAULT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTIMESTAMP: - p.EnterOuterAlt(localctx, 75) + case MongoShellParserGET_CLIENT_ENCRYPTION: + p.EnterOuterAlt(localctx, 136) { - p.SetState(1395) - p.Match(MongoShellParserTIMESTAMP) + p.SetState(2008) + p.Match(MongoShellParserGET_CLIENT_ENCRYPTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserREG_EXP: - p.EnterOuterAlt(localctx, 76) + case MongoShellParserGET_PLAN_CACHE: + p.EnterOuterAlt(localctx, 137) { - p.SetState(1396) - p.Match(MongoShellParserREG_EXP) + p.SetState(2009) + p.Match(MongoShellParserGET_PLAN_CACHE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserBIN_DATA: - p.EnterOuterAlt(localctx, 77) + case MongoShellParserBULK_WRITE: + p.EnterOuterAlt(localctx, 138) { - p.SetState(1397) - p.Match(MongoShellParserBIN_DATA) + p.SetState(2010) + p.Match(MongoShellParserBULK_WRITE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserBINARY: - p.EnterOuterAlt(localctx, 78) + case MongoShellParserUPDATE: + p.EnterOuterAlt(localctx, 139) { - p.SetState(1398) - p.Match(MongoShellParserBINARY) + p.SetState(2011) + p.Match(MongoShellParserUPDATE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserBSON_REG_EXP: - p.EnterOuterAlt(localctx, 79) + case MongoShellParserMAP_REDUCE: + p.EnterOuterAlt(localctx, 140) { - p.SetState(1399) - p.Match(MongoShellParserBSON_REG_EXP) + p.SetState(2012) + p.Match(MongoShellParserMAP_REDUCE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserHEX_DATA: - p.EnterOuterAlt(localctx, 80) + case MongoShellParserFIND_AND_MODIFY: + p.EnterOuterAlt(localctx, 141) { - p.SetState(1400) - p.Match(MongoShellParserHEX_DATA) + p.SetState(2013) + p.Match(MongoShellParserFIND_AND_MODIFY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserBATCH_SIZE: - p.EnterOuterAlt(localctx, 81) + case MongoShellParserANALYZE_SHARD_KEY: + p.EnterOuterAlt(localctx, 142) { - p.SetState(1401) - p.Match(MongoShellParserBATCH_SIZE) + p.SetState(2014) + p.Match(MongoShellParserANALYZE_SHARD_KEY) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCLOSE: - p.EnterOuterAlt(localctx, 82) + case MongoShellParserCONFIGURE_QUERY_ANALYZER: + p.EnterOuterAlt(localctx, 143) { - p.SetState(1402) - p.Match(MongoShellParserCLOSE) + p.SetState(2015) + p.Match(MongoShellParserCONFIGURE_QUERY_ANALYZER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCOLLATION: - p.EnterOuterAlt(localctx, 83) + case MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA: + p.EnterOuterAlt(localctx, 144) { - p.SetState(1403) - p.Match(MongoShellParserCOLLATION) + p.SetState(2016) + p.Match(MongoShellParserCOMPACT_STRUCTURED_ENCRYPTION_DATA) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCOMMENT: - p.EnterOuterAlt(localctx, 84) + case MongoShellParserHIDE_INDEX: + p.EnterOuterAlt(localctx, 145) { - p.SetState(1404) - p.Match(MongoShellParserCOMMENT) + p.SetState(2017) + p.Match(MongoShellParserHIDE_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserEXPLAIN: - p.EnterOuterAlt(localctx, 85) + case MongoShellParserUNHIDE_INDEX: + p.EnterOuterAlt(localctx, 146) { - p.SetState(1405) - p.Match(MongoShellParserEXPLAIN) + p.SetState(2018) + p.Match(MongoShellParserUNHIDE_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserFOR_EACH: - p.EnterOuterAlt(localctx, 86) + case MongoShellParserRE_INDEX: + p.EnterOuterAlt(localctx, 147) { - p.SetState(1406) - p.Match(MongoShellParserFOR_EACH) + p.SetState(2019) + p.Match(MongoShellParserRE_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserHAS_NEXT: - p.EnterOuterAlt(localctx, 87) + case MongoShellParserGET_SHARD_DISTRIBUTION: + p.EnterOuterAlt(localctx, 148) { - p.SetState(1407) - p.Match(MongoShellParserHAS_NEXT) + p.SetState(2020) + p.Match(MongoShellParserGET_SHARD_DISTRIBUTION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserHINT: - p.EnterOuterAlt(localctx, 88) + case MongoShellParserGET_SHARD_VERSION: + p.EnterOuterAlt(localctx, 149) { - p.SetState(1408) - p.Match(MongoShellParserHINT) + p.SetState(2021) + p.Match(MongoShellParserGET_SHARD_VERSION) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserIS_CLOSED: - p.EnterOuterAlt(localctx, 89) + case MongoShellParserCREATE_SEARCH_INDEX: + p.EnterOuterAlt(localctx, 150) { - p.SetState(1409) - p.Match(MongoShellParserIS_CLOSED) + p.SetState(2022) + p.Match(MongoShellParserCREATE_SEARCH_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserIS_EXHAUSTED: - p.EnterOuterAlt(localctx, 90) + case MongoShellParserCREATE_SEARCH_INDEXES: + p.EnterOuterAlt(localctx, 151) { - p.SetState(1410) - p.Match(MongoShellParserIS_EXHAUSTED) + p.SetState(2023) + p.Match(MongoShellParserCREATE_SEARCH_INDEXES) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserIT_COUNT: - p.EnterOuterAlt(localctx, 91) + case MongoShellParserDROP_SEARCH_INDEX: + p.EnterOuterAlt(localctx, 152) { - p.SetState(1411) - p.Match(MongoShellParserIT_COUNT) + p.SetState(2024) + p.Match(MongoShellParserDROP_SEARCH_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserMAP: - p.EnterOuterAlt(localctx, 92) + case MongoShellParserUPDATE_SEARCH_INDEX: + p.EnterOuterAlt(localctx, 153) { - p.SetState(1412) - p.Match(MongoShellParserMAP) + p.SetState(2025) + p.Match(MongoShellParserUPDATE_SEARCH_INDEX) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserMAX: - p.EnterOuterAlt(localctx, 93) + case MongoShellParserAUTH: + p.EnterOuterAlt(localctx, 154) { - p.SetState(1413) - p.Match(MongoShellParserMAX) + p.SetState(2026) + p.Match(MongoShellParserAUTH) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserMAX_AWAIT_TIME_MS: - p.EnterOuterAlt(localctx, 94) + case MongoShellParserCHANGE_USER_PASSWORD: + p.EnterOuterAlt(localctx, 155) { - p.SetState(1414) - p.Match(MongoShellParserMAX_AWAIT_TIME_MS) + p.SetState(2027) + p.Match(MongoShellParserCHANGE_USER_PASSWORD) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserMAX_TIME_MS: - p.EnterOuterAlt(localctx, 95) + case MongoShellParserCLONE_DATABASE: + p.EnterOuterAlt(localctx, 156) { - p.SetState(1415) - p.Match(MongoShellParserMAX_TIME_MS) + p.SetState(2028) + p.Match(MongoShellParserCLONE_DATABASE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserMIN: - p.EnterOuterAlt(localctx, 96) + case MongoShellParserCOMMAND_HELP: + p.EnterOuterAlt(localctx, 157) { - p.SetState(1416) - p.Match(MongoShellParserMIN) + p.SetState(2029) + p.Match(MongoShellParserCOMMAND_HELP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNEXT: - p.EnterOuterAlt(localctx, 97) + case MongoShellParserCOPY_DATABASE: + p.EnterOuterAlt(localctx, 158) { - p.SetState(1417) - p.Match(MongoShellParserNEXT) + p.SetState(2030) + p.Match(MongoShellParserCOPY_DATABASE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserNO_CURSOR_TIMEOUT: - p.EnterOuterAlt(localctx, 98) + case MongoShellParserCREATE_ROLE: + p.EnterOuterAlt(localctx, 159) { - p.SetState(1418) - p.Match(MongoShellParserNO_CURSOR_TIMEOUT) + p.SetState(2031) + p.Match(MongoShellParserCREATE_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserOBJS_LEFT_IN_BATCH: - p.EnterOuterAlt(localctx, 99) + case MongoShellParserCREATE_USER: + p.EnterOuterAlt(localctx, 160) { - p.SetState(1419) - p.Match(MongoShellParserOBJS_LEFT_IN_BATCH) + p.SetState(2032) + p.Match(MongoShellParserCREATE_USER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserPRETTY: - p.EnterOuterAlt(localctx, 100) + case MongoShellParserCREATE_VIEW: + p.EnterOuterAlt(localctx, 161) { - p.SetState(1420) - p.Match(MongoShellParserPRETTY) + p.SetState(2033) + p.Match(MongoShellParserCREATE_VIEW) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserREAD_CONCERN: - p.EnterOuterAlt(localctx, 101) + case MongoShellParserCURRENT_OP: + p.EnterOuterAlt(localctx, 162) { - p.SetState(1421) - p.Match(MongoShellParserREAD_CONCERN) + p.SetState(2034) + p.Match(MongoShellParserCURRENT_OP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserREAD_PREF: - p.EnterOuterAlt(localctx, 102) + case MongoShellParserDROP_ALL_ROLES: + p.EnterOuterAlt(localctx, 163) { - p.SetState(1422) - p.Match(MongoShellParserREAD_PREF) + p.SetState(2035) + p.Match(MongoShellParserDROP_ALL_ROLES) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserRETURN_KEY: - p.EnterOuterAlt(localctx, 103) + case MongoShellParserDROP_ALL_USERS: + p.EnterOuterAlt(localctx, 164) { - p.SetState(1423) - p.Match(MongoShellParserRETURN_KEY) + p.SetState(2036) + p.Match(MongoShellParserDROP_ALL_USERS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSHOW_RECORD_ID: - p.EnterOuterAlt(localctx, 104) + case MongoShellParserDROP_ROLE: + p.EnterOuterAlt(localctx, 165) { - p.SetState(1424) - p.Match(MongoShellParserSHOW_RECORD_ID) + p.SetState(2037) + p.Match(MongoShellParserDROP_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSIZE: - p.EnterOuterAlt(localctx, 105) + case MongoShellParserDROP_USER: + p.EnterOuterAlt(localctx, 166) { - p.SetState(1425) - p.Match(MongoShellParserSIZE) + p.SetState(2038) + p.Match(MongoShellParserDROP_USER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTAILABLE: - p.EnterOuterAlt(localctx, 106) + case MongoShellParserFSYNC_LOCK: + p.EnterOuterAlt(localctx, 167) { - p.SetState(1426) - p.Match(MongoShellParserTAILABLE) + p.SetState(2039) + p.Match(MongoShellParserFSYNC_LOCK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTO_ARRAY: - p.EnterOuterAlt(localctx, 107) + case MongoShellParserFSYNC_UNLOCK: + p.EnterOuterAlt(localctx, 168) { - p.SetState(1427) - p.Match(MongoShellParserTO_ARRAY) + p.SetState(2040) + p.Match(MongoShellParserFSYNC_UNLOCK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTRY_NEXT: - p.EnterOuterAlt(localctx, 108) + case MongoShellParserGET_LOG_COMPONENTS: + p.EnterOuterAlt(localctx, 169) { - p.SetState(1428) - p.Match(MongoShellParserTRY_NEXT) + p.SetState(2041) + p.Match(MongoShellParserGET_LOG_COMPONENTS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserALLOW_DISK_USE: - p.EnterOuterAlt(localctx, 109) + case MongoShellParserGET_PROFILING_LEVEL: + p.EnterOuterAlt(localctx, 170) { - p.SetState(1429) - p.Match(MongoShellParserALLOW_DISK_USE) + p.SetState(2042) + p.Match(MongoShellParserGET_PROFILING_LEVEL) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserADD_OPTION: - p.EnterOuterAlt(localctx, 110) + case MongoShellParserGET_PROFILING_STATUS: + p.EnterOuterAlt(localctx, 171) { - p.SetState(1430) - p.Match(MongoShellParserADD_OPTION) + p.SetState(2043) + p.Match(MongoShellParserGET_PROFILING_STATUS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserINITIALIZE_ORDERED_BULK_OP: - p.EnterOuterAlt(localctx, 111) + case MongoShellParserGET_REPLICATION_INFO: + p.EnterOuterAlt(localctx, 172) { - p.SetState(1431) - p.Match(MongoShellParserINITIALIZE_ORDERED_BULK_OP) + p.SetState(2044) + p.Match(MongoShellParserGET_REPLICATION_INFO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserINITIALIZE_UNORDERED_BULK_OP: - p.EnterOuterAlt(localctx, 112) + case MongoShellParserGET_ROLE: + p.EnterOuterAlt(localctx, 173) { - p.SetState(1432) - p.Match(MongoShellParserINITIALIZE_UNORDERED_BULK_OP) + p.SetState(2045) + p.Match(MongoShellParserGET_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserEXECUTE: - p.EnterOuterAlt(localctx, 113) + case MongoShellParserGET_ROLES: + p.EnterOuterAlt(localctx, 174) { - p.SetState(1433) - p.Match(MongoShellParserEXECUTE) + p.SetState(2046) + p.Match(MongoShellParserGET_ROLES) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_OPERATIONS: - p.EnterOuterAlt(localctx, 114) + case MongoShellParserGET_USER: + p.EnterOuterAlt(localctx, 175) { - p.SetState(1434) - p.Match(MongoShellParserGET_OPERATIONS) + p.SetState(2047) + p.Match(MongoShellParserGET_USER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserTO_STRING: - p.EnterOuterAlt(localctx, 115) + case MongoShellParserGET_USERS: + p.EnterOuterAlt(localctx, 176) { - p.SetState(1435) - p.Match(MongoShellParserTO_STRING) + p.SetState(2048) + p.Match(MongoShellParserGET_USERS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserINSERT: - p.EnterOuterAlt(localctx, 116) + case MongoShellParserGRANT_PRIVILEGES_TO_ROLE: + p.EnterOuterAlt(localctx, 177) { - p.SetState(1436) - p.Match(MongoShellParserINSERT) + p.SetState(2049) + p.Match(MongoShellParserGRANT_PRIVILEGES_TO_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserREMOVE: - p.EnterOuterAlt(localctx, 117) + case MongoShellParserGRANT_ROLES_TO_ROLE: + p.EnterOuterAlt(localctx, 178) { - p.SetState(1437) - p.Match(MongoShellParserREMOVE) + p.SetState(2050) + p.Match(MongoShellParserGRANT_ROLES_TO_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserMONGO: - p.EnterOuterAlt(localctx, 118) + case MongoShellParserGRANT_ROLES_TO_USER: + p.EnterOuterAlt(localctx, 179) { - p.SetState(1438) - p.Match(MongoShellParserMONGO) + p.SetState(2051) + p.Match(MongoShellParserGRANT_ROLES_TO_USER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserCONNECT: - p.EnterOuterAlt(localctx, 119) + case MongoShellParserHELLO: + p.EnterOuterAlt(localctx, 180) { - p.SetState(1439) - p.Match(MongoShellParserCONNECT) + p.SetState(2052) + p.Match(MongoShellParserHELLO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_DB: - p.EnterOuterAlt(localctx, 120) + case MongoShellParserIS_MASTER: + p.EnterOuterAlt(localctx, 181) { - p.SetState(1440) - p.Match(MongoShellParserGET_DB) + p.SetState(2053) + p.Match(MongoShellParserIS_MASTER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_READ_CONCERN: - p.EnterOuterAlt(localctx, 121) + case MongoShellParserKILL_OP: + p.EnterOuterAlt(localctx, 182) { - p.SetState(1441) - p.Match(MongoShellParserGET_READ_CONCERN) + p.SetState(2054) + p.Match(MongoShellParserKILL_OP) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_READ_PREF: - p.EnterOuterAlt(localctx, 122) + case MongoShellParserLOGOUT: + p.EnterOuterAlt(localctx, 183) { - p.SetState(1442) - p.Match(MongoShellParserGET_READ_PREF) + p.SetState(2055) + p.Match(MongoShellParserLOGOUT) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_READ_PREF_MODE: - p.EnterOuterAlt(localctx, 123) + case MongoShellParserPRINT_COLLECTION_STATS: + p.EnterOuterAlt(localctx, 184) { - p.SetState(1443) - p.Match(MongoShellParserGET_READ_PREF_MODE) + p.SetState(2056) + p.Match(MongoShellParserPRINT_COLLECTION_STATS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_READ_PREF_TAG_SET: - p.EnterOuterAlt(localctx, 124) + case MongoShellParserPRINT_REPLICATION_INFO: + p.EnterOuterAlt(localctx, 185) { - p.SetState(1444) - p.Match(MongoShellParserGET_READ_PREF_TAG_SET) + p.SetState(2057) + p.Match(MongoShellParserPRINT_REPLICATION_INFO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_WRITE_CONCERN: - p.EnterOuterAlt(localctx, 125) + case MongoShellParserPRINT_SECONDARY_REPLICATION_INFO: + p.EnterOuterAlt(localctx, 186) { - p.SetState(1445) - p.Match(MongoShellParserGET_WRITE_CONCERN) + p.SetState(2058) + p.Match(MongoShellParserPRINT_SECONDARY_REPLICATION_INFO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSET_READ_PREF: - p.EnterOuterAlt(localctx, 126) + case MongoShellParserPRINT_SHARDING_STATUS: + p.EnterOuterAlt(localctx, 187) { - p.SetState(1446) - p.Match(MongoShellParserSET_READ_PREF) + p.SetState(2059) + p.Match(MongoShellParserPRINT_SHARDING_STATUS) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSET_READ_CONCERN: - p.EnterOuterAlt(localctx, 127) + case MongoShellParserPRINT_SLAVE_REPLICATION_INFO: + p.EnterOuterAlt(localctx, 188) { - p.SetState(1447) - p.Match(MongoShellParserSET_READ_CONCERN) + p.SetState(2060) + p.Match(MongoShellParserPRINT_SLAVE_REPLICATION_INFO) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSET_WRITE_CONCERN: - p.EnterOuterAlt(localctx, 128) + case MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE: + p.EnterOuterAlt(localctx, 189) { - p.SetState(1448) - p.Match(MongoShellParserSET_WRITE_CONCERN) + p.SetState(2061) + p.Match(MongoShellParserREVOKE_PRIVILEGES_FROM_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSTART_SESSION: - p.EnterOuterAlt(localctx, 129) + case MongoShellParserREVOKE_ROLES_FROM_ROLE: + p.EnterOuterAlt(localctx, 190) { - p.SetState(1449) - p.Match(MongoShellParserSTART_SESSION) + p.SetState(2062) + p.Match(MongoShellParserREVOKE_ROLES_FROM_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserWATCH: - p.EnterOuterAlt(localctx, 130) + case MongoShellParserREVOKE_ROLES_FROM_USER: + p.EnterOuterAlt(localctx, 191) { - p.SetState(1450) - p.Match(MongoShellParserWATCH) + p.SetState(2063) + p.Match(MongoShellParserREVOKE_ROLES_FROM_USER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_DB_NAMES: - p.EnterOuterAlt(localctx, 131) + case MongoShellParserROTATE_CERTIFICATES: + p.EnterOuterAlt(localctx, 192) { - p.SetState(1451) - p.Match(MongoShellParserGET_DB_NAMES) + p.SetState(2064) + p.Match(MongoShellParserROTATE_CERTIFICATES) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserRS: - p.EnterOuterAlt(localctx, 132) + case MongoShellParserSET_LOG_LEVEL: + p.EnterOuterAlt(localctx, 193) { - p.SetState(1452) - p.Match(MongoShellParserRS) + p.SetState(2065) + p.Match(MongoShellParserSET_LOG_LEVEL) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSH: - p.EnterOuterAlt(localctx, 133) + case MongoShellParserSET_PROFILING_LEVEL: + p.EnterOuterAlt(localctx, 194) { - p.SetState(1453) - p.Match(MongoShellParserSH) + p.SetState(2066) + p.Match(MongoShellParserSET_PROFILING_LEVEL) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserSP: - p.EnterOuterAlt(localctx, 134) + case MongoShellParserSET_SECONDARY_OK: + p.EnterOuterAlt(localctx, 195) { - p.SetState(1454) - p.Match(MongoShellParserSP) + p.SetState(2067) + p.Match(MongoShellParserSET_SECONDARY_OK) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_KEY_VAULT: - p.EnterOuterAlt(localctx, 135) + case MongoShellParserSHUTDOWN_SERVER: + p.EnterOuterAlt(localctx, 196) { - p.SetState(1455) - p.Match(MongoShellParserGET_KEY_VAULT) + p.SetState(2068) + p.Match(MongoShellParserSHUTDOWN_SERVER) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_CLIENT_ENCRYPTION: - p.EnterOuterAlt(localctx, 136) + case MongoShellParserUPDATE_ROLE: + p.EnterOuterAlt(localctx, 197) { - p.SetState(1456) - p.Match(MongoShellParserGET_CLIENT_ENCRYPTION) + p.SetState(2069) + p.Match(MongoShellParserUPDATE_ROLE) if p.HasError() { // Recognition error - abort rule goto errorExit } } - case MongoShellParserGET_PLAN_CACHE: - p.EnterOuterAlt(localctx, 137) + case MongoShellParserUPDATE_USER: + p.EnterOuterAlt(localctx, 198) { - p.SetState(1457) - p.Match(MongoShellParserGET_PLAN_CACHE) + p.SetState(2070) + p.Match(MongoShellParserUPDATE_USER) if p.HasError() { // Recognition error - abort rule goto errorExit diff --git a/mongodb/mongoshellparser_base_listener.go b/mongodb/mongoshellparser_base_listener.go index a3c76b5..38477a6 100644 --- a/mongodb/mongoshellparser_base_listener.go +++ b/mongodb/mongoshellparser_base_listener.go @@ -134,11 +134,308 @@ func (s *BaseMongoShellParserListener) EnterGetSiblingDB(ctx *GetSiblingDBContex // ExitGetSiblingDB is called when production getSiblingDB is exited. func (s *BaseMongoShellParserListener) ExitGetSiblingDB(ctx *GetSiblingDBContext) {} -// EnterDbGenericMethod is called when production dbGenericMethod is entered. -func (s *BaseMongoShellParserListener) EnterDbGenericMethod(ctx *DbGenericMethodContext) {} +// EnterDbAggregate is called when production dbAggregate is entered. +func (s *BaseMongoShellParserListener) EnterDbAggregate(ctx *DbAggregateContext) {} -// ExitDbGenericMethod is called when production dbGenericMethod is exited. -func (s *BaseMongoShellParserListener) ExitDbGenericMethod(ctx *DbGenericMethodContext) {} +// ExitDbAggregate is called when production dbAggregate is exited. +func (s *BaseMongoShellParserListener) ExitDbAggregate(ctx *DbAggregateContext) {} + +// EnterDbAuth is called when production dbAuth is entered. +func (s *BaseMongoShellParserListener) EnterDbAuth(ctx *DbAuthContext) {} + +// ExitDbAuth is called when production dbAuth is exited. +func (s *BaseMongoShellParserListener) ExitDbAuth(ctx *DbAuthContext) {} + +// EnterDbChangeUserPassword is called when production dbChangeUserPassword is entered. +func (s *BaseMongoShellParserListener) EnterDbChangeUserPassword(ctx *DbChangeUserPasswordContext) {} + +// ExitDbChangeUserPassword is called when production dbChangeUserPassword is exited. +func (s *BaseMongoShellParserListener) ExitDbChangeUserPassword(ctx *DbChangeUserPasswordContext) {} + +// EnterDbCloneDatabase is called when production dbCloneDatabase is entered. +func (s *BaseMongoShellParserListener) EnterDbCloneDatabase(ctx *DbCloneDatabaseContext) {} + +// ExitDbCloneDatabase is called when production dbCloneDatabase is exited. +func (s *BaseMongoShellParserListener) ExitDbCloneDatabase(ctx *DbCloneDatabaseContext) {} + +// EnterDbCommandHelp is called when production dbCommandHelp is entered. +func (s *BaseMongoShellParserListener) EnterDbCommandHelp(ctx *DbCommandHelpContext) {} + +// ExitDbCommandHelp is called when production dbCommandHelp is exited. +func (s *BaseMongoShellParserListener) ExitDbCommandHelp(ctx *DbCommandHelpContext) {} + +// EnterDbCopyDatabase is called when production dbCopyDatabase is entered. +func (s *BaseMongoShellParserListener) EnterDbCopyDatabase(ctx *DbCopyDatabaseContext) {} + +// ExitDbCopyDatabase is called when production dbCopyDatabase is exited. +func (s *BaseMongoShellParserListener) ExitDbCopyDatabase(ctx *DbCopyDatabaseContext) {} + +// EnterDbCreateRole is called when production dbCreateRole is entered. +func (s *BaseMongoShellParserListener) EnterDbCreateRole(ctx *DbCreateRoleContext) {} + +// ExitDbCreateRole is called when production dbCreateRole is exited. +func (s *BaseMongoShellParserListener) ExitDbCreateRole(ctx *DbCreateRoleContext) {} + +// EnterDbCreateUser is called when production dbCreateUser is entered. +func (s *BaseMongoShellParserListener) EnterDbCreateUser(ctx *DbCreateUserContext) {} + +// ExitDbCreateUser is called when production dbCreateUser is exited. +func (s *BaseMongoShellParserListener) ExitDbCreateUser(ctx *DbCreateUserContext) {} + +// EnterDbCreateView is called when production dbCreateView is entered. +func (s *BaseMongoShellParserListener) EnterDbCreateView(ctx *DbCreateViewContext) {} + +// ExitDbCreateView is called when production dbCreateView is exited. +func (s *BaseMongoShellParserListener) ExitDbCreateView(ctx *DbCreateViewContext) {} + +// EnterDbCurrentOp is called when production dbCurrentOp is entered. +func (s *BaseMongoShellParserListener) EnterDbCurrentOp(ctx *DbCurrentOpContext) {} + +// ExitDbCurrentOp is called when production dbCurrentOp is exited. +func (s *BaseMongoShellParserListener) ExitDbCurrentOp(ctx *DbCurrentOpContext) {} + +// EnterDbDropAllRoles is called when production dbDropAllRoles is entered. +func (s *BaseMongoShellParserListener) EnterDbDropAllRoles(ctx *DbDropAllRolesContext) {} + +// ExitDbDropAllRoles is called when production dbDropAllRoles is exited. +func (s *BaseMongoShellParserListener) ExitDbDropAllRoles(ctx *DbDropAllRolesContext) {} + +// EnterDbDropAllUsers is called when production dbDropAllUsers is entered. +func (s *BaseMongoShellParserListener) EnterDbDropAllUsers(ctx *DbDropAllUsersContext) {} + +// ExitDbDropAllUsers is called when production dbDropAllUsers is exited. +func (s *BaseMongoShellParserListener) ExitDbDropAllUsers(ctx *DbDropAllUsersContext) {} + +// EnterDbDropRole is called when production dbDropRole is entered. +func (s *BaseMongoShellParserListener) EnterDbDropRole(ctx *DbDropRoleContext) {} + +// ExitDbDropRole is called when production dbDropRole is exited. +func (s *BaseMongoShellParserListener) ExitDbDropRole(ctx *DbDropRoleContext) {} + +// EnterDbDropUser is called when production dbDropUser is entered. +func (s *BaseMongoShellParserListener) EnterDbDropUser(ctx *DbDropUserContext) {} + +// ExitDbDropUser is called when production dbDropUser is exited. +func (s *BaseMongoShellParserListener) ExitDbDropUser(ctx *DbDropUserContext) {} + +// EnterDbFsyncLock is called when production dbFsyncLock is entered. +func (s *BaseMongoShellParserListener) EnterDbFsyncLock(ctx *DbFsyncLockContext) {} + +// ExitDbFsyncLock is called when production dbFsyncLock is exited. +func (s *BaseMongoShellParserListener) ExitDbFsyncLock(ctx *DbFsyncLockContext) {} + +// EnterDbFsyncUnlock is called when production dbFsyncUnlock is entered. +func (s *BaseMongoShellParserListener) EnterDbFsyncUnlock(ctx *DbFsyncUnlockContext) {} + +// ExitDbFsyncUnlock is called when production dbFsyncUnlock is exited. +func (s *BaseMongoShellParserListener) ExitDbFsyncUnlock(ctx *DbFsyncUnlockContext) {} + +// EnterDbGetLogComponents is called when production dbGetLogComponents is entered. +func (s *BaseMongoShellParserListener) EnterDbGetLogComponents(ctx *DbGetLogComponentsContext) {} + +// ExitDbGetLogComponents is called when production dbGetLogComponents is exited. +func (s *BaseMongoShellParserListener) ExitDbGetLogComponents(ctx *DbGetLogComponentsContext) {} + +// EnterDbGetProfilingLevel is called when production dbGetProfilingLevel is entered. +func (s *BaseMongoShellParserListener) EnterDbGetProfilingLevel(ctx *DbGetProfilingLevelContext) {} + +// ExitDbGetProfilingLevel is called when production dbGetProfilingLevel is exited. +func (s *BaseMongoShellParserListener) ExitDbGetProfilingLevel(ctx *DbGetProfilingLevelContext) {} + +// EnterDbGetProfilingStatus is called when production dbGetProfilingStatus is entered. +func (s *BaseMongoShellParserListener) EnterDbGetProfilingStatus(ctx *DbGetProfilingStatusContext) {} + +// ExitDbGetProfilingStatus is called when production dbGetProfilingStatus is exited. +func (s *BaseMongoShellParserListener) ExitDbGetProfilingStatus(ctx *DbGetProfilingStatusContext) {} + +// EnterDbGetReplicationInfo is called when production dbGetReplicationInfo is entered. +func (s *BaseMongoShellParserListener) EnterDbGetReplicationInfo(ctx *DbGetReplicationInfoContext) {} + +// ExitDbGetReplicationInfo is called when production dbGetReplicationInfo is exited. +func (s *BaseMongoShellParserListener) ExitDbGetReplicationInfo(ctx *DbGetReplicationInfoContext) {} + +// EnterDbGetRole is called when production dbGetRole is entered. +func (s *BaseMongoShellParserListener) EnterDbGetRole(ctx *DbGetRoleContext) {} + +// ExitDbGetRole is called when production dbGetRole is exited. +func (s *BaseMongoShellParserListener) ExitDbGetRole(ctx *DbGetRoleContext) {} + +// EnterDbGetRoles is called when production dbGetRoles is entered. +func (s *BaseMongoShellParserListener) EnterDbGetRoles(ctx *DbGetRolesContext) {} + +// ExitDbGetRoles is called when production dbGetRoles is exited. +func (s *BaseMongoShellParserListener) ExitDbGetRoles(ctx *DbGetRolesContext) {} + +// EnterDbGetUser is called when production dbGetUser is entered. +func (s *BaseMongoShellParserListener) EnterDbGetUser(ctx *DbGetUserContext) {} + +// ExitDbGetUser is called when production dbGetUser is exited. +func (s *BaseMongoShellParserListener) ExitDbGetUser(ctx *DbGetUserContext) {} + +// EnterDbGetUsers is called when production dbGetUsers is entered. +func (s *BaseMongoShellParserListener) EnterDbGetUsers(ctx *DbGetUsersContext) {} + +// ExitDbGetUsers is called when production dbGetUsers is exited. +func (s *BaseMongoShellParserListener) ExitDbGetUsers(ctx *DbGetUsersContext) {} + +// EnterDbGrantPrivilegesToRole is called when production dbGrantPrivilegesToRole is entered. +func (s *BaseMongoShellParserListener) EnterDbGrantPrivilegesToRole(ctx *DbGrantPrivilegesToRoleContext) { +} + +// ExitDbGrantPrivilegesToRole is called when production dbGrantPrivilegesToRole is exited. +func (s *BaseMongoShellParserListener) ExitDbGrantPrivilegesToRole(ctx *DbGrantPrivilegesToRoleContext) { +} + +// EnterDbGrantRolesToRole is called when production dbGrantRolesToRole is entered. +func (s *BaseMongoShellParserListener) EnterDbGrantRolesToRole(ctx *DbGrantRolesToRoleContext) {} + +// ExitDbGrantRolesToRole is called when production dbGrantRolesToRole is exited. +func (s *BaseMongoShellParserListener) ExitDbGrantRolesToRole(ctx *DbGrantRolesToRoleContext) {} + +// EnterDbGrantRolesToUser is called when production dbGrantRolesToUser is entered. +func (s *BaseMongoShellParserListener) EnterDbGrantRolesToUser(ctx *DbGrantRolesToUserContext) {} + +// ExitDbGrantRolesToUser is called when production dbGrantRolesToUser is exited. +func (s *BaseMongoShellParserListener) ExitDbGrantRolesToUser(ctx *DbGrantRolesToUserContext) {} + +// EnterDbHello is called when production dbHello is entered. +func (s *BaseMongoShellParserListener) EnterDbHello(ctx *DbHelloContext) {} + +// ExitDbHello is called when production dbHello is exited. +func (s *BaseMongoShellParserListener) ExitDbHello(ctx *DbHelloContext) {} + +// EnterDbIsMaster is called when production dbIsMaster is entered. +func (s *BaseMongoShellParserListener) EnterDbIsMaster(ctx *DbIsMasterContext) {} + +// ExitDbIsMaster is called when production dbIsMaster is exited. +func (s *BaseMongoShellParserListener) ExitDbIsMaster(ctx *DbIsMasterContext) {} + +// EnterDbKillOp is called when production dbKillOp is entered. +func (s *BaseMongoShellParserListener) EnterDbKillOp(ctx *DbKillOpContext) {} + +// ExitDbKillOp is called when production dbKillOp is exited. +func (s *BaseMongoShellParserListener) ExitDbKillOp(ctx *DbKillOpContext) {} + +// EnterDbLogout is called when production dbLogout is entered. +func (s *BaseMongoShellParserListener) EnterDbLogout(ctx *DbLogoutContext) {} + +// ExitDbLogout is called when production dbLogout is exited. +func (s *BaseMongoShellParserListener) ExitDbLogout(ctx *DbLogoutContext) {} + +// EnterDbPrintCollectionStats is called when production dbPrintCollectionStats is entered. +func (s *BaseMongoShellParserListener) EnterDbPrintCollectionStats(ctx *DbPrintCollectionStatsContext) { +} + +// ExitDbPrintCollectionStats is called when production dbPrintCollectionStats is exited. +func (s *BaseMongoShellParserListener) ExitDbPrintCollectionStats(ctx *DbPrintCollectionStatsContext) { +} + +// EnterDbPrintReplicationInfo is called when production dbPrintReplicationInfo is entered. +func (s *BaseMongoShellParserListener) EnterDbPrintReplicationInfo(ctx *DbPrintReplicationInfoContext) { +} + +// ExitDbPrintReplicationInfo is called when production dbPrintReplicationInfo is exited. +func (s *BaseMongoShellParserListener) ExitDbPrintReplicationInfo(ctx *DbPrintReplicationInfoContext) { +} + +// EnterDbPrintSecondaryReplicationInfo is called when production dbPrintSecondaryReplicationInfo is entered. +func (s *BaseMongoShellParserListener) EnterDbPrintSecondaryReplicationInfo(ctx *DbPrintSecondaryReplicationInfoContext) { +} + +// ExitDbPrintSecondaryReplicationInfo is called when production dbPrintSecondaryReplicationInfo is exited. +func (s *BaseMongoShellParserListener) ExitDbPrintSecondaryReplicationInfo(ctx *DbPrintSecondaryReplicationInfoContext) { +} + +// EnterDbPrintShardingStatus is called when production dbPrintShardingStatus is entered. +func (s *BaseMongoShellParserListener) EnterDbPrintShardingStatus(ctx *DbPrintShardingStatusContext) { +} + +// ExitDbPrintShardingStatus is called when production dbPrintShardingStatus is exited. +func (s *BaseMongoShellParserListener) ExitDbPrintShardingStatus(ctx *DbPrintShardingStatusContext) {} + +// EnterDbPrintSlaveReplicationInfo is called when production dbPrintSlaveReplicationInfo is entered. +func (s *BaseMongoShellParserListener) EnterDbPrintSlaveReplicationInfo(ctx *DbPrintSlaveReplicationInfoContext) { +} + +// ExitDbPrintSlaveReplicationInfo is called when production dbPrintSlaveReplicationInfo is exited. +func (s *BaseMongoShellParserListener) ExitDbPrintSlaveReplicationInfo(ctx *DbPrintSlaveReplicationInfoContext) { +} + +// EnterDbRevokePrivilegesFromRole is called when production dbRevokePrivilegesFromRole is entered. +func (s *BaseMongoShellParserListener) EnterDbRevokePrivilegesFromRole(ctx *DbRevokePrivilegesFromRoleContext) { +} + +// ExitDbRevokePrivilegesFromRole is called when production dbRevokePrivilegesFromRole is exited. +func (s *BaseMongoShellParserListener) ExitDbRevokePrivilegesFromRole(ctx *DbRevokePrivilegesFromRoleContext) { +} + +// EnterDbRevokeRolesFromRole is called when production dbRevokeRolesFromRole is entered. +func (s *BaseMongoShellParserListener) EnterDbRevokeRolesFromRole(ctx *DbRevokeRolesFromRoleContext) { +} + +// ExitDbRevokeRolesFromRole is called when production dbRevokeRolesFromRole is exited. +func (s *BaseMongoShellParserListener) ExitDbRevokeRolesFromRole(ctx *DbRevokeRolesFromRoleContext) {} + +// EnterDbRevokeRolesFromUser is called when production dbRevokeRolesFromUser is entered. +func (s *BaseMongoShellParserListener) EnterDbRevokeRolesFromUser(ctx *DbRevokeRolesFromUserContext) { +} + +// ExitDbRevokeRolesFromUser is called when production dbRevokeRolesFromUser is exited. +func (s *BaseMongoShellParserListener) ExitDbRevokeRolesFromUser(ctx *DbRevokeRolesFromUserContext) {} + +// EnterDbRotateCertificates is called when production dbRotateCertificates is entered. +func (s *BaseMongoShellParserListener) EnterDbRotateCertificates(ctx *DbRotateCertificatesContext) {} + +// ExitDbRotateCertificates is called when production dbRotateCertificates is exited. +func (s *BaseMongoShellParserListener) ExitDbRotateCertificates(ctx *DbRotateCertificatesContext) {} + +// EnterDbSetLogLevel is called when production dbSetLogLevel is entered. +func (s *BaseMongoShellParserListener) EnterDbSetLogLevel(ctx *DbSetLogLevelContext) {} + +// ExitDbSetLogLevel is called when production dbSetLogLevel is exited. +func (s *BaseMongoShellParserListener) ExitDbSetLogLevel(ctx *DbSetLogLevelContext) {} + +// EnterDbSetProfilingLevel is called when production dbSetProfilingLevel is entered. +func (s *BaseMongoShellParserListener) EnterDbSetProfilingLevel(ctx *DbSetProfilingLevelContext) {} + +// ExitDbSetProfilingLevel is called when production dbSetProfilingLevel is exited. +func (s *BaseMongoShellParserListener) ExitDbSetProfilingLevel(ctx *DbSetProfilingLevelContext) {} + +// EnterDbSetSecondaryOk is called when production dbSetSecondaryOk is entered. +func (s *BaseMongoShellParserListener) EnterDbSetSecondaryOk(ctx *DbSetSecondaryOkContext) {} + +// ExitDbSetSecondaryOk is called when production dbSetSecondaryOk is exited. +func (s *BaseMongoShellParserListener) ExitDbSetSecondaryOk(ctx *DbSetSecondaryOkContext) {} + +// EnterDbSetWriteConcern is called when production dbSetWriteConcern is entered. +func (s *BaseMongoShellParserListener) EnterDbSetWriteConcern(ctx *DbSetWriteConcernContext) {} + +// ExitDbSetWriteConcern is called when production dbSetWriteConcern is exited. +func (s *BaseMongoShellParserListener) ExitDbSetWriteConcern(ctx *DbSetWriteConcernContext) {} + +// EnterDbShutdownServer is called when production dbShutdownServer is entered. +func (s *BaseMongoShellParserListener) EnterDbShutdownServer(ctx *DbShutdownServerContext) {} + +// ExitDbShutdownServer is called when production dbShutdownServer is exited. +func (s *BaseMongoShellParserListener) ExitDbShutdownServer(ctx *DbShutdownServerContext) {} + +// EnterDbUpdateRole is called when production dbUpdateRole is entered. +func (s *BaseMongoShellParserListener) EnterDbUpdateRole(ctx *DbUpdateRoleContext) {} + +// ExitDbUpdateRole is called when production dbUpdateRole is exited. +func (s *BaseMongoShellParserListener) ExitDbUpdateRole(ctx *DbUpdateRoleContext) {} + +// EnterDbUpdateUser is called when production dbUpdateUser is entered. +func (s *BaseMongoShellParserListener) EnterDbUpdateUser(ctx *DbUpdateUserContext) {} + +// ExitDbUpdateUser is called when production dbUpdateUser is exited. +func (s *BaseMongoShellParserListener) ExitDbUpdateUser(ctx *DbUpdateUserContext) {} + +// EnterDbWatch is called when production dbWatch is entered. +func (s *BaseMongoShellParserListener) EnterDbWatch(ctx *DbWatchContext) {} + +// ExitDbWatch is called when production dbWatch is exited. +func (s *BaseMongoShellParserListener) ExitDbWatch(ctx *DbWatchContext) {} // EnterCollectionOperation is called when production collectionOperation is entered. func (s *BaseMongoShellParserListener) EnterCollectionOperation(ctx *CollectionOperationContext) {} @@ -146,12 +443,6 @@ func (s *BaseMongoShellParserListener) EnterCollectionOperation(ctx *CollectionO // ExitCollectionOperation is called when production collectionOperation is exited. func (s *BaseMongoShellParserListener) ExitCollectionOperation(ctx *CollectionOperationContext) {} -// EnterGenericDbMethod is called when production genericDbMethod is entered. -func (s *BaseMongoShellParserListener) EnterGenericDbMethod(ctx *GenericDbMethodContext) {} - -// ExitGenericDbMethod is called when production genericDbMethod is exited. -func (s *BaseMongoShellParserListener) ExitGenericDbMethod(ctx *GenericDbMethodContext) {} - // EnterBulkStatement is called when production bulkStatement is entered. func (s *BaseMongoShellParserListener) EnterBulkStatement(ctx *BulkStatementContext) {} @@ -396,11 +687,17 @@ func (s *BaseMongoShellParserListener) EnterMethodChain(ctx *MethodChainContext) // ExitMethodChain is called when production methodChain is exited. func (s *BaseMongoShellParserListener) ExitMethodChain(ctx *MethodChainContext) {} -// EnterMethodCall is called when production methodCall is entered. -func (s *BaseMongoShellParserListener) EnterMethodCall(ctx *MethodCallContext) {} +// EnterCollectionMethodCall is called when production collectionMethodCall is entered. +func (s *BaseMongoShellParserListener) EnterCollectionMethodCall(ctx *CollectionMethodCallContext) {} + +// ExitCollectionMethodCall is called when production collectionMethodCall is exited. +func (s *BaseMongoShellParserListener) ExitCollectionMethodCall(ctx *CollectionMethodCallContext) {} + +// EnterCursorMethodCall is called when production cursorMethodCall is entered. +func (s *BaseMongoShellParserListener) EnterCursorMethodCall(ctx *CursorMethodCallContext) {} -// ExitMethodCall is called when production methodCall is exited. -func (s *BaseMongoShellParserListener) ExitMethodCall(ctx *MethodCallContext) {} +// ExitCursorMethodCall is called when production cursorMethodCall is exited. +func (s *BaseMongoShellParserListener) ExitCursorMethodCall(ctx *CursorMethodCallContext) {} // EnterFindMethod is called when production findMethod is entered. func (s *BaseMongoShellParserListener) EnterFindMethod(ctx *FindMethodContext) {} @@ -598,6 +895,154 @@ func (s *BaseMongoShellParserListener) EnterLatencyStatsMethod(ctx *LatencyStats // ExitLatencyStatsMethod is called when production latencyStatsMethod is exited. func (s *BaseMongoShellParserListener) ExitLatencyStatsMethod(ctx *LatencyStatsMethodContext) {} +// EnterWatchMethod is called when production watchMethod is entered. +func (s *BaseMongoShellParserListener) EnterWatchMethod(ctx *WatchMethodContext) {} + +// ExitWatchMethod is called when production watchMethod is exited. +func (s *BaseMongoShellParserListener) ExitWatchMethod(ctx *WatchMethodContext) {} + +// EnterBulkWriteMethod is called when production bulkWriteMethod is entered. +func (s *BaseMongoShellParserListener) EnterBulkWriteMethod(ctx *BulkWriteMethodContext) {} + +// ExitBulkWriteMethod is called when production bulkWriteMethod is exited. +func (s *BaseMongoShellParserListener) ExitBulkWriteMethod(ctx *BulkWriteMethodContext) {} + +// EnterCollectionCountMethod is called when production collectionCountMethod is entered. +func (s *BaseMongoShellParserListener) EnterCollectionCountMethod(ctx *CollectionCountMethodContext) { +} + +// ExitCollectionCountMethod is called when production collectionCountMethod is exited. +func (s *BaseMongoShellParserListener) ExitCollectionCountMethod(ctx *CollectionCountMethodContext) {} + +// EnterCollectionInsertMethod is called when production collectionInsertMethod is entered. +func (s *BaseMongoShellParserListener) EnterCollectionInsertMethod(ctx *CollectionInsertMethodContext) { +} + +// ExitCollectionInsertMethod is called when production collectionInsertMethod is exited. +func (s *BaseMongoShellParserListener) ExitCollectionInsertMethod(ctx *CollectionInsertMethodContext) { +} + +// EnterCollectionRemoveMethod is called when production collectionRemoveMethod is entered. +func (s *BaseMongoShellParserListener) EnterCollectionRemoveMethod(ctx *CollectionRemoveMethodContext) { +} + +// ExitCollectionRemoveMethod is called when production collectionRemoveMethod is exited. +func (s *BaseMongoShellParserListener) ExitCollectionRemoveMethod(ctx *CollectionRemoveMethodContext) { +} + +// EnterUpdateMethod is called when production updateMethod is entered. +func (s *BaseMongoShellParserListener) EnterUpdateMethod(ctx *UpdateMethodContext) {} + +// ExitUpdateMethod is called when production updateMethod is exited. +func (s *BaseMongoShellParserListener) ExitUpdateMethod(ctx *UpdateMethodContext) {} + +// EnterMapReduceMethod is called when production mapReduceMethod is entered. +func (s *BaseMongoShellParserListener) EnterMapReduceMethod(ctx *MapReduceMethodContext) {} + +// ExitMapReduceMethod is called when production mapReduceMethod is exited. +func (s *BaseMongoShellParserListener) ExitMapReduceMethod(ctx *MapReduceMethodContext) {} + +// EnterFindAndModifyMethod is called when production findAndModifyMethod is entered. +func (s *BaseMongoShellParserListener) EnterFindAndModifyMethod(ctx *FindAndModifyMethodContext) {} + +// ExitFindAndModifyMethod is called when production findAndModifyMethod is exited. +func (s *BaseMongoShellParserListener) ExitFindAndModifyMethod(ctx *FindAndModifyMethodContext) {} + +// EnterCollectionExplainMethod is called when production collectionExplainMethod is entered. +func (s *BaseMongoShellParserListener) EnterCollectionExplainMethod(ctx *CollectionExplainMethodContext) { +} + +// ExitCollectionExplainMethod is called when production collectionExplainMethod is exited. +func (s *BaseMongoShellParserListener) ExitCollectionExplainMethod(ctx *CollectionExplainMethodContext) { +} + +// EnterAnalyzeShardKeyMethod is called when production analyzeShardKeyMethod is entered. +func (s *BaseMongoShellParserListener) EnterAnalyzeShardKeyMethod(ctx *AnalyzeShardKeyMethodContext) { +} + +// ExitAnalyzeShardKeyMethod is called when production analyzeShardKeyMethod is exited. +func (s *BaseMongoShellParserListener) ExitAnalyzeShardKeyMethod(ctx *AnalyzeShardKeyMethodContext) {} + +// EnterConfigureQueryAnalyzerMethod is called when production configureQueryAnalyzerMethod is entered. +func (s *BaseMongoShellParserListener) EnterConfigureQueryAnalyzerMethod(ctx *ConfigureQueryAnalyzerMethodContext) { +} + +// ExitConfigureQueryAnalyzerMethod is called when production configureQueryAnalyzerMethod is exited. +func (s *BaseMongoShellParserListener) ExitConfigureQueryAnalyzerMethod(ctx *ConfigureQueryAnalyzerMethodContext) { +} + +// EnterCompactStructuredEncryptionDataMethod is called when production compactStructuredEncryptionDataMethod is entered. +func (s *BaseMongoShellParserListener) EnterCompactStructuredEncryptionDataMethod(ctx *CompactStructuredEncryptionDataMethodContext) { +} + +// ExitCompactStructuredEncryptionDataMethod is called when production compactStructuredEncryptionDataMethod is exited. +func (s *BaseMongoShellParserListener) ExitCompactStructuredEncryptionDataMethod(ctx *CompactStructuredEncryptionDataMethodContext) { +} + +// EnterHideIndexMethod is called when production hideIndexMethod is entered. +func (s *BaseMongoShellParserListener) EnterHideIndexMethod(ctx *HideIndexMethodContext) {} + +// ExitHideIndexMethod is called when production hideIndexMethod is exited. +func (s *BaseMongoShellParserListener) ExitHideIndexMethod(ctx *HideIndexMethodContext) {} + +// EnterUnhideIndexMethod is called when production unhideIndexMethod is entered. +func (s *BaseMongoShellParserListener) EnterUnhideIndexMethod(ctx *UnhideIndexMethodContext) {} + +// ExitUnhideIndexMethod is called when production unhideIndexMethod is exited. +func (s *BaseMongoShellParserListener) ExitUnhideIndexMethod(ctx *UnhideIndexMethodContext) {} + +// EnterReIndexMethod is called when production reIndexMethod is entered. +func (s *BaseMongoShellParserListener) EnterReIndexMethod(ctx *ReIndexMethodContext) {} + +// ExitReIndexMethod is called when production reIndexMethod is exited. +func (s *BaseMongoShellParserListener) ExitReIndexMethod(ctx *ReIndexMethodContext) {} + +// EnterGetShardDistributionMethod is called when production getShardDistributionMethod is entered. +func (s *BaseMongoShellParserListener) EnterGetShardDistributionMethod(ctx *GetShardDistributionMethodContext) { +} + +// ExitGetShardDistributionMethod is called when production getShardDistributionMethod is exited. +func (s *BaseMongoShellParserListener) ExitGetShardDistributionMethod(ctx *GetShardDistributionMethodContext) { +} + +// EnterGetShardVersionMethod is called when production getShardVersionMethod is entered. +func (s *BaseMongoShellParserListener) EnterGetShardVersionMethod(ctx *GetShardVersionMethodContext) { +} + +// ExitGetShardVersionMethod is called when production getShardVersionMethod is exited. +func (s *BaseMongoShellParserListener) ExitGetShardVersionMethod(ctx *GetShardVersionMethodContext) {} + +// EnterCreateSearchIndexMethod is called when production createSearchIndexMethod is entered. +func (s *BaseMongoShellParserListener) EnterCreateSearchIndexMethod(ctx *CreateSearchIndexMethodContext) { +} + +// ExitCreateSearchIndexMethod is called when production createSearchIndexMethod is exited. +func (s *BaseMongoShellParserListener) ExitCreateSearchIndexMethod(ctx *CreateSearchIndexMethodContext) { +} + +// EnterCreateSearchIndexesMethod is called when production createSearchIndexesMethod is entered. +func (s *BaseMongoShellParserListener) EnterCreateSearchIndexesMethod(ctx *CreateSearchIndexesMethodContext) { +} + +// ExitCreateSearchIndexesMethod is called when production createSearchIndexesMethod is exited. +func (s *BaseMongoShellParserListener) ExitCreateSearchIndexesMethod(ctx *CreateSearchIndexesMethodContext) { +} + +// EnterDropSearchIndexMethod is called when production dropSearchIndexMethod is entered. +func (s *BaseMongoShellParserListener) EnterDropSearchIndexMethod(ctx *DropSearchIndexMethodContext) { +} + +// ExitDropSearchIndexMethod is called when production dropSearchIndexMethod is exited. +func (s *BaseMongoShellParserListener) ExitDropSearchIndexMethod(ctx *DropSearchIndexMethodContext) {} + +// EnterUpdateSearchIndexMethod is called when production updateSearchIndexMethod is entered. +func (s *BaseMongoShellParserListener) EnterUpdateSearchIndexMethod(ctx *UpdateSearchIndexMethodContext) { +} + +// ExitUpdateSearchIndexMethod is called when production updateSearchIndexMethod is exited. +func (s *BaseMongoShellParserListener) ExitUpdateSearchIndexMethod(ctx *UpdateSearchIndexMethodContext) { +} + // EnterSortMethod is called when production sortMethod is entered. func (s *BaseMongoShellParserListener) EnterSortMethod(ctx *SortMethodContext) {} @@ -810,12 +1255,6 @@ func (s *BaseMongoShellParserListener) EnterAddOptionMethod(ctx *AddOptionMethod // ExitAddOptionMethod is called when production addOptionMethod is exited. func (s *BaseMongoShellParserListener) ExitAddOptionMethod(ctx *AddOptionMethodContext) {} -// EnterGenericMethod is called when production genericMethod is entered. -func (s *BaseMongoShellParserListener) EnterGenericMethod(ctx *GenericMethodContext) {} - -// ExitGenericMethod is called when production genericMethod is exited. -func (s *BaseMongoShellParserListener) ExitGenericMethod(ctx *GenericMethodContext) {} - // EnterArguments is called when production arguments is entered. func (s *BaseMongoShellParserListener) EnterArguments(ctx *ArgumentsContext) {} diff --git a/mongodb/mongoshellparser_base_visitor.go b/mongodb/mongoshellparser_base_visitor.go index 9e05cea..aeca223 100644 --- a/mongodb/mongoshellparser_base_visitor.go +++ b/mongodb/mongoshellparser_base_visitor.go @@ -83,15 +83,199 @@ func (v *BaseMongoShellParserVisitor) VisitGetSiblingDB(ctx *GetSiblingDBContext return v.VisitChildren(ctx) } -func (v *BaseMongoShellParserVisitor) VisitDbGenericMethod(ctx *DbGenericMethodContext) interface{} { +func (v *BaseMongoShellParserVisitor) VisitDbAggregate(ctx *DbAggregateContext) interface{} { return v.VisitChildren(ctx) } -func (v *BaseMongoShellParserVisitor) VisitCollectionOperation(ctx *CollectionOperationContext) interface{} { +func (v *BaseMongoShellParserVisitor) VisitDbAuth(ctx *DbAuthContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbChangeUserPassword(ctx *DbChangeUserPasswordContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbCloneDatabase(ctx *DbCloneDatabaseContext) interface{} { return v.VisitChildren(ctx) } -func (v *BaseMongoShellParserVisitor) VisitGenericDbMethod(ctx *GenericDbMethodContext) interface{} { +func (v *BaseMongoShellParserVisitor) VisitDbCommandHelp(ctx *DbCommandHelpContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbCopyDatabase(ctx *DbCopyDatabaseContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbCreateRole(ctx *DbCreateRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbCreateUser(ctx *DbCreateUserContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbCreateView(ctx *DbCreateViewContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbCurrentOp(ctx *DbCurrentOpContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbDropAllRoles(ctx *DbDropAllRolesContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbDropAllUsers(ctx *DbDropAllUsersContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbDropRole(ctx *DbDropRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbDropUser(ctx *DbDropUserContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbFsyncLock(ctx *DbFsyncLockContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbFsyncUnlock(ctx *DbFsyncUnlockContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetLogComponents(ctx *DbGetLogComponentsContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetProfilingLevel(ctx *DbGetProfilingLevelContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetProfilingStatus(ctx *DbGetProfilingStatusContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetReplicationInfo(ctx *DbGetReplicationInfoContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetRole(ctx *DbGetRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetRoles(ctx *DbGetRolesContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetUser(ctx *DbGetUserContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGetUsers(ctx *DbGetUsersContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGrantPrivilegesToRole(ctx *DbGrantPrivilegesToRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGrantRolesToRole(ctx *DbGrantRolesToRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbGrantRolesToUser(ctx *DbGrantRolesToUserContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbHello(ctx *DbHelloContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbIsMaster(ctx *DbIsMasterContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbKillOp(ctx *DbKillOpContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbLogout(ctx *DbLogoutContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbPrintCollectionStats(ctx *DbPrintCollectionStatsContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbPrintReplicationInfo(ctx *DbPrintReplicationInfoContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbPrintSecondaryReplicationInfo(ctx *DbPrintSecondaryReplicationInfoContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbPrintShardingStatus(ctx *DbPrintShardingStatusContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbPrintSlaveReplicationInfo(ctx *DbPrintSlaveReplicationInfoContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbRevokePrivilegesFromRole(ctx *DbRevokePrivilegesFromRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbRevokeRolesFromRole(ctx *DbRevokeRolesFromRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbRevokeRolesFromUser(ctx *DbRevokeRolesFromUserContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbRotateCertificates(ctx *DbRotateCertificatesContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbSetLogLevel(ctx *DbSetLogLevelContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbSetProfilingLevel(ctx *DbSetProfilingLevelContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbSetSecondaryOk(ctx *DbSetSecondaryOkContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbSetWriteConcern(ctx *DbSetWriteConcernContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbShutdownServer(ctx *DbShutdownServerContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbUpdateRole(ctx *DbUpdateRoleContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbUpdateUser(ctx *DbUpdateUserContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDbWatch(ctx *DbWatchContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCollectionOperation(ctx *CollectionOperationContext) interface{} { return v.VisitChildren(ctx) } @@ -255,7 +439,11 @@ func (v *BaseMongoShellParserVisitor) VisitMethodChain(ctx *MethodChainContext) return v.VisitChildren(ctx) } -func (v *BaseMongoShellParserVisitor) VisitMethodCall(ctx *MethodCallContext) interface{} { +func (v *BaseMongoShellParserVisitor) VisitCollectionMethodCall(ctx *CollectionMethodCallContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCursorMethodCall(ctx *CursorMethodCallContext) interface{} { return v.VisitChildren(ctx) } @@ -383,6 +571,90 @@ func (v *BaseMongoShellParserVisitor) VisitLatencyStatsMethod(ctx *LatencyStatsM return v.VisitChildren(ctx) } +func (v *BaseMongoShellParserVisitor) VisitWatchMethod(ctx *WatchMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitBulkWriteMethod(ctx *BulkWriteMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCollectionCountMethod(ctx *CollectionCountMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCollectionInsertMethod(ctx *CollectionInsertMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCollectionRemoveMethod(ctx *CollectionRemoveMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitUpdateMethod(ctx *UpdateMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitMapReduceMethod(ctx *MapReduceMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitFindAndModifyMethod(ctx *FindAndModifyMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCollectionExplainMethod(ctx *CollectionExplainMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitAnalyzeShardKeyMethod(ctx *AnalyzeShardKeyMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitConfigureQueryAnalyzerMethod(ctx *ConfigureQueryAnalyzerMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCompactStructuredEncryptionDataMethod(ctx *CompactStructuredEncryptionDataMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitHideIndexMethod(ctx *HideIndexMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitUnhideIndexMethod(ctx *UnhideIndexMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitReIndexMethod(ctx *ReIndexMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitGetShardDistributionMethod(ctx *GetShardDistributionMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitGetShardVersionMethod(ctx *GetShardVersionMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCreateSearchIndexMethod(ctx *CreateSearchIndexMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitCreateSearchIndexesMethod(ctx *CreateSearchIndexesMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitDropSearchIndexMethod(ctx *DropSearchIndexMethodContext) interface{} { + return v.VisitChildren(ctx) +} + +func (v *BaseMongoShellParserVisitor) VisitUpdateSearchIndexMethod(ctx *UpdateSearchIndexMethodContext) interface{} { + return v.VisitChildren(ctx) +} + func (v *BaseMongoShellParserVisitor) VisitSortMethod(ctx *SortMethodContext) interface{} { return v.VisitChildren(ctx) } @@ -523,10 +795,6 @@ func (v *BaseMongoShellParserVisitor) VisitAddOptionMethod(ctx *AddOptionMethodC return v.VisitChildren(ctx) } -func (v *BaseMongoShellParserVisitor) VisitGenericMethod(ctx *GenericMethodContext) interface{} { - return v.VisitChildren(ctx) -} - func (v *BaseMongoShellParserVisitor) VisitArguments(ctx *ArgumentsContext) interface{} { return v.VisitChildren(ctx) } diff --git a/mongodb/mongoshellparser_listener.go b/mongodb/mongoshellparser_listener.go index a3ce925..8c4576b 100644 --- a/mongodb/mongoshellparser_listener.go +++ b/mongodb/mongoshellparser_listener.go @@ -64,15 +64,153 @@ type MongoShellParserListener interface { // EnterGetSiblingDB is called when entering the getSiblingDB production. EnterGetSiblingDB(c *GetSiblingDBContext) - // EnterDbGenericMethod is called when entering the dbGenericMethod production. - EnterDbGenericMethod(c *DbGenericMethodContext) + // EnterDbAggregate is called when entering the dbAggregate production. + EnterDbAggregate(c *DbAggregateContext) + + // EnterDbAuth is called when entering the dbAuth production. + EnterDbAuth(c *DbAuthContext) + + // EnterDbChangeUserPassword is called when entering the dbChangeUserPassword production. + EnterDbChangeUserPassword(c *DbChangeUserPasswordContext) + + // EnterDbCloneDatabase is called when entering the dbCloneDatabase production. + EnterDbCloneDatabase(c *DbCloneDatabaseContext) + + // EnterDbCommandHelp is called when entering the dbCommandHelp production. + EnterDbCommandHelp(c *DbCommandHelpContext) + + // EnterDbCopyDatabase is called when entering the dbCopyDatabase production. + EnterDbCopyDatabase(c *DbCopyDatabaseContext) + + // EnterDbCreateRole is called when entering the dbCreateRole production. + EnterDbCreateRole(c *DbCreateRoleContext) + + // EnterDbCreateUser is called when entering the dbCreateUser production. + EnterDbCreateUser(c *DbCreateUserContext) + + // EnterDbCreateView is called when entering the dbCreateView production. + EnterDbCreateView(c *DbCreateViewContext) + + // EnterDbCurrentOp is called when entering the dbCurrentOp production. + EnterDbCurrentOp(c *DbCurrentOpContext) + + // EnterDbDropAllRoles is called when entering the dbDropAllRoles production. + EnterDbDropAllRoles(c *DbDropAllRolesContext) + + // EnterDbDropAllUsers is called when entering the dbDropAllUsers production. + EnterDbDropAllUsers(c *DbDropAllUsersContext) + + // EnterDbDropRole is called when entering the dbDropRole production. + EnterDbDropRole(c *DbDropRoleContext) + + // EnterDbDropUser is called when entering the dbDropUser production. + EnterDbDropUser(c *DbDropUserContext) + + // EnterDbFsyncLock is called when entering the dbFsyncLock production. + EnterDbFsyncLock(c *DbFsyncLockContext) + + // EnterDbFsyncUnlock is called when entering the dbFsyncUnlock production. + EnterDbFsyncUnlock(c *DbFsyncUnlockContext) + + // EnterDbGetLogComponents is called when entering the dbGetLogComponents production. + EnterDbGetLogComponents(c *DbGetLogComponentsContext) + + // EnterDbGetProfilingLevel is called when entering the dbGetProfilingLevel production. + EnterDbGetProfilingLevel(c *DbGetProfilingLevelContext) + + // EnterDbGetProfilingStatus is called when entering the dbGetProfilingStatus production. + EnterDbGetProfilingStatus(c *DbGetProfilingStatusContext) + + // EnterDbGetReplicationInfo is called when entering the dbGetReplicationInfo production. + EnterDbGetReplicationInfo(c *DbGetReplicationInfoContext) + + // EnterDbGetRole is called when entering the dbGetRole production. + EnterDbGetRole(c *DbGetRoleContext) + + // EnterDbGetRoles is called when entering the dbGetRoles production. + EnterDbGetRoles(c *DbGetRolesContext) + + // EnterDbGetUser is called when entering the dbGetUser production. + EnterDbGetUser(c *DbGetUserContext) + + // EnterDbGetUsers is called when entering the dbGetUsers production. + EnterDbGetUsers(c *DbGetUsersContext) + + // EnterDbGrantPrivilegesToRole is called when entering the dbGrantPrivilegesToRole production. + EnterDbGrantPrivilegesToRole(c *DbGrantPrivilegesToRoleContext) + + // EnterDbGrantRolesToRole is called when entering the dbGrantRolesToRole production. + EnterDbGrantRolesToRole(c *DbGrantRolesToRoleContext) + + // EnterDbGrantRolesToUser is called when entering the dbGrantRolesToUser production. + EnterDbGrantRolesToUser(c *DbGrantRolesToUserContext) + + // EnterDbHello is called when entering the dbHello production. + EnterDbHello(c *DbHelloContext) + + // EnterDbIsMaster is called when entering the dbIsMaster production. + EnterDbIsMaster(c *DbIsMasterContext) + + // EnterDbKillOp is called when entering the dbKillOp production. + EnterDbKillOp(c *DbKillOpContext) + + // EnterDbLogout is called when entering the dbLogout production. + EnterDbLogout(c *DbLogoutContext) + + // EnterDbPrintCollectionStats is called when entering the dbPrintCollectionStats production. + EnterDbPrintCollectionStats(c *DbPrintCollectionStatsContext) + + // EnterDbPrintReplicationInfo is called when entering the dbPrintReplicationInfo production. + EnterDbPrintReplicationInfo(c *DbPrintReplicationInfoContext) + + // EnterDbPrintSecondaryReplicationInfo is called when entering the dbPrintSecondaryReplicationInfo production. + EnterDbPrintSecondaryReplicationInfo(c *DbPrintSecondaryReplicationInfoContext) + + // EnterDbPrintShardingStatus is called when entering the dbPrintShardingStatus production. + EnterDbPrintShardingStatus(c *DbPrintShardingStatusContext) + + // EnterDbPrintSlaveReplicationInfo is called when entering the dbPrintSlaveReplicationInfo production. + EnterDbPrintSlaveReplicationInfo(c *DbPrintSlaveReplicationInfoContext) + + // EnterDbRevokePrivilegesFromRole is called when entering the dbRevokePrivilegesFromRole production. + EnterDbRevokePrivilegesFromRole(c *DbRevokePrivilegesFromRoleContext) + + // EnterDbRevokeRolesFromRole is called when entering the dbRevokeRolesFromRole production. + EnterDbRevokeRolesFromRole(c *DbRevokeRolesFromRoleContext) + + // EnterDbRevokeRolesFromUser is called when entering the dbRevokeRolesFromUser production. + EnterDbRevokeRolesFromUser(c *DbRevokeRolesFromUserContext) + + // EnterDbRotateCertificates is called when entering the dbRotateCertificates production. + EnterDbRotateCertificates(c *DbRotateCertificatesContext) + + // EnterDbSetLogLevel is called when entering the dbSetLogLevel production. + EnterDbSetLogLevel(c *DbSetLogLevelContext) + + // EnterDbSetProfilingLevel is called when entering the dbSetProfilingLevel production. + EnterDbSetProfilingLevel(c *DbSetProfilingLevelContext) + + // EnterDbSetSecondaryOk is called when entering the dbSetSecondaryOk production. + EnterDbSetSecondaryOk(c *DbSetSecondaryOkContext) + + // EnterDbSetWriteConcern is called when entering the dbSetWriteConcern production. + EnterDbSetWriteConcern(c *DbSetWriteConcernContext) + + // EnterDbShutdownServer is called when entering the dbShutdownServer production. + EnterDbShutdownServer(c *DbShutdownServerContext) + + // EnterDbUpdateRole is called when entering the dbUpdateRole production. + EnterDbUpdateRole(c *DbUpdateRoleContext) + + // EnterDbUpdateUser is called when entering the dbUpdateUser production. + EnterDbUpdateUser(c *DbUpdateUserContext) + + // EnterDbWatch is called when entering the dbWatch production. + EnterDbWatch(c *DbWatchContext) // EnterCollectionOperation is called when entering the collectionOperation production. EnterCollectionOperation(c *CollectionOperationContext) - // EnterGenericDbMethod is called when entering the genericDbMethod production. - EnterGenericDbMethod(c *GenericDbMethodContext) - // EnterBulkStatement is called when entering the bulkStatement production. EnterBulkStatement(c *BulkStatementContext) @@ -193,8 +331,11 @@ type MongoShellParserListener interface { // EnterMethodChain is called when entering the methodChain production. EnterMethodChain(c *MethodChainContext) - // EnterMethodCall is called when entering the methodCall production. - EnterMethodCall(c *MethodCallContext) + // EnterCollectionMethodCall is called when entering the collectionMethodCall production. + EnterCollectionMethodCall(c *CollectionMethodCallContext) + + // EnterCursorMethodCall is called when entering the cursorMethodCall production. + EnterCursorMethodCall(c *CursorMethodCallContext) // EnterFindMethod is called when entering the findMethod production. EnterFindMethod(c *FindMethodContext) @@ -289,6 +430,69 @@ type MongoShellParserListener interface { // EnterLatencyStatsMethod is called when entering the latencyStatsMethod production. EnterLatencyStatsMethod(c *LatencyStatsMethodContext) + // EnterWatchMethod is called when entering the watchMethod production. + EnterWatchMethod(c *WatchMethodContext) + + // EnterBulkWriteMethod is called when entering the bulkWriteMethod production. + EnterBulkWriteMethod(c *BulkWriteMethodContext) + + // EnterCollectionCountMethod is called when entering the collectionCountMethod production. + EnterCollectionCountMethod(c *CollectionCountMethodContext) + + // EnterCollectionInsertMethod is called when entering the collectionInsertMethod production. + EnterCollectionInsertMethod(c *CollectionInsertMethodContext) + + // EnterCollectionRemoveMethod is called when entering the collectionRemoveMethod production. + EnterCollectionRemoveMethod(c *CollectionRemoveMethodContext) + + // EnterUpdateMethod is called when entering the updateMethod production. + EnterUpdateMethod(c *UpdateMethodContext) + + // EnterMapReduceMethod is called when entering the mapReduceMethod production. + EnterMapReduceMethod(c *MapReduceMethodContext) + + // EnterFindAndModifyMethod is called when entering the findAndModifyMethod production. + EnterFindAndModifyMethod(c *FindAndModifyMethodContext) + + // EnterCollectionExplainMethod is called when entering the collectionExplainMethod production. + EnterCollectionExplainMethod(c *CollectionExplainMethodContext) + + // EnterAnalyzeShardKeyMethod is called when entering the analyzeShardKeyMethod production. + EnterAnalyzeShardKeyMethod(c *AnalyzeShardKeyMethodContext) + + // EnterConfigureQueryAnalyzerMethod is called when entering the configureQueryAnalyzerMethod production. + EnterConfigureQueryAnalyzerMethod(c *ConfigureQueryAnalyzerMethodContext) + + // EnterCompactStructuredEncryptionDataMethod is called when entering the compactStructuredEncryptionDataMethod production. + EnterCompactStructuredEncryptionDataMethod(c *CompactStructuredEncryptionDataMethodContext) + + // EnterHideIndexMethod is called when entering the hideIndexMethod production. + EnterHideIndexMethod(c *HideIndexMethodContext) + + // EnterUnhideIndexMethod is called when entering the unhideIndexMethod production. + EnterUnhideIndexMethod(c *UnhideIndexMethodContext) + + // EnterReIndexMethod is called when entering the reIndexMethod production. + EnterReIndexMethod(c *ReIndexMethodContext) + + // EnterGetShardDistributionMethod is called when entering the getShardDistributionMethod production. + EnterGetShardDistributionMethod(c *GetShardDistributionMethodContext) + + // EnterGetShardVersionMethod is called when entering the getShardVersionMethod production. + EnterGetShardVersionMethod(c *GetShardVersionMethodContext) + + // EnterCreateSearchIndexMethod is called when entering the createSearchIndexMethod production. + EnterCreateSearchIndexMethod(c *CreateSearchIndexMethodContext) + + // EnterCreateSearchIndexesMethod is called when entering the createSearchIndexesMethod production. + EnterCreateSearchIndexesMethod(c *CreateSearchIndexesMethodContext) + + // EnterDropSearchIndexMethod is called when entering the dropSearchIndexMethod production. + EnterDropSearchIndexMethod(c *DropSearchIndexMethodContext) + + // EnterUpdateSearchIndexMethod is called when entering the updateSearchIndexMethod production. + EnterUpdateSearchIndexMethod(c *UpdateSearchIndexMethodContext) + // EnterSortMethod is called when entering the sortMethod production. EnterSortMethod(c *SortMethodContext) @@ -394,9 +598,6 @@ type MongoShellParserListener interface { // EnterAddOptionMethod is called when entering the addOptionMethod production. EnterAddOptionMethod(c *AddOptionMethodContext) - // EnterGenericMethod is called when entering the genericMethod production. - EnterGenericMethod(c *GenericMethodContext) - // EnterArguments is called when entering the arguments production. EnterArguments(c *ArgumentsContext) @@ -568,15 +769,153 @@ type MongoShellParserListener interface { // ExitGetSiblingDB is called when exiting the getSiblingDB production. ExitGetSiblingDB(c *GetSiblingDBContext) - // ExitDbGenericMethod is called when exiting the dbGenericMethod production. - ExitDbGenericMethod(c *DbGenericMethodContext) + // ExitDbAggregate is called when exiting the dbAggregate production. + ExitDbAggregate(c *DbAggregateContext) + + // ExitDbAuth is called when exiting the dbAuth production. + ExitDbAuth(c *DbAuthContext) + + // ExitDbChangeUserPassword is called when exiting the dbChangeUserPassword production. + ExitDbChangeUserPassword(c *DbChangeUserPasswordContext) + + // ExitDbCloneDatabase is called when exiting the dbCloneDatabase production. + ExitDbCloneDatabase(c *DbCloneDatabaseContext) + + // ExitDbCommandHelp is called when exiting the dbCommandHelp production. + ExitDbCommandHelp(c *DbCommandHelpContext) + + // ExitDbCopyDatabase is called when exiting the dbCopyDatabase production. + ExitDbCopyDatabase(c *DbCopyDatabaseContext) + + // ExitDbCreateRole is called when exiting the dbCreateRole production. + ExitDbCreateRole(c *DbCreateRoleContext) + + // ExitDbCreateUser is called when exiting the dbCreateUser production. + ExitDbCreateUser(c *DbCreateUserContext) + + // ExitDbCreateView is called when exiting the dbCreateView production. + ExitDbCreateView(c *DbCreateViewContext) + + // ExitDbCurrentOp is called when exiting the dbCurrentOp production. + ExitDbCurrentOp(c *DbCurrentOpContext) + + // ExitDbDropAllRoles is called when exiting the dbDropAllRoles production. + ExitDbDropAllRoles(c *DbDropAllRolesContext) + + // ExitDbDropAllUsers is called when exiting the dbDropAllUsers production. + ExitDbDropAllUsers(c *DbDropAllUsersContext) + + // ExitDbDropRole is called when exiting the dbDropRole production. + ExitDbDropRole(c *DbDropRoleContext) + + // ExitDbDropUser is called when exiting the dbDropUser production. + ExitDbDropUser(c *DbDropUserContext) + + // ExitDbFsyncLock is called when exiting the dbFsyncLock production. + ExitDbFsyncLock(c *DbFsyncLockContext) + + // ExitDbFsyncUnlock is called when exiting the dbFsyncUnlock production. + ExitDbFsyncUnlock(c *DbFsyncUnlockContext) + + // ExitDbGetLogComponents is called when exiting the dbGetLogComponents production. + ExitDbGetLogComponents(c *DbGetLogComponentsContext) + + // ExitDbGetProfilingLevel is called when exiting the dbGetProfilingLevel production. + ExitDbGetProfilingLevel(c *DbGetProfilingLevelContext) + + // ExitDbGetProfilingStatus is called when exiting the dbGetProfilingStatus production. + ExitDbGetProfilingStatus(c *DbGetProfilingStatusContext) + + // ExitDbGetReplicationInfo is called when exiting the dbGetReplicationInfo production. + ExitDbGetReplicationInfo(c *DbGetReplicationInfoContext) + + // ExitDbGetRole is called when exiting the dbGetRole production. + ExitDbGetRole(c *DbGetRoleContext) + + // ExitDbGetRoles is called when exiting the dbGetRoles production. + ExitDbGetRoles(c *DbGetRolesContext) + + // ExitDbGetUser is called when exiting the dbGetUser production. + ExitDbGetUser(c *DbGetUserContext) + + // ExitDbGetUsers is called when exiting the dbGetUsers production. + ExitDbGetUsers(c *DbGetUsersContext) + + // ExitDbGrantPrivilegesToRole is called when exiting the dbGrantPrivilegesToRole production. + ExitDbGrantPrivilegesToRole(c *DbGrantPrivilegesToRoleContext) + + // ExitDbGrantRolesToRole is called when exiting the dbGrantRolesToRole production. + ExitDbGrantRolesToRole(c *DbGrantRolesToRoleContext) + + // ExitDbGrantRolesToUser is called when exiting the dbGrantRolesToUser production. + ExitDbGrantRolesToUser(c *DbGrantRolesToUserContext) + + // ExitDbHello is called when exiting the dbHello production. + ExitDbHello(c *DbHelloContext) + + // ExitDbIsMaster is called when exiting the dbIsMaster production. + ExitDbIsMaster(c *DbIsMasterContext) + + // ExitDbKillOp is called when exiting the dbKillOp production. + ExitDbKillOp(c *DbKillOpContext) + + // ExitDbLogout is called when exiting the dbLogout production. + ExitDbLogout(c *DbLogoutContext) + + // ExitDbPrintCollectionStats is called when exiting the dbPrintCollectionStats production. + ExitDbPrintCollectionStats(c *DbPrintCollectionStatsContext) + + // ExitDbPrintReplicationInfo is called when exiting the dbPrintReplicationInfo production. + ExitDbPrintReplicationInfo(c *DbPrintReplicationInfoContext) + + // ExitDbPrintSecondaryReplicationInfo is called when exiting the dbPrintSecondaryReplicationInfo production. + ExitDbPrintSecondaryReplicationInfo(c *DbPrintSecondaryReplicationInfoContext) + + // ExitDbPrintShardingStatus is called when exiting the dbPrintShardingStatus production. + ExitDbPrintShardingStatus(c *DbPrintShardingStatusContext) + + // ExitDbPrintSlaveReplicationInfo is called when exiting the dbPrintSlaveReplicationInfo production. + ExitDbPrintSlaveReplicationInfo(c *DbPrintSlaveReplicationInfoContext) + + // ExitDbRevokePrivilegesFromRole is called when exiting the dbRevokePrivilegesFromRole production. + ExitDbRevokePrivilegesFromRole(c *DbRevokePrivilegesFromRoleContext) + + // ExitDbRevokeRolesFromRole is called when exiting the dbRevokeRolesFromRole production. + ExitDbRevokeRolesFromRole(c *DbRevokeRolesFromRoleContext) + + // ExitDbRevokeRolesFromUser is called when exiting the dbRevokeRolesFromUser production. + ExitDbRevokeRolesFromUser(c *DbRevokeRolesFromUserContext) + + // ExitDbRotateCertificates is called when exiting the dbRotateCertificates production. + ExitDbRotateCertificates(c *DbRotateCertificatesContext) + + // ExitDbSetLogLevel is called when exiting the dbSetLogLevel production. + ExitDbSetLogLevel(c *DbSetLogLevelContext) + + // ExitDbSetProfilingLevel is called when exiting the dbSetProfilingLevel production. + ExitDbSetProfilingLevel(c *DbSetProfilingLevelContext) + + // ExitDbSetSecondaryOk is called when exiting the dbSetSecondaryOk production. + ExitDbSetSecondaryOk(c *DbSetSecondaryOkContext) + + // ExitDbSetWriteConcern is called when exiting the dbSetWriteConcern production. + ExitDbSetWriteConcern(c *DbSetWriteConcernContext) + + // ExitDbShutdownServer is called when exiting the dbShutdownServer production. + ExitDbShutdownServer(c *DbShutdownServerContext) + + // ExitDbUpdateRole is called when exiting the dbUpdateRole production. + ExitDbUpdateRole(c *DbUpdateRoleContext) + + // ExitDbUpdateUser is called when exiting the dbUpdateUser production. + ExitDbUpdateUser(c *DbUpdateUserContext) + + // ExitDbWatch is called when exiting the dbWatch production. + ExitDbWatch(c *DbWatchContext) // ExitCollectionOperation is called when exiting the collectionOperation production. ExitCollectionOperation(c *CollectionOperationContext) - // ExitGenericDbMethod is called when exiting the genericDbMethod production. - ExitGenericDbMethod(c *GenericDbMethodContext) - // ExitBulkStatement is called when exiting the bulkStatement production. ExitBulkStatement(c *BulkStatementContext) @@ -697,8 +1036,11 @@ type MongoShellParserListener interface { // ExitMethodChain is called when exiting the methodChain production. ExitMethodChain(c *MethodChainContext) - // ExitMethodCall is called when exiting the methodCall production. - ExitMethodCall(c *MethodCallContext) + // ExitCollectionMethodCall is called when exiting the collectionMethodCall production. + ExitCollectionMethodCall(c *CollectionMethodCallContext) + + // ExitCursorMethodCall is called when exiting the cursorMethodCall production. + ExitCursorMethodCall(c *CursorMethodCallContext) // ExitFindMethod is called when exiting the findMethod production. ExitFindMethod(c *FindMethodContext) @@ -793,6 +1135,69 @@ type MongoShellParserListener interface { // ExitLatencyStatsMethod is called when exiting the latencyStatsMethod production. ExitLatencyStatsMethod(c *LatencyStatsMethodContext) + // ExitWatchMethod is called when exiting the watchMethod production. + ExitWatchMethod(c *WatchMethodContext) + + // ExitBulkWriteMethod is called when exiting the bulkWriteMethod production. + ExitBulkWriteMethod(c *BulkWriteMethodContext) + + // ExitCollectionCountMethod is called when exiting the collectionCountMethod production. + ExitCollectionCountMethod(c *CollectionCountMethodContext) + + // ExitCollectionInsertMethod is called when exiting the collectionInsertMethod production. + ExitCollectionInsertMethod(c *CollectionInsertMethodContext) + + // ExitCollectionRemoveMethod is called when exiting the collectionRemoveMethod production. + ExitCollectionRemoveMethod(c *CollectionRemoveMethodContext) + + // ExitUpdateMethod is called when exiting the updateMethod production. + ExitUpdateMethod(c *UpdateMethodContext) + + // ExitMapReduceMethod is called when exiting the mapReduceMethod production. + ExitMapReduceMethod(c *MapReduceMethodContext) + + // ExitFindAndModifyMethod is called when exiting the findAndModifyMethod production. + ExitFindAndModifyMethod(c *FindAndModifyMethodContext) + + // ExitCollectionExplainMethod is called when exiting the collectionExplainMethod production. + ExitCollectionExplainMethod(c *CollectionExplainMethodContext) + + // ExitAnalyzeShardKeyMethod is called when exiting the analyzeShardKeyMethod production. + ExitAnalyzeShardKeyMethod(c *AnalyzeShardKeyMethodContext) + + // ExitConfigureQueryAnalyzerMethod is called when exiting the configureQueryAnalyzerMethod production. + ExitConfigureQueryAnalyzerMethod(c *ConfigureQueryAnalyzerMethodContext) + + // ExitCompactStructuredEncryptionDataMethod is called when exiting the compactStructuredEncryptionDataMethod production. + ExitCompactStructuredEncryptionDataMethod(c *CompactStructuredEncryptionDataMethodContext) + + // ExitHideIndexMethod is called when exiting the hideIndexMethod production. + ExitHideIndexMethod(c *HideIndexMethodContext) + + // ExitUnhideIndexMethod is called when exiting the unhideIndexMethod production. + ExitUnhideIndexMethod(c *UnhideIndexMethodContext) + + // ExitReIndexMethod is called when exiting the reIndexMethod production. + ExitReIndexMethod(c *ReIndexMethodContext) + + // ExitGetShardDistributionMethod is called when exiting the getShardDistributionMethod production. + ExitGetShardDistributionMethod(c *GetShardDistributionMethodContext) + + // ExitGetShardVersionMethod is called when exiting the getShardVersionMethod production. + ExitGetShardVersionMethod(c *GetShardVersionMethodContext) + + // ExitCreateSearchIndexMethod is called when exiting the createSearchIndexMethod production. + ExitCreateSearchIndexMethod(c *CreateSearchIndexMethodContext) + + // ExitCreateSearchIndexesMethod is called when exiting the createSearchIndexesMethod production. + ExitCreateSearchIndexesMethod(c *CreateSearchIndexesMethodContext) + + // ExitDropSearchIndexMethod is called when exiting the dropSearchIndexMethod production. + ExitDropSearchIndexMethod(c *DropSearchIndexMethodContext) + + // ExitUpdateSearchIndexMethod is called when exiting the updateSearchIndexMethod production. + ExitUpdateSearchIndexMethod(c *UpdateSearchIndexMethodContext) + // ExitSortMethod is called when exiting the sortMethod production. ExitSortMethod(c *SortMethodContext) @@ -898,9 +1303,6 @@ type MongoShellParserListener interface { // ExitAddOptionMethod is called when exiting the addOptionMethod production. ExitAddOptionMethod(c *AddOptionMethodContext) - // ExitGenericMethod is called when exiting the genericMethod production. - ExitGenericMethod(c *GenericMethodContext) - // ExitArguments is called when exiting the arguments production. ExitArguments(c *ArgumentsContext) diff --git a/mongodb/mongoshellparser_visitor.go b/mongodb/mongoshellparser_visitor.go index 774b442..69d4488 100644 --- a/mongodb/mongoshellparser_visitor.go +++ b/mongodb/mongoshellparser_visitor.go @@ -64,15 +64,153 @@ type MongoShellParserVisitor interface { // Visit a parse tree produced by MongoShellParser#getSiblingDB. VisitGetSiblingDB(ctx *GetSiblingDBContext) interface{} - // Visit a parse tree produced by MongoShellParser#dbGenericMethod. - VisitDbGenericMethod(ctx *DbGenericMethodContext) interface{} + // Visit a parse tree produced by MongoShellParser#dbAggregate. + VisitDbAggregate(ctx *DbAggregateContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbAuth. + VisitDbAuth(ctx *DbAuthContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbChangeUserPassword. + VisitDbChangeUserPassword(ctx *DbChangeUserPasswordContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCloneDatabase. + VisitDbCloneDatabase(ctx *DbCloneDatabaseContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCommandHelp. + VisitDbCommandHelp(ctx *DbCommandHelpContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCopyDatabase. + VisitDbCopyDatabase(ctx *DbCopyDatabaseContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCreateRole. + VisitDbCreateRole(ctx *DbCreateRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCreateUser. + VisitDbCreateUser(ctx *DbCreateUserContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCreateView. + VisitDbCreateView(ctx *DbCreateViewContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbCurrentOp. + VisitDbCurrentOp(ctx *DbCurrentOpContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbDropAllRoles. + VisitDbDropAllRoles(ctx *DbDropAllRolesContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbDropAllUsers. + VisitDbDropAllUsers(ctx *DbDropAllUsersContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbDropRole. + VisitDbDropRole(ctx *DbDropRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbDropUser. + VisitDbDropUser(ctx *DbDropUserContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbFsyncLock. + VisitDbFsyncLock(ctx *DbFsyncLockContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbFsyncUnlock. + VisitDbFsyncUnlock(ctx *DbFsyncUnlockContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetLogComponents. + VisitDbGetLogComponents(ctx *DbGetLogComponentsContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetProfilingLevel. + VisitDbGetProfilingLevel(ctx *DbGetProfilingLevelContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetProfilingStatus. + VisitDbGetProfilingStatus(ctx *DbGetProfilingStatusContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetReplicationInfo. + VisitDbGetReplicationInfo(ctx *DbGetReplicationInfoContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetRole. + VisitDbGetRole(ctx *DbGetRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetRoles. + VisitDbGetRoles(ctx *DbGetRolesContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetUser. + VisitDbGetUser(ctx *DbGetUserContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGetUsers. + VisitDbGetUsers(ctx *DbGetUsersContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGrantPrivilegesToRole. + VisitDbGrantPrivilegesToRole(ctx *DbGrantPrivilegesToRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGrantRolesToRole. + VisitDbGrantRolesToRole(ctx *DbGrantRolesToRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbGrantRolesToUser. + VisitDbGrantRolesToUser(ctx *DbGrantRolesToUserContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbHello. + VisitDbHello(ctx *DbHelloContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbIsMaster. + VisitDbIsMaster(ctx *DbIsMasterContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbKillOp. + VisitDbKillOp(ctx *DbKillOpContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbLogout. + VisitDbLogout(ctx *DbLogoutContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbPrintCollectionStats. + VisitDbPrintCollectionStats(ctx *DbPrintCollectionStatsContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbPrintReplicationInfo. + VisitDbPrintReplicationInfo(ctx *DbPrintReplicationInfoContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbPrintSecondaryReplicationInfo. + VisitDbPrintSecondaryReplicationInfo(ctx *DbPrintSecondaryReplicationInfoContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbPrintShardingStatus. + VisitDbPrintShardingStatus(ctx *DbPrintShardingStatusContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbPrintSlaveReplicationInfo. + VisitDbPrintSlaveReplicationInfo(ctx *DbPrintSlaveReplicationInfoContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbRevokePrivilegesFromRole. + VisitDbRevokePrivilegesFromRole(ctx *DbRevokePrivilegesFromRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbRevokeRolesFromRole. + VisitDbRevokeRolesFromRole(ctx *DbRevokeRolesFromRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbRevokeRolesFromUser. + VisitDbRevokeRolesFromUser(ctx *DbRevokeRolesFromUserContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbRotateCertificates. + VisitDbRotateCertificates(ctx *DbRotateCertificatesContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbSetLogLevel. + VisitDbSetLogLevel(ctx *DbSetLogLevelContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbSetProfilingLevel. + VisitDbSetProfilingLevel(ctx *DbSetProfilingLevelContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbSetSecondaryOk. + VisitDbSetSecondaryOk(ctx *DbSetSecondaryOkContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbSetWriteConcern. + VisitDbSetWriteConcern(ctx *DbSetWriteConcernContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbShutdownServer. + VisitDbShutdownServer(ctx *DbShutdownServerContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbUpdateRole. + VisitDbUpdateRole(ctx *DbUpdateRoleContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbUpdateUser. + VisitDbUpdateUser(ctx *DbUpdateUserContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dbWatch. + VisitDbWatch(ctx *DbWatchContext) interface{} // Visit a parse tree produced by MongoShellParser#collectionOperation. VisitCollectionOperation(ctx *CollectionOperationContext) interface{} - // Visit a parse tree produced by MongoShellParser#genericDbMethod. - VisitGenericDbMethod(ctx *GenericDbMethodContext) interface{} - // Visit a parse tree produced by MongoShellParser#bulkStatement. VisitBulkStatement(ctx *BulkStatementContext) interface{} @@ -193,8 +331,11 @@ type MongoShellParserVisitor interface { // Visit a parse tree produced by MongoShellParser#methodChain. VisitMethodChain(ctx *MethodChainContext) interface{} - // Visit a parse tree produced by MongoShellParser#methodCall. - VisitMethodCall(ctx *MethodCallContext) interface{} + // Visit a parse tree produced by MongoShellParser#collectionMethodCall. + VisitCollectionMethodCall(ctx *CollectionMethodCallContext) interface{} + + // Visit a parse tree produced by MongoShellParser#cursorMethodCall. + VisitCursorMethodCall(ctx *CursorMethodCallContext) interface{} // Visit a parse tree produced by MongoShellParser#findMethod. VisitFindMethod(ctx *FindMethodContext) interface{} @@ -289,6 +430,69 @@ type MongoShellParserVisitor interface { // Visit a parse tree produced by MongoShellParser#latencyStatsMethod. VisitLatencyStatsMethod(ctx *LatencyStatsMethodContext) interface{} + // Visit a parse tree produced by MongoShellParser#watchMethod. + VisitWatchMethod(ctx *WatchMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#bulkWriteMethod. + VisitBulkWriteMethod(ctx *BulkWriteMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#collectionCountMethod. + VisitCollectionCountMethod(ctx *CollectionCountMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#collectionInsertMethod. + VisitCollectionInsertMethod(ctx *CollectionInsertMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#collectionRemoveMethod. + VisitCollectionRemoveMethod(ctx *CollectionRemoveMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#updateMethod. + VisitUpdateMethod(ctx *UpdateMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#mapReduceMethod. + VisitMapReduceMethod(ctx *MapReduceMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#findAndModifyMethod. + VisitFindAndModifyMethod(ctx *FindAndModifyMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#collectionExplainMethod. + VisitCollectionExplainMethod(ctx *CollectionExplainMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#analyzeShardKeyMethod. + VisitAnalyzeShardKeyMethod(ctx *AnalyzeShardKeyMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#configureQueryAnalyzerMethod. + VisitConfigureQueryAnalyzerMethod(ctx *ConfigureQueryAnalyzerMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#compactStructuredEncryptionDataMethod. + VisitCompactStructuredEncryptionDataMethod(ctx *CompactStructuredEncryptionDataMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#hideIndexMethod. + VisitHideIndexMethod(ctx *HideIndexMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#unhideIndexMethod. + VisitUnhideIndexMethod(ctx *UnhideIndexMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#reIndexMethod. + VisitReIndexMethod(ctx *ReIndexMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#getShardDistributionMethod. + VisitGetShardDistributionMethod(ctx *GetShardDistributionMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#getShardVersionMethod. + VisitGetShardVersionMethod(ctx *GetShardVersionMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#createSearchIndexMethod. + VisitCreateSearchIndexMethod(ctx *CreateSearchIndexMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#createSearchIndexesMethod. + VisitCreateSearchIndexesMethod(ctx *CreateSearchIndexesMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#dropSearchIndexMethod. + VisitDropSearchIndexMethod(ctx *DropSearchIndexMethodContext) interface{} + + // Visit a parse tree produced by MongoShellParser#updateSearchIndexMethod. + VisitUpdateSearchIndexMethod(ctx *UpdateSearchIndexMethodContext) interface{} + // Visit a parse tree produced by MongoShellParser#sortMethod. VisitSortMethod(ctx *SortMethodContext) interface{} @@ -394,9 +598,6 @@ type MongoShellParserVisitor interface { // Visit a parse tree produced by MongoShellParser#addOptionMethod. VisitAddOptionMethod(ctx *AddOptionMethodContext) interface{} - // Visit a parse tree produced by MongoShellParser#genericMethod. - VisitGenericMethod(ctx *GenericMethodContext) interface{} - // Visit a parse tree produced by MongoShellParser#arguments. VisitArguments(ctx *ArgumentsContext) interface{}