dt-sql-parser 4.0.0-ng.2 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +119 -112
  2. package/dist/index.d.ts +7 -9
  3. package/dist/index.js +4 -7
  4. package/dist/lib/SQLParserBase.d.ts +8 -0
  5. package/dist/lib/SQLParserBase.js +14 -0
  6. package/dist/lib/{flinksql → flink}/FlinkSqlLexer.d.ts +2 -2
  7. package/dist/lib/{flinksql → flink}/FlinkSqlLexer.js +2 -1
  8. package/dist/lib/{flinksql → flink}/FlinkSqlParser.d.ts +5 -11
  9. package/dist/lib/{flinksql → flink}/FlinkSqlParser.js +2065 -2054
  10. package/dist/lib/{flinksql → flink}/FlinkSqlParserListener.d.ts +0 -13
  11. package/dist/lib/{flinksql → flink}/FlinkSqlParserListener.js +1 -1
  12. package/dist/lib/{flinksql → flink}/FlinkSqlParserVisitor.d.ts +0 -8
  13. package/dist/lib/{flinksql → flink}/FlinkSqlParserVisitor.js +2 -1
  14. package/dist/lib/hive/HiveSqlLexer.d.ts +258 -257
  15. package/dist/lib/hive/HiveSqlLexer.js +1794 -1786
  16. package/dist/lib/hive/HiveSqlParser.d.ts +1266 -3176
  17. package/dist/lib/hive/HiveSqlParser.js +23046 -33454
  18. package/dist/lib/hive/HiveSqlParserListener.d.ts +141 -2036
  19. package/dist/lib/hive/HiveSqlParserVisitor.d.ts +151 -1358
  20. package/dist/lib/hive/HiveSqlParserVisitor.js +1 -0
  21. package/dist/lib/impala/ImpalaSqlLexer.d.ts +170 -154
  22. package/dist/lib/impala/ImpalaSqlLexer.js +1179 -1099
  23. package/dist/lib/impala/ImpalaSqlParser.d.ts +282 -240
  24. package/dist/lib/impala/ImpalaSqlParser.js +3881 -3744
  25. package/dist/lib/impala/ImpalaSqlParserListener.d.ts +22 -11
  26. package/dist/lib/impala/ImpalaSqlParserVisitor.d.ts +14 -7
  27. package/dist/lib/impala/ImpalaSqlParserVisitor.js +1 -0
  28. package/dist/lib/index.d.ts +6 -8
  29. package/dist/lib/index.js +6 -8
  30. package/dist/lib/mysql/MySqlLexer.d.ts +2 -2
  31. package/dist/lib/mysql/MySqlLexer.js +1 -0
  32. package/dist/lib/mysql/MySqlParser.d.ts +347 -418
  33. package/dist/lib/mysql/MySqlParser.js +10484 -11099
  34. package/dist/lib/mysql/MySqlParserListener.d.ts +41 -126
  35. package/dist/lib/mysql/MySqlParserVisitor.d.ts +23 -76
  36. package/dist/lib/mysql/MySqlParserVisitor.js +1 -0
  37. package/dist/lib/{pgsql/PostgreSQLLexer.d.ts → postgresql/PostgreSqlLexer.d.ts} +3 -3
  38. package/dist/lib/{pgsql/PostgreSQLLexer.js → postgresql/PostgreSqlLexer.js} +618 -617
  39. package/dist/lib/{pgsql/PostgreSQLParser.d.ts → postgresql/PostgreSqlParser.d.ts} +3598 -3484
  40. package/dist/lib/{pgsql/PostgreSQLParser.js → postgresql/PostgreSqlParser.js} +41502 -42831
  41. package/dist/lib/{pgsql/PostgreSQLParserListener.d.ts → postgresql/PostgreSqlParserListener.d.ts} +2797 -2730
  42. package/dist/lib/{pgsql/PostgreSQLParserListener.js → postgresql/PostgreSqlParserListener.js} +3 -3
  43. package/dist/lib/{pgsql/PostgreSQLParserVisitor.d.ts → postgresql/PostgreSqlParserVisitor.d.ts} +1845 -1810
  44. package/dist/lib/{pgsql/PostgreSQLParserVisitor.js → postgresql/PostgreSqlParserVisitor.js} +4 -3
  45. package/dist/lib/spark/SparkSqlLexer.d.ts +305 -298
  46. package/dist/lib/spark/SparkSqlLexer.js +1777 -1735
  47. package/dist/lib/spark/SparkSqlParser.d.ts +1764 -669
  48. package/dist/lib/spark/SparkSqlParser.js +15460 -10769
  49. package/dist/lib/spark/SparkSqlParserListener.d.ts +1285 -35
  50. package/dist/lib/spark/SparkSqlParserVisitor.d.ts +790 -21
  51. package/dist/lib/spark/SparkSqlParserVisitor.js +1 -0
  52. package/dist/lib/{trinosql → trino}/TrinoSqlLexer.d.ts +2 -2
  53. package/dist/lib/{trinosql → trino}/TrinoSqlLexer.js +2 -1
  54. package/dist/lib/{trinosql → trino}/TrinoSqlListener.d.ts +7 -5
  55. package/dist/lib/{trinosql → trino}/TrinoSqlListener.js +1 -1
  56. package/dist/lib/{trinosql → trino}/TrinoSqlParser.d.ts +11 -5
  57. package/dist/lib/{trinosql → trino}/TrinoSqlParser.js +360 -320
  58. package/dist/lib/{trinosql → trino}/TrinoSqlVisitor.d.ts +4 -3
  59. package/dist/lib/{trinosql → trino}/TrinoSqlVisitor.js +2 -1
  60. package/dist/parser/common/{basicParser.d.ts → basicSQL.d.ts} +22 -19
  61. package/dist/parser/common/{basicParser.js → basicSQL.js} +52 -34
  62. package/dist/parser/common/entityCollector.d.ts +78 -0
  63. package/dist/parser/common/entityCollector.js +191 -0
  64. package/dist/parser/common/{utils/findCaretTokenIndex.d.ts → findCaretTokenIndex.d.ts} +2 -2
  65. package/dist/parser/common/{utils/findCaretTokenIndex.js → findCaretTokenIndex.js} +3 -2
  66. package/dist/parser/common/parseErrorListener.d.ts +6 -6
  67. package/dist/parser/common/parseErrorListener.js +1 -1
  68. package/dist/parser/common/simpleStack.d.ts +10 -0
  69. package/dist/parser/common/simpleStack.js +23 -0
  70. package/dist/parser/common/splitListener.d.ts +8 -0
  71. package/dist/parser/common/splitListener.js +12 -0
  72. package/dist/parser/common/textAndWord.d.ts +52 -0
  73. package/dist/parser/common/textAndWord.js +58 -0
  74. package/dist/parser/common/{basic-parser-types.d.ts → types.d.ts} +4 -31
  75. package/dist/parser/common/types.js +34 -0
  76. package/dist/parser/flink/flinkEntityCollector.d.ts +33 -0
  77. package/dist/parser/flink/flinkEntityCollector.js +84 -0
  78. package/dist/parser/flink/flinkSplitListener.d.ts +6 -0
  79. package/dist/parser/flink/flinkSplitListener.js +6 -0
  80. package/dist/parser/flink/index.d.ts +17 -0
  81. package/dist/parser/{flinksql.js → flink/index.js} +26 -37
  82. package/dist/parser/hive/hiveEntityCollector.d.ts +35 -0
  83. package/dist/parser/hive/hiveEntityCollector.js +90 -0
  84. package/dist/parser/hive/hiveSplitListener.d.ts +6 -0
  85. package/dist/parser/hive/hiveSplitListener.js +6 -0
  86. package/dist/parser/hive/index.d.ts +17 -0
  87. package/dist/parser/{hive.js → hive/index.js} +24 -34
  88. package/dist/parser/impala/impalaEntityCollector.d.ts +35 -0
  89. package/dist/parser/impala/impalaEntityCollector.js +90 -0
  90. package/dist/parser/impala/impalaSplitListener.d.ts +6 -0
  91. package/dist/parser/impala/impalaSplitListener.js +6 -0
  92. package/dist/parser/impala/index.d.ts +17 -0
  93. package/dist/parser/{impala.js → impala/index.js} +24 -34
  94. package/dist/parser/index.d.ts +7 -8
  95. package/dist/parser/index.js +7 -8
  96. package/dist/parser/mysql/index.d.ts +17 -0
  97. package/dist/parser/{mysql.js → mysql/index.js} +24 -34
  98. package/dist/parser/mysql/mysqlEntityCollector.d.ts +37 -0
  99. package/dist/parser/mysql/mysqlEntityCollector.js +96 -0
  100. package/dist/parser/mysql/mysqlSplitListener.d.ts +6 -0
  101. package/dist/parser/mysql/mysqlSplitListener.js +6 -0
  102. package/dist/parser/postgresql/index.d.ts +17 -0
  103. package/dist/parser/postgresql/index.js +130 -0
  104. package/dist/parser/postgresql/postgreEntityCollector.d.ts +37 -0
  105. package/dist/parser/postgresql/postgreEntityCollector.js +96 -0
  106. package/dist/parser/postgresql/postgreSplitListener.d.ts +6 -0
  107. package/dist/parser/postgresql/postgreSplitListener.js +6 -0
  108. package/dist/parser/spark/index.d.ts +17 -0
  109. package/dist/parser/{spark.js → spark/index.js} +29 -40
  110. package/dist/parser/spark/sparkEntityCollector.d.ts +37 -0
  111. package/dist/parser/spark/sparkEntityCollector.js +96 -0
  112. package/dist/parser/spark/sparkSplitListener.d.ts +6 -0
  113. package/dist/parser/spark/sparkSplitListener.js +6 -0
  114. package/dist/parser/trino/index.d.ts +17 -0
  115. package/dist/parser/{trinosql.js → trino/index.js} +25 -36
  116. package/dist/parser/trino/trinoEntityCollector.d.ts +30 -0
  117. package/dist/parser/trino/trinoEntityCollector.js +75 -0
  118. package/dist/parser/trino/trinoSplitListener.d.ts +6 -0
  119. package/dist/parser/trino/trinoSplitListener.js +6 -0
  120. package/package.json +1 -1
  121. package/dist/lib/plsql/PlSqlBaseLexer.d.ts +0 -5
  122. package/dist/lib/plsql/PlSqlBaseLexer.js +0 -7
  123. package/dist/lib/plsql/PlSqlBaseParser.d.ts +0 -10
  124. package/dist/lib/plsql/PlSqlBaseParser.js +0 -22
  125. package/dist/lib/plsql/PlSqlLexer.d.ts +0 -2381
  126. package/dist/lib/plsql/PlSqlLexer.js +0 -16440
  127. package/dist/lib/plsql/PlSqlParser.d.ts +0 -17080
  128. package/dist/lib/plsql/PlSqlParser.js +0 -184484
  129. package/dist/lib/plsql/PlSqlParserListener.d.ts +0 -8003
  130. package/dist/lib/plsql/PlSqlParserListener.js +0 -11
  131. package/dist/lib/plsql/PlSqlParserVisitor.d.ts +0 -5095
  132. package/dist/lib/plsql/PlSqlParserVisitor.js +0 -11
  133. package/dist/parser/common/basic-parser-types.js +0 -34
  134. package/dist/parser/flinksql.d.ts +0 -23
  135. package/dist/parser/hive.d.ts +0 -23
  136. package/dist/parser/impala.d.ts +0 -23
  137. package/dist/parser/mysql.d.ts +0 -23
  138. package/dist/parser/pgsql.d.ts +0 -23
  139. package/dist/parser/pgsql.js +0 -140
  140. package/dist/parser/plsql.d.ts +0 -13
  141. package/dist/parser/plsql.js +0 -25
  142. package/dist/parser/spark.d.ts +0 -23
  143. package/dist/parser/trinosql.d.ts +0 -23
  144. package/dist/utils/index.d.ts +0 -19
  145. package/dist/utils/index.js +0 -170
  146. package/dist/utils/token.d.ts +0 -59
  147. package/dist/utils/token.js +0 -48
@@ -1,6 +1,8 @@
1
- // Generated from dt-sql-parser/src/grammar/trinosql/TrinoSql.g4 by ANTLR 4.13.1
1
+ // Generated from dt-sql-parser/src/grammar/trino/TrinoSql.g4 by ANTLR 4.13.1
2
+ // @ts-nocheck
2
3
  import * as antlr from "antlr4ng";
3
- class TrinoSqlParser extends antlr.Parser {
4
+ import { SQLParserBase } from '../SQLParserBase';
5
+ class TrinoSqlParser extends SQLParserBase {
4
6
  get grammarFileName() { return "TrinoSql.g4"; }
5
7
  get literalNames() { return TrinoSqlParser.literalNames; }
6
8
  get symbolicNames() { return TrinoSqlParser.symbolicNames; }
@@ -2780,6 +2782,7 @@ class TrinoSqlParser extends antlr.Parser {
2780
2782
  this.enterRule(localContext, 18, TrinoSqlParser.RULE_query);
2781
2783
  let _la;
2782
2784
  try {
2785
+ localContext = new QueryStatementContext(localContext);
2783
2786
  this.enterOuterAlt(localContext, 1);
2784
2787
  {
2785
2788
  this.state = 1039;
@@ -4091,28 +4094,29 @@ class TrinoSqlParser extends antlr.Parser {
4091
4094
  this.match(TrinoSqlParser.T__0);
4092
4095
  this.state = 1258;
4093
4096
  this.errorHandler.sync(this);
4094
- _la = this.tokenStream.LA(1);
4095
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2069757954) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1476117503) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2120217677) !== 0) || ((((_la - 97)) & ~0x1F) === 0 && ((1 << (_la - 97)) & 4252345787) !== 0) || ((((_la - 129)) & ~0x1F) === 0 && ((1 << (_la - 129)) & 1325399551) !== 0) || ((((_la - 161)) & ~0x1F) === 0 && ((1 << (_la - 161)) & 3153981439) !== 0) || ((((_la - 193)) & ~0x1F) === 0 && ((1 << (_la - 193)) & 4286054271) !== 0) || ((((_la - 225)) & ~0x1F) === 0 && ((1 << (_la - 225)) & 3237637037) !== 0) || ((((_la - 261)) & ~0x1F) === 0 && ((1 << (_la - 261)) & 2047) !== 0)) {
4096
- {
4097
- this.state = 1250;
4098
- this.groupingTerm();
4099
- this.state = 1255;
4100
- this.errorHandler.sync(this);
4101
- _la = this.tokenStream.LA(1);
4102
- while (_la === 3) {
4103
- {
4097
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 157, this.context)) {
4098
+ case 1:
4099
+ {
4100
+ this.state = 1250;
4101
+ this.groupingTerm();
4102
+ this.state = 1255;
4103
+ this.errorHandler.sync(this);
4104
+ _la = this.tokenStream.LA(1);
4105
+ while (_la === 3) {
4104
4106
  {
4105
- this.state = 1251;
4106
- this.match(TrinoSqlParser.T__2);
4107
- this.state = 1252;
4108
- this.groupingTerm();
4107
+ {
4108
+ this.state = 1251;
4109
+ this.match(TrinoSqlParser.T__2);
4110
+ this.state = 1252;
4111
+ this.groupingTerm();
4112
+ }
4109
4113
  }
4114
+ this.state = 1257;
4115
+ this.errorHandler.sync(this);
4116
+ _la = this.tokenStream.LA(1);
4110
4117
  }
4111
- this.state = 1257;
4112
- this.errorHandler.sync(this);
4113
- _la = this.tokenStream.LA(1);
4114
4118
  }
4115
- }
4119
+ break;
4116
4120
  }
4117
4121
  this.state = 1260;
4118
4122
  this.match(TrinoSqlParser.T__1);
@@ -4128,28 +4132,29 @@ class TrinoSqlParser extends antlr.Parser {
4128
4132
  this.match(TrinoSqlParser.T__0);
4129
4133
  this.state = 1271;
4130
4134
  this.errorHandler.sync(this);
4131
- _la = this.tokenStream.LA(1);
4132
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2069757954) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1476117503) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2120217677) !== 0) || ((((_la - 97)) & ~0x1F) === 0 && ((1 << (_la - 97)) & 4252345787) !== 0) || ((((_la - 129)) & ~0x1F) === 0 && ((1 << (_la - 129)) & 1325399551) !== 0) || ((((_la - 161)) & ~0x1F) === 0 && ((1 << (_la - 161)) & 3153981439) !== 0) || ((((_la - 193)) & ~0x1F) === 0 && ((1 << (_la - 193)) & 4286054271) !== 0) || ((((_la - 225)) & ~0x1F) === 0 && ((1 << (_la - 225)) & 3237637037) !== 0) || ((((_la - 261)) & ~0x1F) === 0 && ((1 << (_la - 261)) & 2047) !== 0)) {
4133
- {
4134
- this.state = 1263;
4135
- this.groupingTerm();
4136
- this.state = 1268;
4137
- this.errorHandler.sync(this);
4138
- _la = this.tokenStream.LA(1);
4139
- while (_la === 3) {
4140
- {
4135
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 159, this.context)) {
4136
+ case 1:
4137
+ {
4138
+ this.state = 1263;
4139
+ this.groupingTerm();
4140
+ this.state = 1268;
4141
+ this.errorHandler.sync(this);
4142
+ _la = this.tokenStream.LA(1);
4143
+ while (_la === 3) {
4141
4144
  {
4142
- this.state = 1264;
4143
- this.match(TrinoSqlParser.T__2);
4144
- this.state = 1265;
4145
- this.groupingTerm();
4145
+ {
4146
+ this.state = 1264;
4147
+ this.match(TrinoSqlParser.T__2);
4148
+ this.state = 1265;
4149
+ this.groupingTerm();
4150
+ }
4146
4151
  }
4152
+ this.state = 1270;
4153
+ this.errorHandler.sync(this);
4154
+ _la = this.tokenStream.LA(1);
4147
4155
  }
4148
- this.state = 1270;
4149
- this.errorHandler.sync(this);
4150
- _la = this.tokenStream.LA(1);
4151
4156
  }
4152
- }
4157
+ break;
4153
4158
  }
4154
4159
  this.state = 1273;
4155
4160
  this.match(TrinoSqlParser.T__1);
@@ -4219,28 +4224,29 @@ class TrinoSqlParser extends antlr.Parser {
4219
4224
  this.match(TrinoSqlParser.T__0);
4220
4225
  this.state = 1298;
4221
4226
  this.errorHandler.sync(this);
4222
- _la = this.tokenStream.LA(1);
4223
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2069757954) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1476117503) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & 2120217677) !== 0) || ((((_la - 97)) & ~0x1F) === 0 && ((1 << (_la - 97)) & 4252345787) !== 0) || ((((_la - 129)) & ~0x1F) === 0 && ((1 << (_la - 129)) & 1325399551) !== 0) || ((((_la - 161)) & ~0x1F) === 0 && ((1 << (_la - 161)) & 3153981439) !== 0) || ((((_la - 193)) & ~0x1F) === 0 && ((1 << (_la - 193)) & 4286054271) !== 0) || ((((_la - 225)) & ~0x1F) === 0 && ((1 << (_la - 225)) & 3237637037) !== 0) || ((((_la - 261)) & ~0x1F) === 0 && ((1 << (_la - 261)) & 2047) !== 0)) {
4224
- {
4225
- this.state = 1290;
4226
- this.groupingTerm();
4227
- this.state = 1295;
4228
- this.errorHandler.sync(this);
4229
- _la = this.tokenStream.LA(1);
4230
- while (_la === 3) {
4231
- {
4227
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 163, this.context)) {
4228
+ case 1:
4229
+ {
4230
+ this.state = 1290;
4231
+ this.groupingTerm();
4232
+ this.state = 1295;
4233
+ this.errorHandler.sync(this);
4234
+ _la = this.tokenStream.LA(1);
4235
+ while (_la === 3) {
4232
4236
  {
4233
- this.state = 1291;
4234
- this.match(TrinoSqlParser.T__2);
4235
- this.state = 1292;
4236
- this.groupingTerm();
4237
+ {
4238
+ this.state = 1291;
4239
+ this.match(TrinoSqlParser.T__2);
4240
+ this.state = 1292;
4241
+ this.groupingTerm();
4242
+ }
4237
4243
  }
4244
+ this.state = 1297;
4245
+ this.errorHandler.sync(this);
4246
+ _la = this.tokenStream.LA(1);
4238
4247
  }
4239
- this.state = 1297;
4240
- this.errorHandler.sync(this);
4241
- _la = this.tokenStream.LA(1);
4242
4248
  }
4243
- }
4249
+ break;
4244
4250
  }
4245
4251
  this.state = 1300;
4246
4252
  this.match(TrinoSqlParser.T__1);
@@ -10372,10 +10378,25 @@ class TrinoSqlParser extends antlr.Parser {
10372
10378
  let localContext = new ColumnNameContext(this.context, this.state);
10373
10379
  this.enterRule(localContext, 200, TrinoSqlParser.RULE_columnName);
10374
10380
  try {
10375
- this.enterOuterAlt(localContext, 1);
10376
- {
10377
- this.state = 2549;
10378
- this.qualifiedName();
10381
+ this.state = 2551;
10382
+ this.errorHandler.sync(this);
10383
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 330, this.context)) {
10384
+ case 1:
10385
+ this.enterOuterAlt(localContext, 1);
10386
+ {
10387
+ this.state = 2549;
10388
+ this.qualifiedName();
10389
+ }
10390
+ break;
10391
+ case 2:
10392
+ this.enterOuterAlt(localContext, 2);
10393
+ {
10394
+ this.state = 2550;
10395
+ if (!(this.shouldMatchEmpty())) {
10396
+ throw this.createFailedPredicateException("this.shouldMatchEmpty()");
10397
+ }
10398
+ }
10399
+ break;
10379
10400
  }
10380
10401
  }
10381
10402
  catch (re) {
@@ -10399,7 +10420,7 @@ class TrinoSqlParser extends antlr.Parser {
10399
10420
  try {
10400
10421
  this.enterOuterAlt(localContext, 1);
10401
10422
  {
10402
- this.state = 2551;
10423
+ this.state = 2553;
10403
10424
  this.identifier();
10404
10425
  }
10405
10426
  }
@@ -10425,25 +10446,25 @@ class TrinoSqlParser extends antlr.Parser {
10425
10446
  let alternative;
10426
10447
  this.enterOuterAlt(localContext, 1);
10427
10448
  {
10428
- this.state = 2553;
10449
+ this.state = 2555;
10429
10450
  this.identifier();
10430
- this.state = 2558;
10451
+ this.state = 2560;
10431
10452
  this.errorHandler.sync(this);
10432
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 330, this.context);
10453
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 331, this.context);
10433
10454
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
10434
10455
  if (alternative === 1) {
10435
10456
  {
10436
10457
  {
10437
- this.state = 2554;
10458
+ this.state = 2556;
10438
10459
  this.match(TrinoSqlParser.T__3);
10439
- this.state = 2555;
10460
+ this.state = 2557;
10440
10461
  this.identifier();
10441
10462
  }
10442
10463
  }
10443
10464
  }
10444
- this.state = 2560;
10465
+ this.state = 2562;
10445
10466
  this.errorHandler.sync(this);
10446
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 330, this.context);
10467
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 331, this.context);
10447
10468
  }
10448
10469
  }
10449
10470
  }
@@ -10466,7 +10487,7 @@ class TrinoSqlParser extends antlr.Parser {
10466
10487
  let localContext = new GrantorContext(this.context, this.state);
10467
10488
  this.enterRule(localContext, 206, TrinoSqlParser.RULE_grantor);
10468
10489
  try {
10469
- this.state = 2564;
10490
+ this.state = 2566;
10470
10491
  this.errorHandler.sync(this);
10471
10492
  switch (this.tokenStream.LA(1)) {
10472
10493
  case TrinoSqlParser.KW_ADD:
@@ -10635,7 +10656,7 @@ class TrinoSqlParser extends antlr.Parser {
10635
10656
  localContext = new SpecifiedPrincipalContext(localContext);
10636
10657
  this.enterOuterAlt(localContext, 1);
10637
10658
  {
10638
- this.state = 2561;
10659
+ this.state = 2563;
10639
10660
  this.principal();
10640
10661
  }
10641
10662
  break;
@@ -10643,7 +10664,7 @@ class TrinoSqlParser extends antlr.Parser {
10643
10664
  localContext = new CurrentUserGrantorContext(localContext);
10644
10665
  this.enterOuterAlt(localContext, 2);
10645
10666
  {
10646
- this.state = 2562;
10667
+ this.state = 2564;
10647
10668
  this.match(TrinoSqlParser.KW_CURRENT_USER);
10648
10669
  }
10649
10670
  break;
@@ -10651,7 +10672,7 @@ class TrinoSqlParser extends antlr.Parser {
10651
10672
  localContext = new CurrentRoleGrantorContext(localContext);
10652
10673
  this.enterOuterAlt(localContext, 3);
10653
10674
  {
10654
- this.state = 2563;
10675
+ this.state = 2565;
10655
10676
  this.match(TrinoSqlParser.KW_CURRENT_ROLE);
10656
10677
  }
10657
10678
  break;
@@ -10678,14 +10699,14 @@ class TrinoSqlParser extends antlr.Parser {
10678
10699
  let localContext = new PrincipalContext(this.context, this.state);
10679
10700
  this.enterRule(localContext, 208, TrinoSqlParser.RULE_principal);
10680
10701
  try {
10681
- this.state = 2571;
10702
+ this.state = 2573;
10682
10703
  this.errorHandler.sync(this);
10683
- switch (this.interpreter.adaptivePredict(this.tokenStream, 332, this.context)) {
10704
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 333, this.context)) {
10684
10705
  case 1:
10685
10706
  localContext = new UnspecifiedPrincipalContext(localContext);
10686
10707
  this.enterOuterAlt(localContext, 1);
10687
10708
  {
10688
- this.state = 2566;
10709
+ this.state = 2568;
10689
10710
  this.identifier();
10690
10711
  }
10691
10712
  break;
@@ -10693,9 +10714,9 @@ class TrinoSqlParser extends antlr.Parser {
10693
10714
  localContext = new UserPrincipalContext(localContext);
10694
10715
  this.enterOuterAlt(localContext, 2);
10695
10716
  {
10696
- this.state = 2567;
10717
+ this.state = 2569;
10697
10718
  this.match(TrinoSqlParser.KW_USER);
10698
- this.state = 2568;
10719
+ this.state = 2570;
10699
10720
  this.identifier();
10700
10721
  }
10701
10722
  break;
@@ -10703,9 +10724,9 @@ class TrinoSqlParser extends antlr.Parser {
10703
10724
  localContext = new RolePrincipalContext(localContext);
10704
10725
  this.enterOuterAlt(localContext, 3);
10705
10726
  {
10706
- this.state = 2569;
10727
+ this.state = 2571;
10707
10728
  this.match(TrinoSqlParser.KW_ROLE);
10708
- this.state = 2570;
10729
+ this.state = 2572;
10709
10730
  this.identifier();
10710
10731
  }
10711
10732
  break;
@@ -10733,21 +10754,21 @@ class TrinoSqlParser extends antlr.Parser {
10733
10754
  try {
10734
10755
  this.enterOuterAlt(localContext, 1);
10735
10756
  {
10736
- this.state = 2573;
10757
+ this.state = 2575;
10737
10758
  this.identifier();
10738
- this.state = 2578;
10759
+ this.state = 2580;
10739
10760
  this.errorHandler.sync(this);
10740
10761
  _la = this.tokenStream.LA(1);
10741
10762
  while (_la === 3) {
10742
10763
  {
10743
10764
  {
10744
- this.state = 2574;
10765
+ this.state = 2576;
10745
10766
  this.match(TrinoSqlParser.T__2);
10746
- this.state = 2575;
10767
+ this.state = 2577;
10747
10768
  this.identifier();
10748
10769
  }
10749
10770
  }
10750
- this.state = 2580;
10771
+ this.state = 2582;
10751
10772
  this.errorHandler.sync(this);
10752
10773
  _la = this.tokenStream.LA(1);
10753
10774
  }
@@ -10772,14 +10793,14 @@ class TrinoSqlParser extends antlr.Parser {
10772
10793
  let localContext = new IdentifierContext(this.context, this.state);
10773
10794
  this.enterRule(localContext, 212, TrinoSqlParser.RULE_identifier);
10774
10795
  try {
10775
- this.state = 2586;
10796
+ this.state = 2588;
10776
10797
  this.errorHandler.sync(this);
10777
10798
  switch (this.tokenStream.LA(1)) {
10778
10799
  case TrinoSqlParser.IDENTIFIER:
10779
10800
  localContext = new UnquotedIdentifierContext(localContext);
10780
10801
  this.enterOuterAlt(localContext, 1);
10781
10802
  {
10782
- this.state = 2581;
10803
+ this.state = 2583;
10783
10804
  this.match(TrinoSqlParser.IDENTIFIER);
10784
10805
  }
10785
10806
  break;
@@ -10787,7 +10808,7 @@ class TrinoSqlParser extends antlr.Parser {
10787
10808
  localContext = new QuotedIdentifierContext(localContext);
10788
10809
  this.enterOuterAlt(localContext, 2);
10789
10810
  {
10790
- this.state = 2582;
10811
+ this.state = 2584;
10791
10812
  this.match(TrinoSqlParser.QUOTED_IDENTIFIER);
10792
10813
  }
10793
10814
  break;
@@ -10953,7 +10974,7 @@ class TrinoSqlParser extends antlr.Parser {
10953
10974
  localContext = new UnquotedIdentifierContext(localContext);
10954
10975
  this.enterOuterAlt(localContext, 3);
10955
10976
  {
10956
- this.state = 2583;
10977
+ this.state = 2585;
10957
10978
  this.nonReserved();
10958
10979
  }
10959
10980
  break;
@@ -10961,7 +10982,7 @@ class TrinoSqlParser extends antlr.Parser {
10961
10982
  localContext = new BackQuotedIdentifierContext(localContext);
10962
10983
  this.enterOuterAlt(localContext, 4);
10963
10984
  {
10964
- this.state = 2584;
10985
+ this.state = 2586;
10965
10986
  this.match(TrinoSqlParser.BACKQUOTED_IDENTIFIER);
10966
10987
  }
10967
10988
  break;
@@ -10969,7 +10990,7 @@ class TrinoSqlParser extends antlr.Parser {
10969
10990
  localContext = new DigitIdentifierContext(localContext);
10970
10991
  this.enterOuterAlt(localContext, 5);
10971
10992
  {
10972
- this.state = 2585;
10993
+ this.state = 2587;
10973
10994
  this.match(TrinoSqlParser.DIGIT_IDENTIFIER);
10974
10995
  }
10975
10996
  break;
@@ -10997,23 +11018,23 @@ class TrinoSqlParser extends antlr.Parser {
10997
11018
  this.enterRule(localContext, 214, TrinoSqlParser.RULE_number);
10998
11019
  let _la;
10999
11020
  try {
11000
- this.state = 2600;
11021
+ this.state = 2602;
11001
11022
  this.errorHandler.sync(this);
11002
- switch (this.interpreter.adaptivePredict(this.tokenStream, 338, this.context)) {
11023
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 339, this.context)) {
11003
11024
  case 1:
11004
11025
  localContext = new DecimalLiteralContext(localContext);
11005
11026
  this.enterOuterAlt(localContext, 1);
11006
11027
  {
11007
- this.state = 2589;
11028
+ this.state = 2591;
11008
11029
  this.errorHandler.sync(this);
11009
11030
  _la = this.tokenStream.LA(1);
11010
11031
  if (_la === 256) {
11011
11032
  {
11012
- this.state = 2588;
11033
+ this.state = 2590;
11013
11034
  this.match(TrinoSqlParser.MINUS);
11014
11035
  }
11015
11036
  }
11016
- this.state = 2591;
11037
+ this.state = 2593;
11017
11038
  this.match(TrinoSqlParser.DECIMAL_VALUE);
11018
11039
  }
11019
11040
  break;
@@ -11021,16 +11042,16 @@ class TrinoSqlParser extends antlr.Parser {
11021
11042
  localContext = new DoubleLiteralContext(localContext);
11022
11043
  this.enterOuterAlt(localContext, 2);
11023
11044
  {
11024
- this.state = 2593;
11045
+ this.state = 2595;
11025
11046
  this.errorHandler.sync(this);
11026
11047
  _la = this.tokenStream.LA(1);
11027
11048
  if (_la === 256) {
11028
11049
  {
11029
- this.state = 2592;
11050
+ this.state = 2594;
11030
11051
  this.match(TrinoSqlParser.MINUS);
11031
11052
  }
11032
11053
  }
11033
- this.state = 2595;
11054
+ this.state = 2597;
11034
11055
  this.match(TrinoSqlParser.DOUBLE_VALUE);
11035
11056
  }
11036
11057
  break;
@@ -11038,16 +11059,16 @@ class TrinoSqlParser extends antlr.Parser {
11038
11059
  localContext = new IntegerLiteralContext(localContext);
11039
11060
  this.enterOuterAlt(localContext, 3);
11040
11061
  {
11041
- this.state = 2597;
11062
+ this.state = 2599;
11042
11063
  this.errorHandler.sync(this);
11043
11064
  _la = this.tokenStream.LA(1);
11044
11065
  if (_la === 256) {
11045
11066
  {
11046
- this.state = 2596;
11067
+ this.state = 2598;
11047
11068
  this.match(TrinoSqlParser.MINUS);
11048
11069
  }
11049
11070
  }
11050
- this.state = 2599;
11071
+ this.state = 2601;
11051
11072
  this.match(TrinoSqlParser.INTEGER_VALUE);
11052
11073
  }
11053
11074
  break;
@@ -11075,7 +11096,7 @@ class TrinoSqlParser extends antlr.Parser {
11075
11096
  try {
11076
11097
  this.enterOuterAlt(localContext, 1);
11077
11098
  {
11078
- this.state = 2602;
11099
+ this.state = 2604;
11079
11100
  _la = this.tokenStream.LA(1);
11080
11101
  if (!(((((_la - 17)) & ~0x1F) === 0 && ((1 << (_la - 17)) & 1140014511) !== 0) || ((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 3192429231) !== 0) || ((((_la - 90)) & ~0x1F) === 0 && ((1 << (_la - 90)) & 3134381375) !== 0) || ((((_la - 123)) & ~0x1F) === 0 && ((1 << (_la - 123)) & 3162472435) !== 0) || ((((_la - 155)) & ~0x1F) === 0 && ((1 << (_la - 155)) & 4286316499) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & 4009750519) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & 525170103) !== 0))) {
11081
11102
  this.errorHandler.recoverInline(this);
@@ -11117,6 +11138,8 @@ class TrinoSqlParser extends antlr.Parser {
11117
11138
  return this.type_sempred(localContext, predIndex);
11118
11139
  case 76:
11119
11140
  return this.rowPattern_sempred(localContext, predIndex);
11141
+ case 100:
11142
+ return this.columnName_sempred(localContext, predIndex);
11120
11143
  }
11121
11144
  return true;
11122
11145
  }
@@ -11183,6 +11206,13 @@ class TrinoSqlParser extends antlr.Parser {
11183
11206
  }
11184
11207
  return true;
11185
11208
  }
11209
+ columnName_sempred(localContext, predIndex) {
11210
+ switch (predIndex) {
11211
+ case 14:
11212
+ return this.shouldMatchEmpty();
11213
+ }
11214
+ return true;
11215
+ }
11186
11216
  static get _ATN() {
11187
11217
  if (!TrinoSqlParser.__ATN) {
11188
11218
  TrinoSqlParser.__ATN = new antlr.ATNDeserializer().deserialize(TrinoSqlParser._serializedATN);
@@ -11707,7 +11737,7 @@ TrinoSqlParser.ruleNames = [
11707
11737
  "grantor", "principal", "roles", "identifier", "number", "nonReserved",
11708
11738
  ];
11709
11739
  TrinoSqlParser._serializedATN = [
11710
- 4, 1, 277, 2605, 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,
11740
+ 4, 1, 277, 2607, 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,
11711
11741
  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,
11712
11742
  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,
11713
11743
  20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7,
@@ -11921,192 +11951,192 @@ TrinoSqlParser._serializedATN = [
11921
11951
  1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 3, 92, 2518,
11922
11952
  8, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 3, 93,
11923
11953
  2531, 8, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 3, 96, 2542,
11924
- 8, 96, 1, 97, 1, 97, 1, 98, 1, 98, 1, 99, 1, 99, 1, 100, 1, 100, 1, 101, 1, 101, 1, 102,
11925
- 1, 102, 1, 102, 5, 102, 2557, 8, 102, 10, 102, 12, 102, 2560, 9, 102, 1, 103, 1, 103,
11926
- 1, 103, 3, 103, 2565, 8, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 3, 104, 2572,
11927
- 8, 104, 1, 105, 1, 105, 1, 105, 5, 105, 2577, 8, 105, 10, 105, 12, 105, 2580, 9, 105,
11928
- 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 2587, 8, 106, 1, 107, 3, 107, 2590,
11929
- 8, 107, 1, 107, 1, 107, 3, 107, 2594, 8, 107, 1, 107, 1, 107, 3, 107, 2598, 8, 107,
11930
- 1, 107, 3, 107, 2601, 8, 107, 1, 108, 1, 108, 1, 108, 0, 7, 42, 68, 104, 108, 110, 132,
11931
- 152, 109, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
11932
- 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84,
11933
- 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120,
11934
- 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152,
11935
- 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184,
11936
- 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216,
11937
- 0, 27, 2, 0, 34, 34, 185, 185, 2, 0, 61, 61, 112, 112, 2, 0, 88, 88, 103, 103, 2, 0, 75,
11938
- 75, 104, 104, 1, 0, 192, 193, 2, 0, 84, 84, 139, 139, 2, 0, 261, 261, 265, 265, 2, 0,
11939
- 74, 74, 229, 229, 2, 0, 27, 27, 63, 63, 2, 0, 84, 84, 118, 118, 2, 0, 20, 20, 66, 66,
11940
- 2, 0, 30, 30, 211, 211, 2, 0, 105, 105, 199, 199, 1, 0, 255, 256, 1, 0, 257, 259, 2,
11941
- 0, 83, 83, 194, 194, 1, 0, 249, 254, 3, 0, 20, 20, 24, 24, 206, 206, 2, 0, 80, 80, 223,
11942
- 223, 5, 0, 58, 58, 100, 100, 136, 137, 197, 197, 247, 247, 1, 0, 140, 143, 2, 0, 85,
11943
- 85, 171, 171, 3, 0, 95, 95, 117, 117, 215, 215, 4, 0, 67, 67, 113, 113, 127, 127, 236,
11944
- 236, 2, 0, 155, 155, 246, 246, 4, 0, 62, 62, 108, 108, 200, 200, 232, 232, 49, 0, 17,
11945
- 20, 22, 22, 24, 25, 27, 30, 33, 34, 37, 42, 47, 47, 56, 59, 61, 61, 63, 63, 65, 65, 67,
11946
- 68, 71, 71, 75, 75, 78, 78, 81, 85, 87, 87, 90, 95, 98, 98, 100, 102, 104, 105, 107,
11947
- 107, 110, 110, 112, 113, 115, 115, 117, 119, 121, 121, 123, 124, 127, 137, 139,
11948
- 145, 149, 152, 154, 156, 159, 159, 161, 172, 174, 177, 179, 186, 188, 190, 192,
11949
- 199, 201, 211, 213, 215, 217, 222, 224, 225, 227, 228, 230, 230, 232, 234, 236,
11950
- 236, 238, 239, 242, 242, 244, 248, 3005, 0, 221, 1, 0, 0, 0, 2, 226, 1, 0, 0, 0, 4, 232,
11951
- 1, 0, 0, 0, 6, 234, 1, 0, 0, 0, 8, 238, 1, 0, 0, 0, 10, 242, 1, 0, 0, 0, 12, 246, 1, 0, 0,
11952
- 0, 14, 250, 1, 0, 0, 0, 16, 1036, 1, 0, 0, 0, 18, 1039, 1, 0, 0, 0, 20, 1043, 1, 0, 0, 0,
11953
- 22, 1057, 1, 0, 0, 0, 24, 1059, 1, 0, 0, 0, 26, 1073, 1, 0, 0, 0, 28, 1079, 1, 0, 0, 0,
11954
- 30, 1083, 1, 0, 0, 0, 32, 1091, 1, 0, 0, 0, 34, 1097, 1, 0, 0, 0, 36, 1099, 1, 0, 0, 0,
11955
- 38, 1136, 1, 0, 0, 0, 40, 1138, 1, 0, 0, 0, 42, 1140, 1, 0, 0, 0, 44, 1176, 1, 0, 0, 0,
11956
- 46, 1180, 1, 0, 0, 0, 48, 1189, 1, 0, 0, 0, 50, 1237, 1, 0, 0, 0, 52, 1287, 1, 0, 0, 0,
11957
- 54, 1302, 1, 0, 0, 0, 56, 1306, 1, 0, 0, 0, 58, 1308, 1, 0, 0, 0, 60, 1315, 1, 0, 0, 0,
11958
- 62, 1344, 1, 0, 0, 0, 64, 1353, 1, 0, 0, 0, 66, 1373, 1, 0, 0, 0, 68, 1375, 1, 0, 0, 0,
11959
- 70, 1414, 1, 0, 0, 0, 72, 1430, 1, 0, 0, 0, 74, 1432, 1, 0, 0, 0, 76, 1441, 1, 0, 0, 0,
11960
- 78, 1443, 1, 0, 0, 0, 80, 1528, 1, 0, 0, 0, 82, 1543, 1, 0, 0, 0, 84, 1554, 1, 0, 0, 0,
11961
- 86, 1575, 1, 0, 0, 0, 88, 1577, 1, 0, 0, 0, 90, 1590, 1, 0, 0, 0, 92, 1594, 1, 0, 0, 0,
11962
- 94, 1604, 1, 0, 0, 0, 96, 1615, 1, 0, 0, 0, 98, 1626, 1, 0, 0, 0, 100, 1666, 1, 0, 0, 0,
11963
- 102, 1668, 1, 0, 0, 0, 104, 1677, 1, 0, 0, 0, 106, 1751, 1, 0, 0, 0, 108, 1757, 1, 0,
11964
- 0, 0, 110, 2025, 1, 0, 0, 0, 112, 2040, 1, 0, 0, 0, 114, 2046, 1, 0, 0, 0, 116, 2054,
11965
- 1, 0, 0, 0, 118, 2062, 1, 0, 0, 0, 120, 2064, 1, 0, 0, 0, 122, 2066, 1, 0, 0, 0, 124, 2068,
11966
- 1, 0, 0, 0, 126, 2070, 1, 0, 0, 0, 128, 2080, 1, 0, 0, 0, 130, 2082, 1, 0, 0, 0, 132, 2175,
11967
- 1, 0, 0, 0, 134, 2193, 1, 0, 0, 0, 136, 2197, 1, 0, 0, 0, 138, 2199, 1, 0, 0, 0, 140, 2204,
11968
- 1, 0, 0, 0, 142, 2274, 1, 0, 0, 0, 144, 2276, 1, 0, 0, 0, 146, 2293, 1, 0, 0, 0, 148, 2357,
11969
- 1, 0, 0, 0, 150, 2368, 1, 0, 0, 0, 152, 2370, 1, 0, 0, 0, 154, 2410, 1, 0, 0, 0, 156, 2442,
11970
- 1, 0, 0, 0, 158, 2444, 1, 0, 0, 0, 160, 2452, 1, 0, 0, 0, 162, 2459, 1, 0, 0, 0, 164, 2468,
11971
- 1, 0, 0, 0, 166, 2475, 1, 0, 0, 0, 168, 2482, 1, 0, 0, 0, 170, 2484, 1, 0, 0, 0, 172, 2492,
11972
- 1, 0, 0, 0, 174, 2496, 1, 0, 0, 0, 176, 2498, 1, 0, 0, 0, 178, 2500, 1, 0, 0, 0, 180, 2502,
11973
- 1, 0, 0, 0, 182, 2504, 1, 0, 0, 0, 184, 2517, 1, 0, 0, 0, 186, 2530, 1, 0, 0, 0, 188, 2532,
11974
- 1, 0, 0, 0, 190, 2534, 1, 0, 0, 0, 192, 2541, 1, 0, 0, 0, 194, 2543, 1, 0, 0, 0, 196, 2545,
11975
- 1, 0, 0, 0, 198, 2547, 1, 0, 0, 0, 200, 2549, 1, 0, 0, 0, 202, 2551, 1, 0, 0, 0, 204, 2553,
11976
- 1, 0, 0, 0, 206, 2564, 1, 0, 0, 0, 208, 2571, 1, 0, 0, 0, 210, 2573, 1, 0, 0, 0, 212, 2586,
11977
- 1, 0, 0, 0, 214, 2600, 1, 0, 0, 0, 216, 2602, 1, 0, 0, 0, 218, 220, 3, 2, 1, 0, 219, 218,
11978
- 1, 0, 0, 0, 220, 223, 1, 0, 0, 0, 221, 219, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 224,
11979
- 1, 0, 0, 0, 223, 221, 1, 0, 0, 0, 224, 225, 5, 0, 0, 1, 225, 1, 1, 0, 0, 0, 226, 227, 3,
11980
- 6, 3, 0, 227, 3, 1, 0, 0, 0, 228, 233, 3, 8, 4, 0, 229, 233, 3, 10, 5, 0, 230, 233, 3, 12,
11981
- 6, 0, 231, 233, 3, 14, 7, 0, 232, 228, 1, 0, 0, 0, 232, 229, 1, 0, 0, 0, 232, 230, 1, 0,
11982
- 0, 0, 232, 231, 1, 0, 0, 0, 233, 5, 1, 0, 0, 0, 234, 236, 3, 16, 8, 0, 235, 237, 5, 272,
11983
- 0, 0, 236, 235, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 7, 1, 0, 0, 0, 238, 240, 3, 102,
11984
- 51, 0, 239, 241, 5, 272, 0, 0, 240, 239, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 9, 1, 0,
11985
- 0, 0, 242, 244, 3, 170, 85, 0, 243, 245, 5, 272, 0, 0, 244, 243, 1, 0, 0, 0, 244, 245,
11986
- 1, 0, 0, 0, 245, 11, 1, 0, 0, 0, 246, 248, 3, 132, 66, 0, 247, 249, 5, 272, 0, 0, 248,
11987
- 247, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 13, 1, 0, 0, 0, 250, 252, 3, 152, 76, 0, 251,
11988
- 253, 5, 272, 0, 0, 252, 251, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 15, 1, 0, 0, 0, 254,
11989
- 1037, 3, 18, 9, 0, 255, 256, 5, 233, 0, 0, 256, 1037, 3, 188, 94, 0, 257, 258, 5, 44,
11990
- 0, 0, 258, 262, 5, 195, 0, 0, 259, 260, 5, 101, 0, 0, 260, 261, 5, 147, 0, 0, 261, 263,
11991
- 5, 77, 0, 0, 262, 259, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 267,
11992
- 3, 190, 95, 0, 265, 266, 5, 29, 0, 0, 266, 268, 3, 208, 104, 0, 267, 265, 1, 0, 0, 0,
11993
- 267, 268, 1, 0, 0, 0, 268, 271, 1, 0, 0, 0, 269, 270, 5, 243, 0, 0, 270, 272, 3, 28, 14,
11994
- 0, 271, 269, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 1037, 1, 0, 0, 0, 273, 274, 5, 69,
11995
- 0, 0, 274, 277, 5, 195, 0, 0, 275, 276, 5, 101, 0, 0, 276, 278, 5, 77, 0, 0, 277, 275,
11996
- 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 281, 3, 188, 94, 0, 280, 282,
11997
- 7, 0, 0, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 1037, 1, 0, 0, 0, 283, 284,
11998
- 5, 21, 0, 0, 284, 285, 5, 195, 0, 0, 285, 286, 3, 188, 94, 0, 286, 287, 5, 180, 0, 0,
11999
- 287, 288, 5, 220, 0, 0, 288, 289, 3, 190, 95, 0, 289, 1037, 1, 0, 0, 0, 290, 291, 5,
12000
- 21, 0, 0, 291, 292, 5, 195, 0, 0, 292, 293, 3, 188, 94, 0, 293, 294, 5, 203, 0, 0, 294,
12001
- 295, 5, 29, 0, 0, 295, 296, 3, 208, 104, 0, 296, 1037, 1, 0, 0, 0, 297, 298, 5, 44, 0,
12002
- 0, 298, 302, 5, 212, 0, 0, 299, 300, 5, 101, 0, 0, 300, 301, 5, 147, 0, 0, 301, 303,
12003
- 5, 77, 0, 0, 302, 299, 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303, 304, 1, 0, 0, 0, 304, 306,
12004
- 3, 178, 89, 0, 305, 307, 3, 94, 47, 0, 306, 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307,
12005
- 310, 1, 0, 0, 0, 308, 309, 5, 40, 0, 0, 309, 311, 3, 116, 58, 0, 310, 308, 1, 0, 0, 0,
12006
- 310, 311, 1, 0, 0, 0, 311, 314, 1, 0, 0, 0, 312, 313, 5, 243, 0, 0, 313, 315, 3, 28, 14,
12007
- 0, 314, 312, 1, 0, 0, 0, 314, 315, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 322, 5, 26, 0,
12008
- 0, 317, 323, 3, 18, 9, 0, 318, 319, 5, 1, 0, 0, 319, 320, 3, 18, 9, 0, 320, 321, 5, 2,
12009
- 0, 0, 321, 323, 1, 0, 0, 0, 322, 317, 1, 0, 0, 0, 322, 318, 1, 0, 0, 0, 323, 329, 1, 0,
12010
- 0, 0, 324, 326, 5, 243, 0, 0, 325, 327, 5, 144, 0, 0, 326, 325, 1, 0, 0, 0, 326, 327,
12011
- 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 330, 5, 56, 0, 0, 329, 324, 1, 0, 0, 0, 329, 330,
12012
- 1, 0, 0, 0, 330, 1037, 1, 0, 0, 0, 331, 332, 5, 44, 0, 0, 332, 336, 5, 212, 0, 0, 333,
12013
- 334, 5, 101, 0, 0, 334, 335, 5, 147, 0, 0, 335, 337, 5, 77, 0, 0, 336, 333, 1, 0, 0, 0,
12014
- 336, 337, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 3, 178, 89, 0, 339, 340, 5, 1, 0,
12015
- 0, 340, 345, 3, 22, 11, 0, 341, 342, 5, 3, 0, 0, 342, 344, 3, 22, 11, 0, 343, 341, 1,
12016
- 0, 0, 0, 344, 347, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 348, 1,
12017
- 0, 0, 0, 347, 345, 1, 0, 0, 0, 348, 351, 5, 2, 0, 0, 349, 350, 5, 40, 0, 0, 350, 352, 3,
12018
- 116, 58, 0, 351, 349, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 355, 1, 0, 0, 0, 353, 354,
12019
- 5, 243, 0, 0, 354, 356, 3, 28, 14, 0, 355, 353, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356,
12020
- 1037, 1, 0, 0, 0, 357, 358, 5, 69, 0, 0, 358, 361, 5, 212, 0, 0, 359, 360, 5, 101, 0,
12021
- 0, 360, 362, 5, 77, 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 363, 1, 0, 0,
12022
- 0, 363, 1037, 3, 176, 88, 0, 364, 365, 5, 108, 0, 0, 365, 366, 5, 111, 0, 0, 366, 368,
12023
- 3, 176, 88, 0, 367, 369, 3, 96, 48, 0, 368, 367, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369,
12024
- 370, 1, 0, 0, 0, 370, 371, 3, 18, 9, 0, 371, 1037, 1, 0, 0, 0, 372, 373, 5, 62, 0, 0, 373,
12025
- 374, 5, 88, 0, 0, 374, 377, 3, 176, 88, 0, 375, 376, 5, 241, 0, 0, 376, 378, 3, 104,
12026
- 52, 0, 377, 375, 1, 0, 0, 0, 377, 378, 1, 0, 0, 0, 378, 1037, 1, 0, 0, 0, 379, 380, 5,
12027
- 222, 0, 0, 380, 381, 5, 212, 0, 0, 381, 1037, 3, 176, 88, 0, 382, 383, 5, 21, 0, 0, 383,
12028
- 386, 5, 212, 0, 0, 384, 385, 5, 101, 0, 0, 385, 387, 5, 77, 0, 0, 386, 384, 1, 0, 0, 0,
12029
- 386, 387, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 389, 3, 176, 88, 0, 389, 390, 5, 180,
12030
- 0, 0, 390, 391, 5, 220, 0, 0, 391, 392, 3, 178, 89, 0, 392, 1037, 1, 0, 0, 0, 393, 394,
12031
- 5, 40, 0, 0, 394, 395, 5, 153, 0, 0, 395, 396, 5, 212, 0, 0, 396, 397, 3, 176, 88, 0,
12032
- 397, 400, 5, 114, 0, 0, 398, 401, 3, 116, 58, 0, 399, 401, 5, 148, 0, 0, 400, 398, 1,
12033
- 0, 0, 0, 400, 399, 1, 0, 0, 0, 401, 1037, 1, 0, 0, 0, 402, 403, 5, 40, 0, 0, 403, 404,
12034
- 5, 153, 0, 0, 404, 405, 5, 38, 0, 0, 405, 406, 3, 200, 100, 0, 406, 409, 5, 114, 0, 0,
12035
- 407, 410, 3, 116, 58, 0, 408, 410, 5, 148, 0, 0, 409, 407, 1, 0, 0, 0, 409, 408, 1, 0,
12036
- 0, 0, 410, 1037, 1, 0, 0, 0, 411, 412, 5, 21, 0, 0, 412, 415, 5, 212, 0, 0, 413, 414,
12037
- 5, 101, 0, 0, 414, 416, 5, 77, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416, 417,
12038
- 1, 0, 0, 0, 417, 418, 3, 176, 88, 0, 418, 419, 5, 180, 0, 0, 419, 422, 5, 38, 0, 0, 420,
12039
- 421, 5, 101, 0, 0, 421, 423, 5, 77, 0, 0, 422, 420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423,
12040
- 424, 1, 0, 0, 0, 424, 425, 3, 200, 100, 0, 425, 426, 5, 220, 0, 0, 426, 427, 3, 202,
12041
- 101, 0, 427, 1037, 1, 0, 0, 0, 428, 429, 5, 21, 0, 0, 429, 432, 5, 212, 0, 0, 430, 431,
12042
- 5, 101, 0, 0, 431, 433, 5, 77, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 434,
12043
- 1, 0, 0, 0, 434, 435, 3, 176, 88, 0, 435, 436, 5, 69, 0, 0, 436, 439, 5, 38, 0, 0, 437,
12044
- 438, 5, 101, 0, 0, 438, 440, 5, 77, 0, 0, 439, 437, 1, 0, 0, 0, 439, 440, 1, 0, 0, 0, 440,
12045
- 441, 1, 0, 0, 0, 441, 442, 3, 200, 100, 0, 442, 1037, 1, 0, 0, 0, 443, 444, 5, 21, 0,
12046
- 0, 444, 447, 5, 212, 0, 0, 445, 446, 5, 101, 0, 0, 446, 448, 5, 77, 0, 0, 447, 445, 1,
12047
- 0, 0, 0, 447, 448, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 450, 3, 176, 88, 0, 450, 451,
12048
- 5, 17, 0, 0, 451, 455, 5, 38, 0, 0, 452, 453, 5, 101, 0, 0, 453, 454, 5, 147, 0, 0, 454,
12049
- 456, 5, 77, 0, 0, 455, 452, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457,
12050
- 458, 3, 24, 12, 0, 458, 1037, 1, 0, 0, 0, 459, 460, 5, 21, 0, 0, 460, 461, 5, 212, 0,
12051
- 0, 461, 462, 3, 176, 88, 0, 462, 463, 5, 203, 0, 0, 463, 464, 5, 29, 0, 0, 464, 465,
12052
- 3, 208, 104, 0, 465, 1037, 1, 0, 0, 0, 466, 467, 5, 21, 0, 0, 467, 468, 5, 212, 0, 0,
12053
- 468, 469, 3, 176, 88, 0, 469, 470, 5, 203, 0, 0, 470, 471, 5, 175, 0, 0, 471, 472, 3,
12054
- 30, 15, 0, 472, 1037, 1, 0, 0, 0, 473, 474, 5, 21, 0, 0, 474, 475, 5, 212, 0, 0, 475,
12055
- 476, 3, 176, 88, 0, 476, 477, 5, 76, 0, 0, 477, 490, 3, 212, 106, 0, 478, 487, 5, 1,
12056
- 0, 0, 479, 484, 3, 166, 83, 0, 480, 481, 5, 3, 0, 0, 481, 483, 3, 166, 83, 0, 482, 480,
12057
- 1, 0, 0, 0, 483, 486, 1, 0, 0, 0, 484, 482, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 488,
12058
- 1, 0, 0, 0, 486, 484, 1, 0, 0, 0, 487, 479, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 489,
12059
- 1, 0, 0, 0, 489, 491, 5, 2, 0, 0, 490, 478, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 494,
12060
- 1, 0, 0, 0, 492, 493, 5, 241, 0, 0, 493, 495, 3, 104, 52, 0, 494, 492, 1, 0, 0, 0, 494,
12061
- 495, 1, 0, 0, 0, 495, 1037, 1, 0, 0, 0, 496, 497, 5, 22, 0, 0, 497, 500, 3, 176, 88, 0,
12062
- 498, 499, 5, 243, 0, 0, 499, 501, 3, 28, 14, 0, 500, 498, 1, 0, 0, 0, 500, 501, 1, 0,
12063
- 0, 0, 501, 1037, 1, 0, 0, 0, 502, 505, 5, 44, 0, 0, 503, 504, 5, 157, 0, 0, 504, 506,
12064
- 5, 182, 0, 0, 505, 503, 1, 0, 0, 0, 505, 506, 1, 0, 0, 0, 506, 507, 1, 0, 0, 0, 507, 508,
12065
- 5, 133, 0, 0, 508, 512, 5, 239, 0, 0, 509, 510, 5, 101, 0, 0, 510, 511, 5, 147, 0, 0,
12066
- 511, 513, 5, 77, 0, 0, 512, 509, 1, 0, 0, 0, 512, 513, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0,
12067
- 514, 517, 3, 182, 91, 0, 515, 516, 5, 40, 0, 0, 516, 518, 3, 116, 58, 0, 517, 515, 1,
12068
- 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 521, 1, 0, 0, 0, 519, 520, 5, 243, 0, 0, 520, 522,
12069
- 3, 28, 14, 0, 521, 519, 1, 0, 0, 0, 521, 522, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 524,
12070
- 5, 26, 0, 0, 524, 525, 3, 18, 9, 0, 525, 1037, 1, 0, 0, 0, 526, 529, 5, 44, 0, 0, 527,
12071
- 528, 5, 157, 0, 0, 528, 530, 5, 182, 0, 0, 529, 527, 1, 0, 0, 0, 529, 530, 1, 0, 0, 0,
12072
- 530, 531, 1, 0, 0, 0, 531, 532, 5, 239, 0, 0, 532, 535, 3, 182, 91, 0, 533, 534, 5, 40,
12073
- 0, 0, 534, 536, 3, 116, 58, 0, 535, 533, 1, 0, 0, 0, 535, 536, 1, 0, 0, 0, 536, 539, 1,
12074
- 0, 0, 0, 537, 538, 5, 198, 0, 0, 538, 540, 7, 1, 0, 0, 539, 537, 1, 0, 0, 0, 539, 540,
12075
- 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 542, 5, 26, 0, 0, 542, 543, 3, 18, 9, 0, 543, 1037,
12076
- 1, 0, 0, 0, 544, 545, 5, 179, 0, 0, 545, 546, 5, 133, 0, 0, 546, 547, 5, 239, 0, 0, 547,
12077
- 1037, 3, 180, 90, 0, 548, 549, 5, 69, 0, 0, 549, 550, 5, 133, 0, 0, 550, 553, 5, 239,
12078
- 0, 0, 551, 552, 5, 101, 0, 0, 552, 554, 5, 77, 0, 0, 553, 551, 1, 0, 0, 0, 553, 554, 1,
12079
- 0, 0, 0, 554, 555, 1, 0, 0, 0, 555, 1037, 3, 180, 90, 0, 556, 557, 5, 21, 0, 0, 557, 558,
12080
- 5, 133, 0, 0, 558, 561, 5, 239, 0, 0, 559, 560, 5, 101, 0, 0, 560, 562, 5, 77, 0, 0, 561,
12081
- 559, 1, 0, 0, 0, 561, 562, 1, 0, 0, 0, 562, 563, 1, 0, 0, 0, 563, 564, 3, 180, 90, 0, 564,
12082
- 565, 5, 180, 0, 0, 565, 566, 5, 220, 0, 0, 566, 567, 3, 182, 91, 0, 567, 1037, 1, 0,
12083
- 0, 0, 568, 569, 5, 21, 0, 0, 569, 570, 5, 133, 0, 0, 570, 571, 5, 239, 0, 0, 571, 572,
12084
- 3, 180, 90, 0, 572, 573, 5, 203, 0, 0, 573, 574, 5, 175, 0, 0, 574, 575, 3, 30, 15, 0,
12085
- 575, 1037, 1, 0, 0, 0, 576, 577, 5, 69, 0, 0, 577, 580, 5, 239, 0, 0, 578, 579, 5, 101,
12086
- 0, 0, 579, 581, 5, 77, 0, 0, 580, 578, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581, 582, 1, 0,
12087
- 0, 0, 582, 1037, 3, 180, 90, 0, 583, 584, 5, 21, 0, 0, 584, 585, 5, 239, 0, 0, 585, 586,
12088
- 3, 180, 90, 0, 586, 587, 5, 180, 0, 0, 587, 588, 5, 220, 0, 0, 588, 589, 3, 182, 91,
12089
- 0, 589, 1037, 1, 0, 0, 0, 590, 591, 5, 21, 0, 0, 591, 592, 5, 239, 0, 0, 592, 593, 3,
12090
- 180, 90, 0, 593, 594, 5, 203, 0, 0, 594, 595, 5, 29, 0, 0, 595, 596, 3, 208, 104, 0,
12091
- 596, 1037, 1, 0, 0, 0, 597, 598, 5, 33, 0, 0, 598, 599, 3, 198, 99, 0, 599, 608, 5, 1,
12092
- 0, 0, 600, 605, 3, 166, 83, 0, 601, 602, 5, 3, 0, 0, 602, 604, 3, 166, 83, 0, 603, 601,
12093
- 1, 0, 0, 0, 604, 607, 1, 0, 0, 0, 605, 603, 1, 0, 0, 0, 605, 606, 1, 0, 0, 0, 606, 609,
12094
- 1, 0, 0, 0, 607, 605, 1, 0, 0, 0, 608, 600, 1, 0, 0, 0, 608, 609, 1, 0, 0, 0, 609, 610,
12095
- 1, 0, 0, 0, 610, 611, 5, 2, 0, 0, 611, 1037, 1, 0, 0, 0, 612, 613, 5, 44, 0, 0, 613, 614,
12096
- 5, 188, 0, 0, 614, 618, 3, 212, 106, 0, 615, 616, 5, 243, 0, 0, 616, 617, 5, 18, 0, 0,
12097
- 617, 619, 3, 206, 103, 0, 618, 615, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 622, 1, 0,
12098
- 0, 0, 620, 621, 5, 103, 0, 0, 621, 623, 3, 194, 97, 0, 622, 620, 1, 0, 0, 0, 622, 623,
12099
- 1, 0, 0, 0, 623, 1037, 1, 0, 0, 0, 624, 625, 5, 69, 0, 0, 625, 626, 5, 188, 0, 0, 626,
12100
- 1037, 3, 212, 106, 0, 627, 628, 5, 91, 0, 0, 628, 629, 3, 210, 105, 0, 629, 630, 5,
12101
- 220, 0, 0, 630, 635, 3, 208, 104, 0, 631, 632, 5, 3, 0, 0, 632, 634, 3, 208, 104, 0,
12102
- 633, 631, 1, 0, 0, 0, 634, 637, 1, 0, 0, 0, 635, 633, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0,
12103
- 636, 641, 1, 0, 0, 0, 637, 635, 1, 0, 0, 0, 638, 639, 5, 243, 0, 0, 639, 640, 5, 18, 0,
12104
- 0, 640, 642, 5, 156, 0, 0, 641, 638, 1, 0, 0, 0, 641, 642, 1, 0, 0, 0, 642, 646, 1, 0,
12105
- 0, 0, 643, 644, 5, 92, 0, 0, 644, 645, 5, 32, 0, 0, 645, 647, 3, 206, 103, 0, 646, 643,
12106
- 1, 0, 0, 0, 646, 647, 1, 0, 0, 0, 647, 650, 1, 0, 0, 0, 648, 649, 5, 103, 0, 0, 649, 651,
12107
- 3, 194, 97, 0, 650, 648, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 1037, 1, 0, 0, 0, 652,
12108
- 656, 5, 186, 0, 0, 653, 654, 5, 18, 0, 0, 654, 655, 5, 156, 0, 0, 655, 657, 5, 86, 0,
12109
- 0, 656, 653, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 658, 1, 0, 0, 0, 658, 659, 3, 210,
11954
+ 8, 96, 1, 97, 1, 97, 1, 98, 1, 98, 1, 99, 1, 99, 1, 100, 1, 100, 3, 100, 2552, 8, 100,
11955
+ 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 5, 102, 2559, 8, 102, 10, 102, 12, 102, 2562,
11956
+ 9, 102, 1, 103, 1, 103, 1, 103, 3, 103, 2567, 8, 103, 1, 104, 1, 104, 1, 104, 1, 104,
11957
+ 1, 104, 3, 104, 2574, 8, 104, 1, 105, 1, 105, 1, 105, 5, 105, 2579, 8, 105, 10, 105,
11958
+ 12, 105, 2582, 9, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 2589, 8, 106,
11959
+ 1, 107, 3, 107, 2592, 8, 107, 1, 107, 1, 107, 3, 107, 2596, 8, 107, 1, 107, 1, 107,
11960
+ 3, 107, 2600, 8, 107, 1, 107, 3, 107, 2603, 8, 107, 1, 108, 1, 108, 1, 108, 0, 7, 42,
11961
+ 68, 104, 108, 110, 132, 152, 109, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
11962
+ 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70,
11963
+ 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110,
11964
+ 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142,
11965
+ 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174,
11966
+ 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206,
11967
+ 208, 210, 212, 214, 216, 0, 27, 2, 0, 34, 34, 185, 185, 2, 0, 61, 61, 112, 112, 2, 0,
11968
+ 88, 88, 103, 103, 2, 0, 75, 75, 104, 104, 1, 0, 192, 193, 2, 0, 84, 84, 139, 139, 2,
11969
+ 0, 261, 261, 265, 265, 2, 0, 74, 74, 229, 229, 2, 0, 27, 27, 63, 63, 2, 0, 84, 84, 118,
11970
+ 118, 2, 0, 20, 20, 66, 66, 2, 0, 30, 30, 211, 211, 2, 0, 105, 105, 199, 199, 1, 0, 255,
11971
+ 256, 1, 0, 257, 259, 2, 0, 83, 83, 194, 194, 1, 0, 249, 254, 3, 0, 20, 20, 24, 24, 206,
11972
+ 206, 2, 0, 80, 80, 223, 223, 5, 0, 58, 58, 100, 100, 136, 137, 197, 197, 247, 247,
11973
+ 1, 0, 140, 143, 2, 0, 85, 85, 171, 171, 3, 0, 95, 95, 117, 117, 215, 215, 4, 0, 67, 67,
11974
+ 113, 113, 127, 127, 236, 236, 2, 0, 155, 155, 246, 246, 4, 0, 62, 62, 108, 108, 200,
11975
+ 200, 232, 232, 49, 0, 17, 20, 22, 22, 24, 25, 27, 30, 33, 34, 37, 42, 47, 47, 56, 59,
11976
+ 61, 61, 63, 63, 65, 65, 67, 68, 71, 71, 75, 75, 78, 78, 81, 85, 87, 87, 90, 95, 98, 98,
11977
+ 100, 102, 104, 105, 107, 107, 110, 110, 112, 113, 115, 115, 117, 119, 121, 121,
11978
+ 123, 124, 127, 137, 139, 145, 149, 152, 154, 156, 159, 159, 161, 172, 174, 177,
11979
+ 179, 186, 188, 190, 192, 199, 201, 211, 213, 215, 217, 222, 224, 225, 227, 228,
11980
+ 230, 230, 232, 234, 236, 236, 238, 239, 242, 242, 244, 248, 3008, 0, 221, 1, 0, 0,
11981
+ 0, 2, 226, 1, 0, 0, 0, 4, 232, 1, 0, 0, 0, 6, 234, 1, 0, 0, 0, 8, 238, 1, 0, 0, 0, 10, 242,
11982
+ 1, 0, 0, 0, 12, 246, 1, 0, 0, 0, 14, 250, 1, 0, 0, 0, 16, 1036, 1, 0, 0, 0, 18, 1039, 1,
11983
+ 0, 0, 0, 20, 1043, 1, 0, 0, 0, 22, 1057, 1, 0, 0, 0, 24, 1059, 1, 0, 0, 0, 26, 1073, 1,
11984
+ 0, 0, 0, 28, 1079, 1, 0, 0, 0, 30, 1083, 1, 0, 0, 0, 32, 1091, 1, 0, 0, 0, 34, 1097, 1,
11985
+ 0, 0, 0, 36, 1099, 1, 0, 0, 0, 38, 1136, 1, 0, 0, 0, 40, 1138, 1, 0, 0, 0, 42, 1140, 1,
11986
+ 0, 0, 0, 44, 1176, 1, 0, 0, 0, 46, 1180, 1, 0, 0, 0, 48, 1189, 1, 0, 0, 0, 50, 1237, 1,
11987
+ 0, 0, 0, 52, 1287, 1, 0, 0, 0, 54, 1302, 1, 0, 0, 0, 56, 1306, 1, 0, 0, 0, 58, 1308, 1,
11988
+ 0, 0, 0, 60, 1315, 1, 0, 0, 0, 62, 1344, 1, 0, 0, 0, 64, 1353, 1, 0, 0, 0, 66, 1373, 1,
11989
+ 0, 0, 0, 68, 1375, 1, 0, 0, 0, 70, 1414, 1, 0, 0, 0, 72, 1430, 1, 0, 0, 0, 74, 1432, 1,
11990
+ 0, 0, 0, 76, 1441, 1, 0, 0, 0, 78, 1443, 1, 0, 0, 0, 80, 1528, 1, 0, 0, 0, 82, 1543, 1,
11991
+ 0, 0, 0, 84, 1554, 1, 0, 0, 0, 86, 1575, 1, 0, 0, 0, 88, 1577, 1, 0, 0, 0, 90, 1590, 1,
11992
+ 0, 0, 0, 92, 1594, 1, 0, 0, 0, 94, 1604, 1, 0, 0, 0, 96, 1615, 1, 0, 0, 0, 98, 1626, 1,
11993
+ 0, 0, 0, 100, 1666, 1, 0, 0, 0, 102, 1668, 1, 0, 0, 0, 104, 1677, 1, 0, 0, 0, 106, 1751,
11994
+ 1, 0, 0, 0, 108, 1757, 1, 0, 0, 0, 110, 2025, 1, 0, 0, 0, 112, 2040, 1, 0, 0, 0, 114, 2046,
11995
+ 1, 0, 0, 0, 116, 2054, 1, 0, 0, 0, 118, 2062, 1, 0, 0, 0, 120, 2064, 1, 0, 0, 0, 122, 2066,
11996
+ 1, 0, 0, 0, 124, 2068, 1, 0, 0, 0, 126, 2070, 1, 0, 0, 0, 128, 2080, 1, 0, 0, 0, 130, 2082,
11997
+ 1, 0, 0, 0, 132, 2175, 1, 0, 0, 0, 134, 2193, 1, 0, 0, 0, 136, 2197, 1, 0, 0, 0, 138, 2199,
11998
+ 1, 0, 0, 0, 140, 2204, 1, 0, 0, 0, 142, 2274, 1, 0, 0, 0, 144, 2276, 1, 0, 0, 0, 146, 2293,
11999
+ 1, 0, 0, 0, 148, 2357, 1, 0, 0, 0, 150, 2368, 1, 0, 0, 0, 152, 2370, 1, 0, 0, 0, 154, 2410,
12000
+ 1, 0, 0, 0, 156, 2442, 1, 0, 0, 0, 158, 2444, 1, 0, 0, 0, 160, 2452, 1, 0, 0, 0, 162, 2459,
12001
+ 1, 0, 0, 0, 164, 2468, 1, 0, 0, 0, 166, 2475, 1, 0, 0, 0, 168, 2482, 1, 0, 0, 0, 170, 2484,
12002
+ 1, 0, 0, 0, 172, 2492, 1, 0, 0, 0, 174, 2496, 1, 0, 0, 0, 176, 2498, 1, 0, 0, 0, 178, 2500,
12003
+ 1, 0, 0, 0, 180, 2502, 1, 0, 0, 0, 182, 2504, 1, 0, 0, 0, 184, 2517, 1, 0, 0, 0, 186, 2530,
12004
+ 1, 0, 0, 0, 188, 2532, 1, 0, 0, 0, 190, 2534, 1, 0, 0, 0, 192, 2541, 1, 0, 0, 0, 194, 2543,
12005
+ 1, 0, 0, 0, 196, 2545, 1, 0, 0, 0, 198, 2547, 1, 0, 0, 0, 200, 2551, 1, 0, 0, 0, 202, 2553,
12006
+ 1, 0, 0, 0, 204, 2555, 1, 0, 0, 0, 206, 2566, 1, 0, 0, 0, 208, 2573, 1, 0, 0, 0, 210, 2575,
12007
+ 1, 0, 0, 0, 212, 2588, 1, 0, 0, 0, 214, 2602, 1, 0, 0, 0, 216, 2604, 1, 0, 0, 0, 218, 220,
12008
+ 3, 2, 1, 0, 219, 218, 1, 0, 0, 0, 220, 223, 1, 0, 0, 0, 221, 219, 1, 0, 0, 0, 221, 222,
12009
+ 1, 0, 0, 0, 222, 224, 1, 0, 0, 0, 223, 221, 1, 0, 0, 0, 224, 225, 5, 0, 0, 1, 225, 1, 1,
12010
+ 0, 0, 0, 226, 227, 3, 6, 3, 0, 227, 3, 1, 0, 0, 0, 228, 233, 3, 8, 4, 0, 229, 233, 3, 10,
12011
+ 5, 0, 230, 233, 3, 12, 6, 0, 231, 233, 3, 14, 7, 0, 232, 228, 1, 0, 0, 0, 232, 229, 1,
12012
+ 0, 0, 0, 232, 230, 1, 0, 0, 0, 232, 231, 1, 0, 0, 0, 233, 5, 1, 0, 0, 0, 234, 236, 3, 16,
12013
+ 8, 0, 235, 237, 5, 272, 0, 0, 236, 235, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 7, 1, 0,
12014
+ 0, 0, 238, 240, 3, 102, 51, 0, 239, 241, 5, 272, 0, 0, 240, 239, 1, 0, 0, 0, 240, 241,
12015
+ 1, 0, 0, 0, 241, 9, 1, 0, 0, 0, 242, 244, 3, 170, 85, 0, 243, 245, 5, 272, 0, 0, 244, 243,
12016
+ 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 11, 1, 0, 0, 0, 246, 248, 3, 132, 66, 0, 247, 249,
12017
+ 5, 272, 0, 0, 248, 247, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 13, 1, 0, 0, 0, 250, 252,
12018
+ 3, 152, 76, 0, 251, 253, 5, 272, 0, 0, 252, 251, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253,
12019
+ 15, 1, 0, 0, 0, 254, 1037, 3, 18, 9, 0, 255, 256, 5, 233, 0, 0, 256, 1037, 3, 188, 94,
12020
+ 0, 257, 258, 5, 44, 0, 0, 258, 262, 5, 195, 0, 0, 259, 260, 5, 101, 0, 0, 260, 261, 5,
12021
+ 147, 0, 0, 261, 263, 5, 77, 0, 0, 262, 259, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264,
12022
+ 1, 0, 0, 0, 264, 267, 3, 190, 95, 0, 265, 266, 5, 29, 0, 0, 266, 268, 3, 208, 104, 0,
12023
+ 267, 265, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 271, 1, 0, 0, 0, 269, 270, 5, 243, 0,
12024
+ 0, 270, 272, 3, 28, 14, 0, 271, 269, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 1037, 1, 0,
12025
+ 0, 0, 273, 274, 5, 69, 0, 0, 274, 277, 5, 195, 0, 0, 275, 276, 5, 101, 0, 0, 276, 278,
12026
+ 5, 77, 0, 0, 277, 275, 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 281,
12027
+ 3, 188, 94, 0, 280, 282, 7, 0, 0, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 1037,
12028
+ 1, 0, 0, 0, 283, 284, 5, 21, 0, 0, 284, 285, 5, 195, 0, 0, 285, 286, 3, 188, 94, 0, 286,
12029
+ 287, 5, 180, 0, 0, 287, 288, 5, 220, 0, 0, 288, 289, 3, 190, 95, 0, 289, 1037, 1, 0,
12030
+ 0, 0, 290, 291, 5, 21, 0, 0, 291, 292, 5, 195, 0, 0, 292, 293, 3, 188, 94, 0, 293, 294,
12031
+ 5, 203, 0, 0, 294, 295, 5, 29, 0, 0, 295, 296, 3, 208, 104, 0, 296, 1037, 1, 0, 0, 0,
12032
+ 297, 298, 5, 44, 0, 0, 298, 302, 5, 212, 0, 0, 299, 300, 5, 101, 0, 0, 300, 301, 5, 147,
12033
+ 0, 0, 301, 303, 5, 77, 0, 0, 302, 299, 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303, 304, 1, 0,
12034
+ 0, 0, 304, 306, 3, 178, 89, 0, 305, 307, 3, 94, 47, 0, 306, 305, 1, 0, 0, 0, 306, 307,
12035
+ 1, 0, 0, 0, 307, 310, 1, 0, 0, 0, 308, 309, 5, 40, 0, 0, 309, 311, 3, 116, 58, 0, 310,
12036
+ 308, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 314, 1, 0, 0, 0, 312, 313, 5, 243, 0, 0, 313,
12037
+ 315, 3, 28, 14, 0, 314, 312, 1, 0, 0, 0, 314, 315, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316,
12038
+ 322, 5, 26, 0, 0, 317, 323, 3, 18, 9, 0, 318, 319, 5, 1, 0, 0, 319, 320, 3, 18, 9, 0, 320,
12039
+ 321, 5, 2, 0, 0, 321, 323, 1, 0, 0, 0, 322, 317, 1, 0, 0, 0, 322, 318, 1, 0, 0, 0, 323,
12040
+ 329, 1, 0, 0, 0, 324, 326, 5, 243, 0, 0, 325, 327, 5, 144, 0, 0, 326, 325, 1, 0, 0, 0,
12041
+ 326, 327, 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 330, 5, 56, 0, 0, 329, 324, 1, 0, 0, 0,
12042
+ 329, 330, 1, 0, 0, 0, 330, 1037, 1, 0, 0, 0, 331, 332, 5, 44, 0, 0, 332, 336, 5, 212,
12043
+ 0, 0, 333, 334, 5, 101, 0, 0, 334, 335, 5, 147, 0, 0, 335, 337, 5, 77, 0, 0, 336, 333,
12044
+ 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 3, 178, 89, 0, 339, 340,
12045
+ 5, 1, 0, 0, 340, 345, 3, 22, 11, 0, 341, 342, 5, 3, 0, 0, 342, 344, 3, 22, 11, 0, 343,
12046
+ 341, 1, 0, 0, 0, 344, 347, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346,
12047
+ 348, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 348, 351, 5, 2, 0, 0, 349, 350, 5, 40, 0, 0, 350,
12048
+ 352, 3, 116, 58, 0, 351, 349, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 355, 1, 0, 0, 0, 353,
12049
+ 354, 5, 243, 0, 0, 354, 356, 3, 28, 14, 0, 355, 353, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0,
12050
+ 356, 1037, 1, 0, 0, 0, 357, 358, 5, 69, 0, 0, 358, 361, 5, 212, 0, 0, 359, 360, 5, 101,
12051
+ 0, 0, 360, 362, 5, 77, 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 363, 1, 0,
12052
+ 0, 0, 363, 1037, 3, 176, 88, 0, 364, 365, 5, 108, 0, 0, 365, 366, 5, 111, 0, 0, 366,
12053
+ 368, 3, 176, 88, 0, 367, 369, 3, 96, 48, 0, 368, 367, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0,
12054
+ 369, 370, 1, 0, 0, 0, 370, 371, 3, 18, 9, 0, 371, 1037, 1, 0, 0, 0, 372, 373, 5, 62, 0,
12055
+ 0, 373, 374, 5, 88, 0, 0, 374, 377, 3, 176, 88, 0, 375, 376, 5, 241, 0, 0, 376, 378,
12056
+ 3, 104, 52, 0, 377, 375, 1, 0, 0, 0, 377, 378, 1, 0, 0, 0, 378, 1037, 1, 0, 0, 0, 379,
12057
+ 380, 5, 222, 0, 0, 380, 381, 5, 212, 0, 0, 381, 1037, 3, 176, 88, 0, 382, 383, 5, 21,
12058
+ 0, 0, 383, 386, 5, 212, 0, 0, 384, 385, 5, 101, 0, 0, 385, 387, 5, 77, 0, 0, 386, 384,
12059
+ 1, 0, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 389, 3, 176, 88, 0, 389, 390,
12060
+ 5, 180, 0, 0, 390, 391, 5, 220, 0, 0, 391, 392, 3, 178, 89, 0, 392, 1037, 1, 0, 0, 0,
12061
+ 393, 394, 5, 40, 0, 0, 394, 395, 5, 153, 0, 0, 395, 396, 5, 212, 0, 0, 396, 397, 3, 176,
12062
+ 88, 0, 397, 400, 5, 114, 0, 0, 398, 401, 3, 116, 58, 0, 399, 401, 5, 148, 0, 0, 400,
12063
+ 398, 1, 0, 0, 0, 400, 399, 1, 0, 0, 0, 401, 1037, 1, 0, 0, 0, 402, 403, 5, 40, 0, 0, 403,
12064
+ 404, 5, 153, 0, 0, 404, 405, 5, 38, 0, 0, 405, 406, 3, 200, 100, 0, 406, 409, 5, 114,
12065
+ 0, 0, 407, 410, 3, 116, 58, 0, 408, 410, 5, 148, 0, 0, 409, 407, 1, 0, 0, 0, 409, 408,
12066
+ 1, 0, 0, 0, 410, 1037, 1, 0, 0, 0, 411, 412, 5, 21, 0, 0, 412, 415, 5, 212, 0, 0, 413,
12067
+ 414, 5, 101, 0, 0, 414, 416, 5, 77, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416,
12068
+ 417, 1, 0, 0, 0, 417, 418, 3, 176, 88, 0, 418, 419, 5, 180, 0, 0, 419, 422, 5, 38, 0,
12069
+ 0, 420, 421, 5, 101, 0, 0, 421, 423, 5, 77, 0, 0, 422, 420, 1, 0, 0, 0, 422, 423, 1, 0,
12070
+ 0, 0, 423, 424, 1, 0, 0, 0, 424, 425, 3, 200, 100, 0, 425, 426, 5, 220, 0, 0, 426, 427,
12071
+ 3, 202, 101, 0, 427, 1037, 1, 0, 0, 0, 428, 429, 5, 21, 0, 0, 429, 432, 5, 212, 0, 0,
12072
+ 430, 431, 5, 101, 0, 0, 431, 433, 5, 77, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0,
12073
+ 0, 433, 434, 1, 0, 0, 0, 434, 435, 3, 176, 88, 0, 435, 436, 5, 69, 0, 0, 436, 439, 5,
12074
+ 38, 0, 0, 437, 438, 5, 101, 0, 0, 438, 440, 5, 77, 0, 0, 439, 437, 1, 0, 0, 0, 439, 440,
12075
+ 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 442, 3, 200, 100, 0, 442, 1037, 1, 0, 0, 0, 443,
12076
+ 444, 5, 21, 0, 0, 444, 447, 5, 212, 0, 0, 445, 446, 5, 101, 0, 0, 446, 448, 5, 77, 0,
12077
+ 0, 447, 445, 1, 0, 0, 0, 447, 448, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 450, 3, 176,
12078
+ 88, 0, 450, 451, 5, 17, 0, 0, 451, 455, 5, 38, 0, 0, 452, 453, 5, 101, 0, 0, 453, 454,
12079
+ 5, 147, 0, 0, 454, 456, 5, 77, 0, 0, 455, 452, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 457,
12080
+ 1, 0, 0, 0, 457, 458, 3, 24, 12, 0, 458, 1037, 1, 0, 0, 0, 459, 460, 5, 21, 0, 0, 460,
12081
+ 461, 5, 212, 0, 0, 461, 462, 3, 176, 88, 0, 462, 463, 5, 203, 0, 0, 463, 464, 5, 29,
12082
+ 0, 0, 464, 465, 3, 208, 104, 0, 465, 1037, 1, 0, 0, 0, 466, 467, 5, 21, 0, 0, 467, 468,
12083
+ 5, 212, 0, 0, 468, 469, 3, 176, 88, 0, 469, 470, 5, 203, 0, 0, 470, 471, 5, 175, 0, 0,
12084
+ 471, 472, 3, 30, 15, 0, 472, 1037, 1, 0, 0, 0, 473, 474, 5, 21, 0, 0, 474, 475, 5, 212,
12085
+ 0, 0, 475, 476, 3, 176, 88, 0, 476, 477, 5, 76, 0, 0, 477, 490, 3, 212, 106, 0, 478,
12086
+ 487, 5, 1, 0, 0, 479, 484, 3, 166, 83, 0, 480, 481, 5, 3, 0, 0, 481, 483, 3, 166, 83,
12087
+ 0, 482, 480, 1, 0, 0, 0, 483, 486, 1, 0, 0, 0, 484, 482, 1, 0, 0, 0, 484, 485, 1, 0, 0,
12088
+ 0, 485, 488, 1, 0, 0, 0, 486, 484, 1, 0, 0, 0, 487, 479, 1, 0, 0, 0, 487, 488, 1, 0, 0,
12089
+ 0, 488, 489, 1, 0, 0, 0, 489, 491, 5, 2, 0, 0, 490, 478, 1, 0, 0, 0, 490, 491, 1, 0, 0,
12090
+ 0, 491, 494, 1, 0, 0, 0, 492, 493, 5, 241, 0, 0, 493, 495, 3, 104, 52, 0, 494, 492, 1,
12091
+ 0, 0, 0, 494, 495, 1, 0, 0, 0, 495, 1037, 1, 0, 0, 0, 496, 497, 5, 22, 0, 0, 497, 500,
12092
+ 3, 176, 88, 0, 498, 499, 5, 243, 0, 0, 499, 501, 3, 28, 14, 0, 500, 498, 1, 0, 0, 0, 500,
12093
+ 501, 1, 0, 0, 0, 501, 1037, 1, 0, 0, 0, 502, 505, 5, 44, 0, 0, 503, 504, 5, 157, 0, 0,
12094
+ 504, 506, 5, 182, 0, 0, 505, 503, 1, 0, 0, 0, 505, 506, 1, 0, 0, 0, 506, 507, 1, 0, 0,
12095
+ 0, 507, 508, 5, 133, 0, 0, 508, 512, 5, 239, 0, 0, 509, 510, 5, 101, 0, 0, 510, 511,
12096
+ 5, 147, 0, 0, 511, 513, 5, 77, 0, 0, 512, 509, 1, 0, 0, 0, 512, 513, 1, 0, 0, 0, 513, 514,
12097
+ 1, 0, 0, 0, 514, 517, 3, 182, 91, 0, 515, 516, 5, 40, 0, 0, 516, 518, 3, 116, 58, 0, 517,
12098
+ 515, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 521, 1, 0, 0, 0, 519, 520, 5, 243, 0, 0, 520,
12099
+ 522, 3, 28, 14, 0, 521, 519, 1, 0, 0, 0, 521, 522, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523,
12100
+ 524, 5, 26, 0, 0, 524, 525, 3, 18, 9, 0, 525, 1037, 1, 0, 0, 0, 526, 529, 5, 44, 0, 0,
12101
+ 527, 528, 5, 157, 0, 0, 528, 530, 5, 182, 0, 0, 529, 527, 1, 0, 0, 0, 529, 530, 1, 0,
12102
+ 0, 0, 530, 531, 1, 0, 0, 0, 531, 532, 5, 239, 0, 0, 532, 535, 3, 182, 91, 0, 533, 534,
12103
+ 5, 40, 0, 0, 534, 536, 3, 116, 58, 0, 535, 533, 1, 0, 0, 0, 535, 536, 1, 0, 0, 0, 536,
12104
+ 539, 1, 0, 0, 0, 537, 538, 5, 198, 0, 0, 538, 540, 7, 1, 0, 0, 539, 537, 1, 0, 0, 0, 539,
12105
+ 540, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 542, 5, 26, 0, 0, 542, 543, 3, 18, 9, 0, 543,
12106
+ 1037, 1, 0, 0, 0, 544, 545, 5, 179, 0, 0, 545, 546, 5, 133, 0, 0, 546, 547, 5, 239, 0,
12107
+ 0, 547, 1037, 3, 180, 90, 0, 548, 549, 5, 69, 0, 0, 549, 550, 5, 133, 0, 0, 550, 553,
12108
+ 5, 239, 0, 0, 551, 552, 5, 101, 0, 0, 552, 554, 5, 77, 0, 0, 553, 551, 1, 0, 0, 0, 553,
12109
+ 554, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0, 555, 1037, 3, 180, 90, 0, 556, 557, 5, 21, 0, 0,
12110
+ 557, 558, 5, 133, 0, 0, 558, 561, 5, 239, 0, 0, 559, 560, 5, 101, 0, 0, 560, 562, 5,
12111
+ 77, 0, 0, 561, 559, 1, 0, 0, 0, 561, 562, 1, 0, 0, 0, 562, 563, 1, 0, 0, 0, 563, 564, 3,
12112
+ 180, 90, 0, 564, 565, 5, 180, 0, 0, 565, 566, 5, 220, 0, 0, 566, 567, 3, 182, 91, 0,
12113
+ 567, 1037, 1, 0, 0, 0, 568, 569, 5, 21, 0, 0, 569, 570, 5, 133, 0, 0, 570, 571, 5, 239,
12114
+ 0, 0, 571, 572, 3, 180, 90, 0, 572, 573, 5, 203, 0, 0, 573, 574, 5, 175, 0, 0, 574, 575,
12115
+ 3, 30, 15, 0, 575, 1037, 1, 0, 0, 0, 576, 577, 5, 69, 0, 0, 577, 580, 5, 239, 0, 0, 578,
12116
+ 579, 5, 101, 0, 0, 579, 581, 5, 77, 0, 0, 580, 578, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581,
12117
+ 582, 1, 0, 0, 0, 582, 1037, 3, 180, 90, 0, 583, 584, 5, 21, 0, 0, 584, 585, 5, 239, 0,
12118
+ 0, 585, 586, 3, 180, 90, 0, 586, 587, 5, 180, 0, 0, 587, 588, 5, 220, 0, 0, 588, 589,
12119
+ 3, 182, 91, 0, 589, 1037, 1, 0, 0, 0, 590, 591, 5, 21, 0, 0, 591, 592, 5, 239, 0, 0, 592,
12120
+ 593, 3, 180, 90, 0, 593, 594, 5, 203, 0, 0, 594, 595, 5, 29, 0, 0, 595, 596, 3, 208,
12121
+ 104, 0, 596, 1037, 1, 0, 0, 0, 597, 598, 5, 33, 0, 0, 598, 599, 3, 198, 99, 0, 599, 608,
12122
+ 5, 1, 0, 0, 600, 605, 3, 166, 83, 0, 601, 602, 5, 3, 0, 0, 602, 604, 3, 166, 83, 0, 603,
12123
+ 601, 1, 0, 0, 0, 604, 607, 1, 0, 0, 0, 605, 603, 1, 0, 0, 0, 605, 606, 1, 0, 0, 0, 606,
12124
+ 609, 1, 0, 0, 0, 607, 605, 1, 0, 0, 0, 608, 600, 1, 0, 0, 0, 608, 609, 1, 0, 0, 0, 609,
12125
+ 610, 1, 0, 0, 0, 610, 611, 5, 2, 0, 0, 611, 1037, 1, 0, 0, 0, 612, 613, 5, 44, 0, 0, 613,
12126
+ 614, 5, 188, 0, 0, 614, 618, 3, 212, 106, 0, 615, 616, 5, 243, 0, 0, 616, 617, 5, 18,
12127
+ 0, 0, 617, 619, 3, 206, 103, 0, 618, 615, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 622,
12128
+ 1, 0, 0, 0, 620, 621, 5, 103, 0, 0, 621, 623, 3, 194, 97, 0, 622, 620, 1, 0, 0, 0, 622,
12129
+ 623, 1, 0, 0, 0, 623, 1037, 1, 0, 0, 0, 624, 625, 5, 69, 0, 0, 625, 626, 5, 188, 0, 0,
12130
+ 626, 1037, 3, 212, 106, 0, 627, 628, 5, 91, 0, 0, 628, 629, 3, 210, 105, 0, 629, 630,
12131
+ 5, 220, 0, 0, 630, 635, 3, 208, 104, 0, 631, 632, 5, 3, 0, 0, 632, 634, 3, 208, 104,
12132
+ 0, 633, 631, 1, 0, 0, 0, 634, 637, 1, 0, 0, 0, 635, 633, 1, 0, 0, 0, 635, 636, 1, 0, 0,
12133
+ 0, 636, 641, 1, 0, 0, 0, 637, 635, 1, 0, 0, 0, 638, 639, 5, 243, 0, 0, 639, 640, 5, 18,
12134
+ 0, 0, 640, 642, 5, 156, 0, 0, 641, 638, 1, 0, 0, 0, 641, 642, 1, 0, 0, 0, 642, 646, 1,
12135
+ 0, 0, 0, 643, 644, 5, 92, 0, 0, 644, 645, 5, 32, 0, 0, 645, 647, 3, 206, 103, 0, 646,
12136
+ 643, 1, 0, 0, 0, 646, 647, 1, 0, 0, 0, 647, 650, 1, 0, 0, 0, 648, 649, 5, 103, 0, 0, 649,
12137
+ 651, 3, 194, 97, 0, 650, 648, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 1037, 1, 0, 0, 0,
12138
+ 652, 656, 5, 186, 0, 0, 653, 654, 5, 18, 0, 0, 654, 655, 5, 156, 0, 0, 655, 657, 5, 86,
12139
+ 0, 0, 656, 653, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 658, 1, 0, 0, 0, 658, 659, 3, 210,
12110
12140
  105, 0, 659, 660, 5, 88, 0, 0, 660, 665, 3, 208, 104, 0, 661, 662, 5, 3, 0, 0, 662, 664,
12111
12141
  3, 208, 104, 0, 663, 661, 1, 0, 0, 0, 664, 667, 1, 0, 0, 0, 665, 663, 1, 0, 0, 0, 665,
12112
12142
  666, 1, 0, 0, 0, 666, 671, 1, 0, 0, 0, 667, 665, 1, 0, 0, 0, 668, 669, 5, 92, 0, 0, 669,
@@ -12761,27 +12791,28 @@ TrinoSqlParser._serializedATN = [
12761
12791
  212, 106, 0, 2540, 2542, 1, 0, 0, 0, 2541, 2536, 1, 0, 0, 0, 2541, 2537, 1, 0, 0, 0,
12762
12792
  2542, 193, 1, 0, 0, 0, 2543, 2544, 3, 212, 106, 0, 2544, 195, 1, 0, 0, 0, 2545, 2546,
12763
12793
  3, 212, 106, 0, 2546, 197, 1, 0, 0, 0, 2547, 2548, 3, 204, 102, 0, 2548, 199, 1, 0,
12764
- 0, 0, 2549, 2550, 3, 204, 102, 0, 2550, 201, 1, 0, 0, 0, 2551, 2552, 3, 212, 106, 0,
12765
- 2552, 203, 1, 0, 0, 0, 2553, 2558, 3, 212, 106, 0, 2554, 2555, 5, 4, 0, 0, 2555, 2557,
12766
- 3, 212, 106, 0, 2556, 2554, 1, 0, 0, 0, 2557, 2560, 1, 0, 0, 0, 2558, 2556, 1, 0, 0,
12767
- 0, 2558, 2559, 1, 0, 0, 0, 2559, 205, 1, 0, 0, 0, 2560, 2558, 1, 0, 0, 0, 2561, 2565,
12768
- 3, 208, 104, 0, 2562, 2565, 5, 55, 0, 0, 2563, 2565, 5, 51, 0, 0, 2564, 2561, 1, 0,
12769
- 0, 0, 2564, 2562, 1, 0, 0, 0, 2564, 2563, 1, 0, 0, 0, 2565, 207, 1, 0, 0, 0, 2566, 2572,
12770
- 3, 212, 106, 0, 2567, 2568, 5, 234, 0, 0, 2568, 2572, 3, 212, 106, 0, 2569, 2570,
12771
- 5, 188, 0, 0, 2570, 2572, 3, 212, 106, 0, 2571, 2566, 1, 0, 0, 0, 2571, 2567, 1, 0,
12772
- 0, 0, 2571, 2569, 1, 0, 0, 0, 2572, 209, 1, 0, 0, 0, 2573, 2578, 3, 212, 106, 0, 2574,
12773
- 2575, 5, 3, 0, 0, 2575, 2577, 3, 212, 106, 0, 2576, 2574, 1, 0, 0, 0, 2577, 2580, 1,
12774
- 0, 0, 0, 2578, 2576, 1, 0, 0, 0, 2578, 2579, 1, 0, 0, 0, 2579, 211, 1, 0, 0, 0, 2580,
12775
- 2578, 1, 0, 0, 0, 2581, 2587, 5, 268, 0, 0, 2582, 2587, 5, 270, 0, 0, 2583, 2587, 3,
12776
- 216, 108, 0, 2584, 2587, 5, 271, 0, 0, 2585, 2587, 5, 269, 0, 0, 2586, 2581, 1, 0,
12777
- 0, 0, 2586, 2582, 1, 0, 0, 0, 2586, 2583, 1, 0, 0, 0, 2586, 2584, 1, 0, 0, 0, 2586, 2585,
12778
- 1, 0, 0, 0, 2587, 213, 1, 0, 0, 0, 2588, 2590, 5, 256, 0, 0, 2589, 2588, 1, 0, 0, 0, 2589,
12779
- 2590, 1, 0, 0, 0, 2590, 2591, 1, 0, 0, 0, 2591, 2601, 5, 266, 0, 0, 2592, 2594, 5, 256,
12780
- 0, 0, 2593, 2592, 1, 0, 0, 0, 2593, 2594, 1, 0, 0, 0, 2594, 2595, 1, 0, 0, 0, 2595, 2601,
12781
- 5, 267, 0, 0, 2596, 2598, 5, 256, 0, 0, 2597, 2596, 1, 0, 0, 0, 2597, 2598, 1, 0, 0,
12782
- 0, 2598, 2599, 1, 0, 0, 0, 2599, 2601, 5, 265, 0, 0, 2600, 2589, 1, 0, 0, 0, 2600, 2593,
12783
- 1, 0, 0, 0, 2600, 2597, 1, 0, 0, 0, 2601, 215, 1, 0, 0, 0, 2602, 2603, 7, 26, 0, 0, 2603,
12784
- 217, 1, 0, 0, 0, 339, 221, 232, 236, 240, 244, 248, 252, 262, 267, 271, 277, 281,
12794
+ 0, 0, 2549, 2552, 3, 204, 102, 0, 2550, 2552, 4, 100, 14, 0, 2551, 2549, 1, 0, 0, 0,
12795
+ 2551, 2550, 1, 0, 0, 0, 2552, 201, 1, 0, 0, 0, 2553, 2554, 3, 212, 106, 0, 2554, 203,
12796
+ 1, 0, 0, 0, 2555, 2560, 3, 212, 106, 0, 2556, 2557, 5, 4, 0, 0, 2557, 2559, 3, 212,
12797
+ 106, 0, 2558, 2556, 1, 0, 0, 0, 2559, 2562, 1, 0, 0, 0, 2560, 2558, 1, 0, 0, 0, 2560,
12798
+ 2561, 1, 0, 0, 0, 2561, 205, 1, 0, 0, 0, 2562, 2560, 1, 0, 0, 0, 2563, 2567, 3, 208,
12799
+ 104, 0, 2564, 2567, 5, 55, 0, 0, 2565, 2567, 5, 51, 0, 0, 2566, 2563, 1, 0, 0, 0, 2566,
12800
+ 2564, 1, 0, 0, 0, 2566, 2565, 1, 0, 0, 0, 2567, 207, 1, 0, 0, 0, 2568, 2574, 3, 212,
12801
+ 106, 0, 2569, 2570, 5, 234, 0, 0, 2570, 2574, 3, 212, 106, 0, 2571, 2572, 5, 188,
12802
+ 0, 0, 2572, 2574, 3, 212, 106, 0, 2573, 2568, 1, 0, 0, 0, 2573, 2569, 1, 0, 0, 0, 2573,
12803
+ 2571, 1, 0, 0, 0, 2574, 209, 1, 0, 0, 0, 2575, 2580, 3, 212, 106, 0, 2576, 2577, 5,
12804
+ 3, 0, 0, 2577, 2579, 3, 212, 106, 0, 2578, 2576, 1, 0, 0, 0, 2579, 2582, 1, 0, 0, 0,
12805
+ 2580, 2578, 1, 0, 0, 0, 2580, 2581, 1, 0, 0, 0, 2581, 211, 1, 0, 0, 0, 2582, 2580, 1,
12806
+ 0, 0, 0, 2583, 2589, 5, 268, 0, 0, 2584, 2589, 5, 270, 0, 0, 2585, 2589, 3, 216, 108,
12807
+ 0, 2586, 2589, 5, 271, 0, 0, 2587, 2589, 5, 269, 0, 0, 2588, 2583, 1, 0, 0, 0, 2588,
12808
+ 2584, 1, 0, 0, 0, 2588, 2585, 1, 0, 0, 0, 2588, 2586, 1, 0, 0, 0, 2588, 2587, 1, 0, 0,
12809
+ 0, 2589, 213, 1, 0, 0, 0, 2590, 2592, 5, 256, 0, 0, 2591, 2590, 1, 0, 0, 0, 2591, 2592,
12810
+ 1, 0, 0, 0, 2592, 2593, 1, 0, 0, 0, 2593, 2603, 5, 266, 0, 0, 2594, 2596, 5, 256, 0,
12811
+ 0, 2595, 2594, 1, 0, 0, 0, 2595, 2596, 1, 0, 0, 0, 2596, 2597, 1, 0, 0, 0, 2597, 2603,
12812
+ 5, 267, 0, 0, 2598, 2600, 5, 256, 0, 0, 2599, 2598, 1, 0, 0, 0, 2599, 2600, 1, 0, 0,
12813
+ 0, 2600, 2601, 1, 0, 0, 0, 2601, 2603, 5, 265, 0, 0, 2602, 2591, 1, 0, 0, 0, 2602, 2595,
12814
+ 1, 0, 0, 0, 2602, 2599, 1, 0, 0, 0, 2603, 215, 1, 0, 0, 0, 2604, 2605, 7, 26, 0, 0, 2605,
12815
+ 217, 1, 0, 0, 0, 340, 221, 232, 236, 240, 244, 248, 252, 262, 267, 271, 277, 281,
12785
12816
  302, 306, 310, 314, 322, 326, 329, 336, 345, 351, 355, 361, 368, 377, 386, 400,
12786
12817
  409, 415, 422, 432, 439, 447, 455, 484, 487, 490, 494, 500, 505, 512, 517, 521,
12787
12818
  529, 535, 539, 553, 561, 580, 605, 608, 618, 622, 635, 641, 646, 650, 656, 665,
@@ -12805,7 +12836,7 @@ TrinoSqlParser._serializedATN = [
12805
12836
  2255, 2260, 2269, 2274, 2282, 2290, 2293, 2299, 2302, 2309, 2317, 2320, 2328,
12806
12837
  2331, 2357, 2368, 2373, 2380, 2382, 2395, 2410, 2414, 2418, 2422, 2428, 2432,
12807
12838
  2436, 2440, 2442, 2452, 2459, 2468, 2475, 2482, 2489, 2496, 2517, 2530, 2541,
12808
- 2558, 2564, 2571, 2578, 2586, 2589, 2593, 2597, 2600
12839
+ 2551, 2560, 2566, 2573, 2580, 2588, 2591, 2595, 2599, 2602
12809
12840
  ];
12810
12841
  TrinoSqlParser.vocabulary = new antlr.Vocabulary(TrinoSqlParser.literalNames, TrinoSqlParser.symbolicNames, []);
12811
12842
  TrinoSqlParser.decisionsToDFA = TrinoSqlParser._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
@@ -16280,28 +16311,37 @@ export class QueryContext extends antlr.ParserRuleContext {
16280
16311
  constructor(parent, invokingState) {
16281
16312
  super(parent, invokingState);
16282
16313
  }
16314
+ get ruleIndex() {
16315
+ return TrinoSqlParser.RULE_query;
16316
+ }
16317
+ copyFrom(ctx) {
16318
+ super.copyFrom(ctx);
16319
+ }
16320
+ }
16321
+ export class QueryStatementContext extends QueryContext {
16322
+ constructor(ctx) {
16323
+ super(ctx.parent, ctx.invokingState);
16324
+ super.copyFrom(ctx);
16325
+ }
16283
16326
  queryNoWith() {
16284
16327
  return this.getRuleContext(0, QueryNoWithContext);
16285
16328
  }
16286
16329
  with() {
16287
16330
  return this.getRuleContext(0, WithContext);
16288
16331
  }
16289
- get ruleIndex() {
16290
- return TrinoSqlParser.RULE_query;
16291
- }
16292
16332
  enterRule(listener) {
16293
- if (listener.enterQuery) {
16294
- listener.enterQuery(this);
16333
+ if (listener.enterQueryStatement) {
16334
+ listener.enterQueryStatement(this);
16295
16335
  }
16296
16336
  }
16297
16337
  exitRule(listener) {
16298
- if (listener.exitQuery) {
16299
- listener.exitQuery(this);
16338
+ if (listener.exitQueryStatement) {
16339
+ listener.exitQueryStatement(this);
16300
16340
  }
16301
16341
  }
16302
16342
  accept(visitor) {
16303
- if (visitor.visitQuery) {
16304
- return visitor.visitQuery(this);
16343
+ if (visitor.visitQueryStatement) {
16344
+ return visitor.visitQueryStatement(this);
16305
16345
  }
16306
16346
  else {
16307
16347
  return visitor.visitChildren(this);