cariboujs 2.0.4 → 2.0.6

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 (109) hide show
  1. package/README.md +13 -3
  2. package/ada/ada2012/AdaLexer.js +486 -316
  3. package/ada/ada2012/AdaLexerBase.js +25 -0
  4. package/ada/ada2012/AdaParser.js +4547 -3823
  5. package/ada/ada2012/AdaParserBase.js +682 -0
  6. package/ada/ada2012/AdaParserListener.js +36 -0
  7. package/ada/ada2012/AdaParserVisitor.js +24 -0
  8. package/ada/ada2012/Symbol.js +20 -0
  9. package/ada/ada2012/SymbolTable.js +144 -0
  10. package/ada/ada2012/TypeClassification.js +15 -0
  11. package/ada/ada2022/AdaLexer.js +699 -0
  12. package/ada/ada2022/AdaLexerBase.js +25 -0
  13. package/ada/ada2022/AdaParser.js +37818 -0
  14. package/ada/ada2022/AdaParserBase.js +686 -0
  15. package/ada/ada2022/AdaParserListener.js +3024 -0
  16. package/ada/ada2022/AdaParserVisitor.js +2020 -0
  17. package/ada/ada2022/Symbol.js +20 -0
  18. package/ada/ada2022/SymbolTable.js +144 -0
  19. package/ada/ada2022/TypeClassification.js +15 -0
  20. package/c/CLexer.js +918 -0
  21. package/c/CLexerBase.js +96 -0
  22. package/c/CParser.js +14878 -0
  23. package/c/CParserBase.js +617 -0
  24. package/c/CParserListener.js +1062 -0
  25. package/c/CParserVisitor.js +712 -0
  26. package/c/ErrorListener.js +50 -0
  27. package/c/Symbol.js +28 -0
  28. package/c/SymbolTable.js +220 -0
  29. package/c/TypeClassification.js +21 -0
  30. package/cpp/CPP14Parser.js +630 -619
  31. package/cpp/CPP14ParserListener.js +56 -56
  32. package/cpp/CPP14ParserVisitor.js +28 -28
  33. package/csharp/v7/CSharpLexer.js +1339 -0
  34. package/csharp/v7/CSharpLexerBase.js +332 -0
  35. package/csharp/v7/CSharpParser.js +29239 -0
  36. package/csharp/v7/CSharpParserBase.js +48 -0
  37. package/csharp/v7/CSharpParserListener.js +2304 -0
  38. package/csharp/v7/CSharpParserVisitor.js +1540 -0
  39. package/csharp/v8-spec/CSharpLexer.js +1549 -0
  40. package/csharp/v8-spec/CSharpLexerBase.js +296 -0
  41. package/csharp/v8-spec/CSharpParser.js +45055 -0
  42. package/csharp/v8-spec/CSharpParserBase.js +587 -0
  43. package/csharp/v8-spec/CSharpParserListener.js +3582 -0
  44. package/csharp/v8-spec/CSharpParserVisitor.js +2392 -0
  45. package/cypher/CypherParser.js +1171 -780
  46. package/cypher/CypherParserListener.js +27 -0
  47. package/cypher/CypherParserVisitor.js +18 -0
  48. package/geekcode/geekcodeLexer.js +232 -0
  49. package/geekcode/geekcodeListener.js +81 -0
  50. package/geekcode/geekcodeParser.js +1516 -0
  51. package/geekcode/geekcodeVisitor.js +58 -0
  52. package/gql/GQLLexer.js +2203 -0
  53. package/gql/GQLListener.js +5499 -0
  54. package/gql/GQLParser.js +58653 -0
  55. package/gql/GQLVisitor.js +3670 -0
  56. package/kotlin/kotlin/KotlinLexer.js +1257 -1247
  57. package/kotlin/kotlin/KotlinParser.js +3991 -3425
  58. package/kotlin/kotlin/KotlinParserListener.js +36 -0
  59. package/kotlin/kotlin/KotlinParserVisitor.js +24 -0
  60. package/maml/MAMLLexer.js +116 -0
  61. package/maml/MAMLListener.js +72 -0
  62. package/maml/MAMLParser.js +935 -0
  63. package/maml/MAMLVisitor.js +52 -0
  64. package/odin/odinLexer.js +739 -0
  65. package/odin/odinListener.js +882 -0
  66. package/odin/odinParser.js +12189 -0
  67. package/odin/odinVisitor.js +592 -0
  68. package/package.json +1 -1
  69. package/plantUML/PlantUMLLexer.js +215 -316
  70. package/plantUML/PlantUMLParser.js +1045 -2393
  71. package/plantUML/PlantUMLParserListener.js +171 -0
  72. package/plantUML/PlantUMLParserVisitor.js +118 -0
  73. package/sql/mysql/Oracle/MySQLLexer.js +3689 -3668
  74. package/sql/mysql/Oracle/MySQLParser.js +4383 -4399
  75. package/sql/plsql/PlSqlLexer.js +13604 -13587
  76. package/sql/plsql/PlSqlParser.js +51622 -64188
  77. package/sql/plsql/PlSqlParserBase.js +30 -0
  78. package/sql/plsql/PlSqlParserListener.js +36 -9
  79. package/sql/plsql/PlSqlParserVisitor.js +24 -6
  80. package/sql/postgresql/PostgreSQLParser.js +91 -91
  81. package/sql/snowflake/SnowflakeLexer.js +5675 -5497
  82. package/sql/snowflake/SnowflakeParser.js +27252 -22655
  83. package/sql/snowflake/SnowflakeParserListener.js +278 -8
  84. package/sql/snowflake/SnowflakeParserVisitor.js +184 -4
  85. package/sql/sqlite/SQLiteParser.js +2638 -2301
  86. package/sql/sqlite/SQLiteParserListener.js +9 -9
  87. package/sql/sqlite/SQLiteParserVisitor.js +6 -6
  88. package/sysml-v2/SysMLv2Lexer.js +1047 -0
  89. package/sysml-v2/SysMLv2Parser.js +51339 -0
  90. package/sysml-v2/SysMLv2ParserListener.js +4464 -0
  91. package/sysml-v2/SysMLv2ParserVisitor.js +2980 -0
  92. package/turtle/TURTLELexer.js +155 -156
  93. package/vba/vba7_1/vbaLexer.js +1689 -0
  94. package/vba/vba7_1/vbaParser.js +42797 -0
  95. package/vba/vba7_1/vbaParserListener.js +3267 -0
  96. package/vba/vba7_1/vbaParserVisitor.js +2182 -0
  97. package/vhdl/vhdl2008/vhdl2008Listener.js +9 -0
  98. package/vhdl/vhdl2008/vhdl2008Parser.js +2840 -2705
  99. package/vhdl/vhdl2008/vhdl2008Visitor.js +6 -0
  100. package/wkt/wktLexer.js +177 -148
  101. package/wkt/wktListener.js +123 -60
  102. package/wkt/wktParser.js +1802 -1125
  103. package/wkt/wktVisitor.js +72 -30
  104. package/plantUML/PlantUMLListener.js +0 -279
  105. package/plantUML/PlantUMLVisitor.js +0 -190
  106. /package/scala/{ScalaLexer.js → scala2/ScalaLexer.js} +0 -0
  107. /package/scala/{ScalaListener.js → scala2/ScalaListener.js} +0 -0
  108. /package/scala/{ScalaParser.js → scala2/ScalaParser.js} +0 -0
  109. /package/scala/{ScalaVisitor.js → scala2/ScalaVisitor.js} +0 -0
@@ -4,7 +4,7 @@ import antlr4 from 'antlr4';
4
4
  import CypherParserListener from './CypherParserListener.js';
5
5
  import CypherParserVisitor from './CypherParserVisitor.js';
6
6
 
7
- const serializedATN = [4,1,99,830,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
7
+ const serializedATN = [4,1,99,874,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
8
8
  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,
9
9
  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,
10
10
  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,26,2,27,
@@ -16,266 +16,281 @@ const serializedATN = [4,1,99,830,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
16
16
  63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,
17
17
  2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,
18
18
  78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,
19
- 7,85,2,86,7,86,2,87,7,87,2,88,7,88,1,0,1,0,3,0,181,8,0,1,0,1,0,1,1,1,1,3,
20
- 1,187,8,1,1,2,1,2,5,2,191,8,2,10,2,12,2,194,9,2,1,3,1,3,3,3,198,8,3,1,4,
21
- 1,4,1,4,3,4,203,8,4,1,4,1,4,1,4,3,4,208,8,4,3,4,210,8,4,1,5,1,5,1,5,1,6,
22
- 1,6,1,6,3,6,218,8,6,1,7,1,7,1,7,1,8,1,8,1,8,1,9,3,9,227,8,9,1,9,1,9,3,9,
23
- 231,8,9,1,9,3,9,234,8,9,1,9,3,9,237,8,9,1,10,1,10,3,10,241,8,10,1,10,1,10,
24
- 5,10,245,8,10,10,10,12,10,248,9,10,1,11,1,11,1,11,3,11,253,8,11,1,12,1,12,
25
- 3,12,257,8,12,1,13,1,13,1,13,1,13,1,13,5,13,264,8,13,10,13,12,13,267,9,13,
26
- 1,14,5,14,270,8,14,10,14,12,14,273,9,14,1,14,1,14,4,14,277,8,14,11,14,12,
27
- 14,278,1,14,3,14,282,8,14,3,14,284,8,14,1,15,5,15,287,8,15,10,15,12,15,290,
28
- 9,15,1,15,5,15,293,8,15,10,15,12,15,296,9,15,1,15,4,15,299,8,15,11,15,12,
29
- 15,300,1,15,1,15,1,16,3,16,306,8,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,
30
- 17,1,18,1,18,1,18,3,18,319,8,18,1,19,1,19,1,19,1,19,1,19,3,19,326,8,19,1,
31
- 20,3,20,329,8,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,5,21,338,8,21,10,21,
32
- 12,21,341,9,21,1,22,1,22,1,22,1,22,3,22,347,8,22,1,23,1,23,1,23,1,23,1,23,
33
- 3,23,354,8,23,1,24,1,24,3,24,358,8,24,1,24,1,24,1,25,1,25,1,25,5,25,365,
34
- 8,25,10,25,12,25,368,9,25,1,25,3,25,371,8,25,1,26,1,26,1,26,3,26,376,8,26,
35
- 1,26,1,26,1,27,1,27,1,27,5,27,383,8,27,10,27,12,27,386,9,27,1,28,1,28,1,
36
- 28,1,28,1,29,1,29,1,29,1,29,5,29,396,8,29,10,29,12,29,399,9,29,1,30,1,30,
37
- 1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,3,30,412,8,30,1,31,1,31,4,31,
38
- 416,8,31,11,31,12,31,417,1,32,1,32,1,32,1,33,1,33,3,33,425,8,33,1,34,1,34,
39
- 1,34,1,35,1,35,1,35,5,35,433,8,35,10,35,12,35,436,9,35,1,36,1,36,1,36,5,
40
- 36,441,8,36,10,36,12,36,444,9,36,1,37,1,37,1,37,5,37,449,8,37,10,37,12,37,
41
- 452,9,37,1,38,1,38,1,38,5,38,457,8,38,10,38,12,38,460,9,38,1,39,3,39,463,
42
- 8,39,1,39,1,39,1,40,1,40,1,40,1,40,5,40,471,8,40,10,40,12,40,474,9,40,1,
43
- 41,1,41,1,42,1,42,1,42,5,42,481,8,42,10,42,12,42,484,9,42,1,43,1,43,1,43,
44
- 5,43,489,8,43,10,43,12,43,492,9,43,1,44,1,44,1,44,5,44,497,8,44,10,44,12,
45
- 44,500,9,44,1,45,3,45,503,8,45,1,45,1,45,1,46,1,46,1,46,1,46,5,46,511,8,
46
- 46,10,46,12,46,514,9,46,1,47,1,47,1,47,1,47,3,47,520,8,47,1,47,1,47,3,47,
47
- 524,8,47,1,47,3,47,527,8,47,1,47,3,47,530,8,47,1,48,1,48,1,48,1,49,1,49,
48
- 1,49,1,49,1,49,3,49,540,8,49,1,50,1,50,3,50,544,8,50,1,50,1,50,1,51,1,51,
49
- 3,51,550,8,51,1,52,1,52,1,52,5,52,555,8,52,10,52,12,52,558,9,52,1,53,1,53,
50
- 1,53,3,53,563,8,53,1,53,1,53,1,54,1,54,5,54,569,8,54,10,54,12,54,572,9,54,
51
- 1,54,1,54,1,54,1,54,3,54,578,8,54,1,55,1,55,1,55,1,56,1,56,3,56,585,8,56,
52
- 1,57,1,57,3,57,589,8,57,1,57,3,57,592,8,57,1,57,3,57,595,8,57,1,57,1,57,
53
- 1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,3,58,611,8,58,
54
- 1,59,1,59,1,59,1,60,1,60,1,60,3,60,619,8,60,1,60,1,60,3,60,623,8,60,1,60,
55
- 1,60,3,60,627,8,60,1,60,1,60,3,60,631,8,60,3,60,633,8,60,1,61,1,61,3,61,
56
- 637,8,61,1,61,3,61,640,8,61,1,61,3,61,643,8,61,1,61,3,61,646,8,61,1,61,1,
57
- 61,1,62,1,62,1,62,1,62,3,62,654,8,62,1,62,5,62,657,8,62,10,62,12,62,660,
58
- 9,62,1,63,1,63,3,63,664,8,63,1,63,1,63,1,64,1,64,1,64,1,64,3,64,672,8,64,
59
- 1,64,1,64,1,65,1,65,1,65,5,65,679,8,65,10,65,12,65,682,9,65,1,66,1,66,1,
60
- 66,3,66,687,8,66,1,66,3,66,690,8,66,1,66,1,66,1,67,1,67,1,67,1,67,1,68,1,
61
- 68,1,68,1,68,1,68,1,69,1,69,3,69,705,8,69,1,69,1,69,3,69,709,8,69,1,69,1,
62
- 69,1,69,1,69,1,70,1,70,4,70,717,8,70,11,70,12,70,718,1,71,1,71,1,71,1,71,
63
- 3,71,725,8,71,1,71,1,71,1,72,1,72,1,72,1,72,3,72,733,8,72,1,73,1,73,1,73,
64
- 1,73,1,73,1,74,1,74,1,74,5,74,743,8,74,10,74,12,74,746,9,74,1,75,1,75,3,
65
- 75,750,8,75,1,75,1,75,1,75,1,75,1,75,4,75,757,8,75,11,75,12,75,758,1,75,
66
- 1,75,3,75,763,8,75,1,75,1,75,1,76,1,76,1,76,3,76,770,8,76,1,77,1,77,1,77,
67
- 1,77,1,77,1,77,1,77,3,77,779,8,77,1,78,1,78,3,78,783,8,78,1,78,1,78,3,78,
68
- 787,8,78,3,78,789,8,78,1,79,1,79,1,80,1,80,1,81,1,81,1,82,1,82,1,83,1,83,
69
- 3,83,801,8,83,1,83,1,83,1,84,1,84,1,84,1,84,5,84,809,8,84,10,84,12,84,812,
70
- 9,84,3,84,814,8,84,1,84,1,84,1,85,1,85,1,85,1,85,1,86,1,86,3,86,824,8,86,
71
- 1,87,1,87,1,88,1,88,1,88,0,0,89,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,
72
- 30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,
73
- 78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,
74
- 120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,
75
- 156,158,160,162,164,166,168,170,172,174,176,0,10,2,0,37,38,42,43,2,0,40,
76
- 40,47,47,1,0,1,2,2,0,1,1,3,7,1,0,18,19,2,0,20,21,23,23,1,0,33,36,1,0,71,
77
- 72,2,0,30,35,89,90,1,0,36,88,864,0,178,1,0,0,0,2,186,1,0,0,0,4,188,1,0,0,
78
- 0,6,197,1,0,0,0,8,199,1,0,0,0,10,211,1,0,0,0,12,214,1,0,0,0,14,219,1,0,0,
79
- 0,16,222,1,0,0,0,18,226,1,0,0,0,20,240,1,0,0,0,22,249,1,0,0,0,24,254,1,0,
80
- 0,0,26,258,1,0,0,0,28,271,1,0,0,0,30,288,1,0,0,0,32,305,1,0,0,0,34,310,1,
81
- 0,0,0,36,318,1,0,0,0,38,325,1,0,0,0,40,328,1,0,0,0,42,333,1,0,0,0,44,346,
82
- 1,0,0,0,46,348,1,0,0,0,48,355,1,0,0,0,50,361,1,0,0,0,52,375,1,0,0,0,54,379,
83
- 1,0,0,0,56,387,1,0,0,0,58,391,1,0,0,0,60,411,1,0,0,0,62,415,1,0,0,0,64,419,
84
- 1,0,0,0,66,422,1,0,0,0,68,426,1,0,0,0,70,429,1,0,0,0,72,437,1,0,0,0,74,445,
85
- 1,0,0,0,76,453,1,0,0,0,78,462,1,0,0,0,80,466,1,0,0,0,82,475,1,0,0,0,84,477,
86
- 1,0,0,0,86,485,1,0,0,0,88,493,1,0,0,0,90,502,1,0,0,0,92,506,1,0,0,0,94,529,
87
- 1,0,0,0,96,531,1,0,0,0,98,539,1,0,0,0,100,541,1,0,0,0,102,547,1,0,0,0,104,
88
- 551,1,0,0,0,106,562,1,0,0,0,108,577,1,0,0,0,110,579,1,0,0,0,112,584,1,0,
89
- 0,0,114,586,1,0,0,0,116,610,1,0,0,0,118,612,1,0,0,0,120,632,1,0,0,0,122,
90
- 634,1,0,0,0,124,649,1,0,0,0,126,661,1,0,0,0,128,667,1,0,0,0,130,675,1,0,
91
- 0,0,132,683,1,0,0,0,134,693,1,0,0,0,136,697,1,0,0,0,138,702,1,0,0,0,140,
92
- 714,1,0,0,0,142,720,1,0,0,0,144,728,1,0,0,0,146,734,1,0,0,0,148,739,1,0,
93
- 0,0,150,747,1,0,0,0,152,766,1,0,0,0,154,778,1,0,0,0,156,780,1,0,0,0,158,
94
- 790,1,0,0,0,160,792,1,0,0,0,162,794,1,0,0,0,164,796,1,0,0,0,166,798,1,0,
95
- 0,0,168,804,1,0,0,0,170,817,1,0,0,0,172,823,1,0,0,0,174,825,1,0,0,0,176,
96
- 827,1,0,0,0,178,180,3,2,1,0,179,181,5,9,0,0,180,179,1,0,0,0,180,181,1,0,
97
- 0,0,181,182,1,0,0,0,182,183,5,0,0,1,183,1,1,0,0,0,184,187,3,4,2,0,185,187,
98
- 3,8,4,0,186,184,1,0,0,0,186,185,1,0,0,0,187,3,1,0,0,0,188,192,3,6,3,0,189,
99
- 191,3,126,63,0,190,189,1,0,0,0,191,194,1,0,0,0,192,190,1,0,0,0,192,193,1,
100
- 0,0,0,193,5,1,0,0,0,194,192,1,0,0,0,195,198,3,28,14,0,196,198,3,30,15,0,
101
- 197,195,1,0,0,0,197,196,1,0,0,0,198,7,1,0,0,0,199,200,5,28,0,0,200,202,3,
102
- 130,65,0,201,203,3,48,24,0,202,201,1,0,0,0,202,203,1,0,0,0,203,209,1,0,0,
103
- 0,204,207,5,29,0,0,205,208,5,23,0,0,206,208,3,50,25,0,207,205,1,0,0,0,207,
104
- 206,1,0,0,0,208,210,1,0,0,0,209,204,1,0,0,0,209,210,1,0,0,0,210,9,1,0,0,
105
- 0,211,212,5,53,0,0,212,213,3,18,9,0,213,11,1,0,0,0,214,215,5,57,0,0,215,
106
- 217,3,18,9,0,216,218,3,68,34,0,217,216,1,0,0,0,217,218,1,0,0,0,218,13,1,
107
- 0,0,0,219,220,5,55,0,0,220,221,3,72,36,0,221,15,1,0,0,0,222,223,5,46,0,0,
108
- 223,224,3,72,36,0,224,17,1,0,0,0,225,227,5,63,0,0,226,225,1,0,0,0,226,227,
109
- 1,0,0,0,227,228,1,0,0,0,228,230,3,20,10,0,229,231,3,26,13,0,230,229,1,0,
110
- 0,0,230,231,1,0,0,0,231,233,1,0,0,0,232,234,3,14,7,0,233,232,1,0,0,0,233,
111
- 234,1,0,0,0,234,236,1,0,0,0,235,237,3,16,8,0,236,235,1,0,0,0,236,237,1,0,
112
- 0,0,237,19,1,0,0,0,238,241,5,23,0,0,239,241,3,22,11,0,240,238,1,0,0,0,240,
113
- 239,1,0,0,0,241,246,1,0,0,0,242,243,5,11,0,0,243,245,3,22,11,0,244,242,1,
114
- 0,0,0,245,248,1,0,0,0,246,244,1,0,0,0,246,247,1,0,0,0,247,21,1,0,0,0,248,
115
- 246,1,0,0,0,249,252,3,72,36,0,250,251,5,61,0,0,251,253,3,174,87,0,252,250,
116
- 1,0,0,0,252,253,1,0,0,0,253,23,1,0,0,0,254,256,3,72,36,0,255,257,7,0,0,0,
117
- 256,255,1,0,0,0,256,257,1,0,0,0,257,25,1,0,0,0,258,259,5,51,0,0,259,260,
118
- 5,39,0,0,260,265,3,24,12,0,261,262,5,11,0,0,262,264,3,24,12,0,263,261,1,
119
- 0,0,0,264,267,1,0,0,0,265,263,1,0,0,0,265,266,1,0,0,0,266,27,1,0,0,0,267,
120
- 265,1,0,0,0,268,270,3,36,18,0,269,268,1,0,0,0,270,273,1,0,0,0,271,269,1,
121
- 0,0,0,271,272,1,0,0,0,272,283,1,0,0,0,273,271,1,0,0,0,274,284,3,10,5,0,275,
122
- 277,3,38,19,0,276,275,1,0,0,0,277,278,1,0,0,0,278,276,1,0,0,0,278,279,1,
123
- 0,0,0,279,281,1,0,0,0,280,282,3,10,5,0,281,280,1,0,0,0,281,282,1,0,0,0,282,
124
- 284,1,0,0,0,283,274,1,0,0,0,283,276,1,0,0,0,284,29,1,0,0,0,285,287,3,36,
125
- 18,0,286,285,1,0,0,0,287,290,1,0,0,0,288,286,1,0,0,0,288,289,1,0,0,0,289,
126
- 298,1,0,0,0,290,288,1,0,0,0,291,293,3,38,19,0,292,291,1,0,0,0,293,296,1,
127
- 0,0,0,294,292,1,0,0,0,294,295,1,0,0,0,295,297,1,0,0,0,296,294,1,0,0,0,297,
128
- 299,3,12,6,0,298,294,1,0,0,0,299,300,1,0,0,0,300,298,1,0,0,0,300,301,1,0,
129
- 0,0,301,302,1,0,0,0,302,303,3,28,14,0,303,31,1,0,0,0,304,306,5,50,0,0,305,
130
- 304,1,0,0,0,305,306,1,0,0,0,306,307,1,0,0,0,307,308,5,47,0,0,308,309,3,66,
131
- 33,0,309,33,1,0,0,0,310,311,5,59,0,0,311,312,3,72,36,0,312,313,5,61,0,0,
132
- 313,314,3,174,87,0,314,35,1,0,0,0,315,319,3,32,16,0,316,319,3,34,17,0,317,
133
- 319,3,46,23,0,318,315,1,0,0,0,318,316,1,0,0,0,318,317,1,0,0,0,319,37,1,0,
134
- 0,0,320,326,3,64,32,0,321,326,3,54,27,0,322,326,3,40,20,0,323,326,3,58,29,
135
- 0,324,326,3,42,21,0,325,320,1,0,0,0,325,321,1,0,0,0,325,322,1,0,0,0,325,
136
- 323,1,0,0,0,325,324,1,0,0,0,326,39,1,0,0,0,327,329,5,44,0,0,328,327,1,0,
137
- 0,0,328,329,1,0,0,0,329,330,1,0,0,0,330,331,5,41,0,0,331,332,3,148,74,0,
138
- 332,41,1,0,0,0,333,334,5,52,0,0,334,339,3,44,22,0,335,336,5,11,0,0,336,338,
139
- 3,44,22,0,337,335,1,0,0,0,338,341,1,0,0,0,339,337,1,0,0,0,339,340,1,0,0,
140
- 0,340,43,1,0,0,0,341,339,1,0,0,0,342,343,3,174,87,0,343,344,3,62,31,0,344,
141
- 347,1,0,0,0,345,347,3,104,52,0,346,342,1,0,0,0,346,345,1,0,0,0,347,45,1,
142
- 0,0,0,348,349,5,28,0,0,349,350,3,130,65,0,350,353,3,48,24,0,351,352,5,29,
143
- 0,0,352,354,3,50,25,0,353,351,1,0,0,0,353,354,1,0,0,0,354,47,1,0,0,0,355,
144
- 357,5,12,0,0,356,358,3,148,74,0,357,356,1,0,0,0,357,358,1,0,0,0,358,359,
145
- 1,0,0,0,359,360,5,13,0,0,360,49,1,0,0,0,361,366,3,52,26,0,362,363,5,11,0,
146
- 0,363,365,3,52,26,0,364,362,1,0,0,0,365,368,1,0,0,0,366,364,1,0,0,0,366,
147
- 367,1,0,0,0,367,370,1,0,0,0,368,366,1,0,0,0,369,371,3,68,34,0,370,369,1,
148
- 0,0,0,370,371,1,0,0,0,371,51,1,0,0,0,372,373,3,174,87,0,373,374,5,61,0,0,
149
- 374,376,1,0,0,0,375,372,1,0,0,0,375,376,1,0,0,0,376,377,1,0,0,0,377,378,
150
- 3,174,87,0,378,53,1,0,0,0,379,380,5,48,0,0,380,384,3,106,53,0,381,383,3,
151
- 56,28,0,382,381,1,0,0,0,383,386,1,0,0,0,384,382,1,0,0,0,384,385,1,0,0,0,
152
- 385,55,1,0,0,0,386,384,1,0,0,0,387,388,5,49,0,0,388,389,7,1,0,0,389,390,
153
- 3,58,29,0,390,57,1,0,0,0,391,392,5,54,0,0,392,397,3,60,30,0,393,394,5,11,
154
- 0,0,394,396,3,60,30,0,395,393,1,0,0,0,396,399,1,0,0,0,397,395,1,0,0,0,397,
155
- 398,1,0,0,0,398,59,1,0,0,0,399,397,1,0,0,0,400,401,3,104,52,0,401,402,5,
156
- 1,0,0,402,403,3,72,36,0,403,412,1,0,0,0,404,405,3,174,87,0,405,406,7,2,0,
157
- 0,406,407,3,72,36,0,407,412,1,0,0,0,408,409,3,174,87,0,409,410,3,62,31,0,
158
- 410,412,1,0,0,0,411,400,1,0,0,0,411,404,1,0,0,0,411,408,1,0,0,0,412,61,1,
159
- 0,0,0,413,414,5,25,0,0,414,416,3,172,86,0,415,413,1,0,0,0,416,417,1,0,0,
160
- 0,417,415,1,0,0,0,417,418,1,0,0,0,418,63,1,0,0,0,419,420,5,40,0,0,420,421,
161
- 3,70,35,0,421,65,1,0,0,0,422,424,3,70,35,0,423,425,3,68,34,0,424,423,1,0,
162
- 0,0,424,425,1,0,0,0,425,67,1,0,0,0,426,427,5,56,0,0,427,428,3,72,36,0,428,
163
- 69,1,0,0,0,429,434,3,106,53,0,430,431,5,11,0,0,431,433,3,106,53,0,432,430,
164
- 1,0,0,0,433,436,1,0,0,0,434,432,1,0,0,0,434,435,1,0,0,0,435,71,1,0,0,0,436,
165
- 434,1,0,0,0,437,442,3,74,37,0,438,439,5,68,0,0,439,441,3,74,37,0,440,438,
166
- 1,0,0,0,441,444,1,0,0,0,442,440,1,0,0,0,442,443,1,0,0,0,443,73,1,0,0,0,444,
167
- 442,1,0,0,0,445,450,3,76,38,0,446,447,5,70,0,0,447,449,3,76,38,0,448,446,
168
- 1,0,0,0,449,452,1,0,0,0,450,448,1,0,0,0,450,451,1,0,0,0,451,75,1,0,0,0,452,
169
- 450,1,0,0,0,453,458,3,78,39,0,454,455,5,60,0,0,455,457,3,78,39,0,456,454,
170
- 1,0,0,0,457,460,1,0,0,0,458,456,1,0,0,0,458,459,1,0,0,0,459,77,1,0,0,0,460,
171
- 458,1,0,0,0,461,463,5,67,0,0,462,461,1,0,0,0,462,463,1,0,0,0,463,464,1,0,
172
- 0,0,464,465,3,80,40,0,465,79,1,0,0,0,466,472,3,84,42,0,467,468,3,82,41,0,
173
- 468,469,3,84,42,0,469,471,1,0,0,0,470,467,1,0,0,0,471,474,1,0,0,0,472,470,
174
- 1,0,0,0,472,473,1,0,0,0,473,81,1,0,0,0,474,472,1,0,0,0,475,476,7,3,0,0,476,
175
- 83,1,0,0,0,477,482,3,86,43,0,478,479,7,4,0,0,479,481,3,86,43,0,480,478,1,
176
- 0,0,0,481,484,1,0,0,0,482,480,1,0,0,0,482,483,1,0,0,0,483,85,1,0,0,0,484,
177
- 482,1,0,0,0,485,490,3,88,44,0,486,487,7,5,0,0,487,489,3,88,44,0,488,486,
178
- 1,0,0,0,489,492,1,0,0,0,490,488,1,0,0,0,490,491,1,0,0,0,491,87,1,0,0,0,492,
179
- 490,1,0,0,0,493,498,3,90,45,0,494,495,5,22,0,0,495,497,3,90,45,0,496,494,
180
- 1,0,0,0,497,500,1,0,0,0,498,496,1,0,0,0,498,499,1,0,0,0,499,89,1,0,0,0,500,
181
- 498,1,0,0,0,501,503,7,4,0,0,502,501,1,0,0,0,502,503,1,0,0,0,503,504,1,0,
182
- 0,0,504,505,3,92,46,0,505,91,1,0,0,0,506,512,3,102,51,0,507,511,3,96,48,
183
- 0,508,511,3,94,47,0,509,511,3,100,50,0,510,507,1,0,0,0,510,508,1,0,0,0,510,
184
- 509,1,0,0,0,511,514,1,0,0,0,512,510,1,0,0,0,512,513,1,0,0,0,513,93,1,0,0,
185
- 0,514,512,1,0,0,0,515,516,5,65,0,0,516,530,3,102,51,0,517,526,5,16,0,0,518,
186
- 520,3,72,36,0,519,518,1,0,0,0,519,520,1,0,0,0,520,521,1,0,0,0,521,523,5,
187
- 8,0,0,522,524,3,72,36,0,523,522,1,0,0,0,523,524,1,0,0,0,524,527,1,0,0,0,
188
- 525,527,3,72,36,0,526,519,1,0,0,0,526,525,1,0,0,0,527,528,1,0,0,0,528,530,
189
- 5,17,0,0,529,515,1,0,0,0,529,517,1,0,0,0,530,95,1,0,0,0,531,532,3,98,49,
190
- 0,532,533,3,102,51,0,533,97,1,0,0,0,534,535,5,69,0,0,535,540,5,57,0,0,536,
191
- 537,5,64,0,0,537,540,5,57,0,0,538,540,5,62,0,0,539,534,1,0,0,0,539,536,1,
192
- 0,0,0,539,538,1,0,0,0,540,99,1,0,0,0,541,543,5,66,0,0,542,544,5,67,0,0,543,
193
- 542,1,0,0,0,543,544,1,0,0,0,544,545,1,0,0,0,545,546,5,73,0,0,546,101,1,0,
194
- 0,0,547,549,3,104,52,0,548,550,3,62,31,0,549,548,1,0,0,0,549,550,1,0,0,0,
195
- 550,103,1,0,0,0,551,556,3,116,58,0,552,553,5,10,0,0,553,555,3,172,86,0,554,
196
- 552,1,0,0,0,555,558,1,0,0,0,556,554,1,0,0,0,556,557,1,0,0,0,557,105,1,0,
197
- 0,0,558,556,1,0,0,0,559,560,3,174,87,0,560,561,5,1,0,0,561,563,1,0,0,0,562,
198
- 559,1,0,0,0,562,563,1,0,0,0,563,564,1,0,0,0,564,565,3,108,54,0,565,107,1,
199
- 0,0,0,566,570,3,114,57,0,567,569,3,110,55,0,568,567,1,0,0,0,569,572,1,0,
200
- 0,0,570,568,1,0,0,0,570,571,1,0,0,0,571,578,1,0,0,0,572,570,1,0,0,0,573,
201
- 574,5,12,0,0,574,575,3,108,54,0,575,576,5,13,0,0,576,578,1,0,0,0,577,566,
202
- 1,0,0,0,577,573,1,0,0,0,578,109,1,0,0,0,579,580,3,120,60,0,580,581,3,114,
203
- 57,0,581,111,1,0,0,0,582,585,3,168,84,0,583,585,3,152,76,0,584,582,1,0,0,
204
- 0,584,583,1,0,0,0,585,113,1,0,0,0,586,588,5,12,0,0,587,589,3,174,87,0,588,
205
- 587,1,0,0,0,588,589,1,0,0,0,589,591,1,0,0,0,590,592,3,62,31,0,591,590,1,
206
- 0,0,0,591,592,1,0,0,0,592,594,1,0,0,0,593,595,3,112,56,0,594,593,1,0,0,0,
207
- 594,595,1,0,0,0,595,596,1,0,0,0,596,597,5,13,0,0,597,115,1,0,0,0,598,611,
208
- 3,154,77,0,599,611,3,152,76,0,600,611,3,150,75,0,601,611,3,146,73,0,602,
209
- 611,3,142,71,0,603,611,3,138,69,0,604,611,3,136,68,0,605,611,3,140,70,0,
210
- 606,611,3,134,67,0,607,611,3,132,66,0,608,611,3,174,87,0,609,611,3,128,64,
211
- 0,610,598,1,0,0,0,610,599,1,0,0,0,610,600,1,0,0,0,610,601,1,0,0,0,610,602,
212
- 1,0,0,0,610,603,1,0,0,0,610,604,1,0,0,0,610,605,1,0,0,0,610,606,1,0,0,0,
213
- 610,607,1,0,0,0,610,608,1,0,0,0,610,609,1,0,0,0,611,117,1,0,0,0,612,613,
214
- 3,174,87,0,613,614,5,1,0,0,614,119,1,0,0,0,615,616,5,6,0,0,616,618,5,18,
215
- 0,0,617,619,3,122,61,0,618,617,1,0,0,0,618,619,1,0,0,0,619,620,1,0,0,0,620,
216
- 622,5,18,0,0,621,623,5,5,0,0,622,621,1,0,0,0,622,623,1,0,0,0,623,633,1,0,
217
- 0,0,624,626,5,18,0,0,625,627,3,122,61,0,626,625,1,0,0,0,626,627,1,0,0,0,
218
- 627,628,1,0,0,0,628,630,5,18,0,0,629,631,5,5,0,0,630,629,1,0,0,0,630,631,
219
- 1,0,0,0,631,633,1,0,0,0,632,615,1,0,0,0,632,624,1,0,0,0,633,121,1,0,0,0,
220
- 634,636,5,16,0,0,635,637,3,174,87,0,636,635,1,0,0,0,636,637,1,0,0,0,637,
221
- 639,1,0,0,0,638,640,3,124,62,0,639,638,1,0,0,0,639,640,1,0,0,0,640,642,1,
222
- 0,0,0,641,643,3,156,78,0,642,641,1,0,0,0,642,643,1,0,0,0,643,645,1,0,0,0,
223
- 644,646,3,112,56,0,645,644,1,0,0,0,645,646,1,0,0,0,646,647,1,0,0,0,647,648,
224
- 5,17,0,0,648,123,1,0,0,0,649,650,5,25,0,0,650,658,3,172,86,0,651,653,5,26,
225
- 0,0,652,654,5,25,0,0,653,652,1,0,0,0,653,654,1,0,0,0,654,655,1,0,0,0,655,
226
- 657,3,172,86,0,656,651,1,0,0,0,657,660,1,0,0,0,658,656,1,0,0,0,658,659,1,
227
- 0,0,0,659,125,1,0,0,0,660,658,1,0,0,0,661,663,5,58,0,0,662,664,5,36,0,0,
228
- 663,662,1,0,0,0,663,664,1,0,0,0,664,665,1,0,0,0,665,666,3,6,3,0,666,127,
229
- 1,0,0,0,667,668,5,45,0,0,668,671,5,14,0,0,669,672,3,4,2,0,670,672,3,66,33,
230
- 0,671,669,1,0,0,0,671,670,1,0,0,0,672,673,1,0,0,0,673,674,5,15,0,0,674,129,
231
- 1,0,0,0,675,680,3,174,87,0,676,677,5,10,0,0,677,679,3,174,87,0,678,676,1,
232
- 0,0,0,679,682,1,0,0,0,680,678,1,0,0,0,680,681,1,0,0,0,681,131,1,0,0,0,682,
233
- 680,1,0,0,0,683,684,3,130,65,0,684,686,5,12,0,0,685,687,5,63,0,0,686,685,
234
- 1,0,0,0,686,687,1,0,0,0,687,689,1,0,0,0,688,690,3,148,74,0,689,688,1,0,0,
235
- 0,689,690,1,0,0,0,690,691,1,0,0,0,691,692,5,13,0,0,692,133,1,0,0,0,693,694,
236
- 5,12,0,0,694,695,3,72,36,0,695,696,5,13,0,0,696,135,1,0,0,0,697,698,7,6,
237
- 0,0,698,699,5,12,0,0,699,700,3,144,72,0,700,701,5,13,0,0,701,137,1,0,0,0,
238
- 702,704,5,16,0,0,703,705,3,118,59,0,704,703,1,0,0,0,704,705,1,0,0,0,705,
239
- 706,1,0,0,0,706,708,3,140,70,0,707,709,3,68,34,0,708,707,1,0,0,0,708,709,
240
- 1,0,0,0,709,710,1,0,0,0,710,711,5,26,0,0,711,712,3,72,36,0,712,713,5,17,
241
- 0,0,713,139,1,0,0,0,714,716,3,114,57,0,715,717,3,110,55,0,716,715,1,0,0,
242
- 0,717,718,1,0,0,0,718,716,1,0,0,0,718,719,1,0,0,0,719,141,1,0,0,0,720,721,
243
- 5,16,0,0,721,724,3,144,72,0,722,723,5,26,0,0,723,725,3,72,36,0,724,722,1,
244
- 0,0,0,724,725,1,0,0,0,725,726,1,0,0,0,726,727,5,17,0,0,727,143,1,0,0,0,728,
245
- 729,3,174,87,0,729,730,5,65,0,0,730,732,3,72,36,0,731,733,3,68,34,0,732,
246
- 731,1,0,0,0,732,733,1,0,0,0,733,145,1,0,0,0,734,735,5,32,0,0,735,736,5,12,
247
- 0,0,736,737,5,23,0,0,737,738,5,13,0,0,738,147,1,0,0,0,739,744,3,72,36,0,
248
- 740,741,5,11,0,0,741,743,3,72,36,0,742,740,1,0,0,0,743,746,1,0,0,0,744,742,
249
- 1,0,0,0,744,745,1,0,0,0,745,149,1,0,0,0,746,744,1,0,0,0,747,749,5,79,0,0,
250
- 748,750,3,72,36,0,749,748,1,0,0,0,749,750,1,0,0,0,750,756,1,0,0,0,751,752,
251
- 5,80,0,0,752,753,3,72,36,0,753,754,5,81,0,0,754,755,3,72,36,0,755,757,1,
252
- 0,0,0,756,751,1,0,0,0,757,758,1,0,0,0,758,756,1,0,0,0,758,759,1,0,0,0,759,
253
- 762,1,0,0,0,760,761,5,82,0,0,761,763,3,72,36,0,762,760,1,0,0,0,762,763,1,
254
- 0,0,0,763,764,1,0,0,0,764,765,5,83,0,0,765,151,1,0,0,0,766,769,5,27,0,0,
255
- 767,770,3,174,87,0,768,770,3,160,80,0,769,767,1,0,0,0,769,768,1,0,0,0,770,
256
- 153,1,0,0,0,771,779,3,158,79,0,772,779,3,160,80,0,773,779,5,73,0,0,774,779,
257
- 3,162,81,0,775,779,3,164,82,0,776,779,3,166,83,0,777,779,3,168,84,0,778,
258
- 771,1,0,0,0,778,772,1,0,0,0,778,773,1,0,0,0,778,774,1,0,0,0,778,775,1,0,
259
- 0,0,778,776,1,0,0,0,778,777,1,0,0,0,779,155,1,0,0,0,780,782,5,23,0,0,781,
260
- 783,3,160,80,0,782,781,1,0,0,0,782,783,1,0,0,0,783,788,1,0,0,0,784,786,5,
261
- 8,0,0,785,787,3,160,80,0,786,785,1,0,0,0,786,787,1,0,0,0,787,789,1,0,0,0,
262
- 788,784,1,0,0,0,788,789,1,0,0,0,789,157,1,0,0,0,790,791,7,7,0,0,791,159,
263
- 1,0,0,0,792,793,5,93,0,0,793,161,1,0,0,0,794,795,5,92,0,0,795,163,1,0,0,
264
- 0,796,797,5,91,0,0,797,165,1,0,0,0,798,800,5,16,0,0,799,801,3,148,74,0,800,
265
- 799,1,0,0,0,800,801,1,0,0,0,801,802,1,0,0,0,802,803,5,17,0,0,803,167,1,0,
266
- 0,0,804,813,5,14,0,0,805,810,3,170,85,0,806,807,5,11,0,0,807,809,3,170,85,
267
- 0,808,806,1,0,0,0,809,812,1,0,0,0,810,808,1,0,0,0,810,811,1,0,0,0,811,814,
268
- 1,0,0,0,812,810,1,0,0,0,813,805,1,0,0,0,813,814,1,0,0,0,814,815,1,0,0,0,
269
- 815,816,5,15,0,0,816,169,1,0,0,0,817,818,3,172,86,0,818,819,5,25,0,0,819,
270
- 820,3,72,36,0,820,171,1,0,0,0,821,824,3,174,87,0,822,824,3,176,88,0,823,
271
- 821,1,0,0,0,823,822,1,0,0,0,824,173,1,0,0,0,825,826,7,8,0,0,826,175,1,0,
272
- 0,0,827,828,7,9,0,0,828,177,1,0,0,0,102,180,186,192,197,202,207,209,217,
273
- 226,230,233,236,240,246,252,256,265,271,278,281,283,288,294,300,305,318,
274
- 325,328,339,346,353,357,366,370,375,384,397,411,417,424,434,442,450,458,
275
- 462,472,482,490,498,502,510,512,519,523,526,529,539,543,549,556,562,570,
276
- 577,584,588,591,594,610,618,622,626,630,632,636,639,642,645,653,658,663,
277
- 671,680,686,689,704,708,718,724,732,744,749,758,762,769,778,782,786,788,
278
- 800,810,813,823];
19
+ 7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,1,0,1,0,
20
+ 3,0,187,8,0,1,0,1,0,1,1,1,1,3,1,193,8,1,1,2,1,2,5,2,197,8,2,10,2,12,2,200,
21
+ 9,2,1,3,1,3,3,3,204,8,3,1,4,1,4,1,4,3,4,209,8,4,1,4,1,4,1,4,3,4,214,8,4,
22
+ 3,4,216,8,4,1,5,1,5,1,5,1,6,1,6,1,6,3,6,224,8,6,1,7,1,7,1,7,1,8,1,8,1,8,
23
+ 1,9,3,9,233,8,9,1,9,1,9,3,9,237,8,9,1,9,3,9,240,8,9,1,9,3,9,243,8,9,1,10,
24
+ 1,10,3,10,247,8,10,1,10,1,10,5,10,251,8,10,10,10,12,10,254,9,10,1,11,1,11,
25
+ 1,11,3,11,259,8,11,1,12,1,12,3,12,263,8,12,1,13,1,13,1,13,1,13,1,13,5,13,
26
+ 270,8,13,10,13,12,13,273,9,13,1,14,5,14,276,8,14,10,14,12,14,279,9,14,1,
27
+ 14,1,14,4,14,283,8,14,11,14,12,14,284,1,14,3,14,288,8,14,3,14,290,8,14,1,
28
+ 15,5,15,293,8,15,10,15,12,15,296,9,15,1,15,5,15,299,8,15,10,15,12,15,302,
29
+ 9,15,1,15,4,15,305,8,15,11,15,12,15,306,1,15,1,15,1,16,3,16,312,8,16,1,16,
30
+ 1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,3,18,325,8,18,1,19,1,19,
31
+ 1,19,1,19,1,19,3,19,332,8,19,1,20,3,20,335,8,20,1,20,1,20,1,20,1,21,1,21,
32
+ 1,21,1,21,5,21,344,8,21,10,21,12,21,347,9,21,1,22,1,22,1,22,1,22,3,22,353,
33
+ 8,22,1,23,1,23,1,23,1,23,1,23,3,23,360,8,23,1,24,1,24,3,24,364,8,24,1,24,
34
+ 1,24,1,25,1,25,1,25,5,25,371,8,25,10,25,12,25,374,9,25,1,25,3,25,377,8,25,
35
+ 1,26,1,26,1,26,3,26,382,8,26,1,26,1,26,1,27,1,27,1,27,5,27,389,8,27,10,27,
36
+ 12,27,392,9,27,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,5,29,402,8,29,10,
37
+ 29,12,29,405,9,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,
38
+ 3,30,418,8,30,1,31,1,31,4,31,422,8,31,11,31,12,31,423,1,32,1,32,1,32,1,33,
39
+ 1,33,3,33,431,8,33,1,34,1,34,1,34,1,35,1,35,1,35,5,35,439,8,35,10,35,12,
40
+ 35,442,9,35,1,36,1,36,1,36,5,36,447,8,36,10,36,12,36,450,9,36,1,37,1,37,
41
+ 1,37,5,37,455,8,37,10,37,12,37,458,9,37,1,38,1,38,1,38,5,38,463,8,38,10,
42
+ 38,12,38,466,9,38,1,39,3,39,469,8,39,1,39,1,39,1,40,1,40,1,40,1,40,5,40,
43
+ 477,8,40,10,40,12,40,480,9,40,1,41,1,41,1,42,1,42,1,42,5,42,487,8,42,10,
44
+ 42,12,42,490,9,42,1,43,1,43,1,43,5,43,495,8,43,10,43,12,43,498,9,43,1,44,
45
+ 1,44,1,44,5,44,503,8,44,10,44,12,44,506,9,44,1,45,3,45,509,8,45,1,45,1,45,
46
+ 1,46,1,46,1,46,1,46,5,46,517,8,46,10,46,12,46,520,9,46,1,47,1,47,1,47,1,
47
+ 47,3,47,526,8,47,1,47,1,47,3,47,530,8,47,1,47,3,47,533,8,47,1,47,3,47,536,
48
+ 8,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,3,49,546,8,49,1,50,1,50,3,50,
49
+ 550,8,50,1,50,1,50,1,51,1,51,3,51,556,8,51,1,52,1,52,1,52,5,52,561,8,52,
50
+ 10,52,12,52,564,9,52,1,53,1,53,1,53,3,53,569,8,53,1,53,1,53,1,54,1,54,1,
51
+ 54,5,54,576,8,54,10,54,12,54,579,9,54,1,54,1,54,1,54,1,54,3,54,585,8,54,
52
+ 3,54,587,8,54,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,
53
+ 1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,
54
+ 57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,623,8,57,1,58,1,58,1,59,1,59,
55
+ 3,59,629,8,59,1,60,1,60,3,60,633,8,60,1,60,3,60,636,8,60,1,60,3,60,639,8,
56
+ 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,
57
+ 3,61,655,8,61,1,62,1,62,1,62,1,63,1,63,1,63,3,63,663,8,63,1,63,1,63,3,63,
58
+ 667,8,63,1,63,1,63,3,63,671,8,63,1,63,1,63,3,63,675,8,63,3,63,677,8,63,1,
59
+ 64,1,64,3,64,681,8,64,1,64,3,64,684,8,64,1,64,3,64,687,8,64,1,64,3,64,690,
60
+ 8,64,1,64,1,64,1,65,1,65,1,65,1,65,3,65,698,8,65,1,65,5,65,701,8,65,10,65,
61
+ 12,65,704,9,65,1,66,1,66,3,66,708,8,66,1,66,1,66,1,67,1,67,1,67,1,67,3,67,
62
+ 716,8,67,1,67,1,67,1,68,1,68,1,68,5,68,723,8,68,10,68,12,68,726,9,68,1,69,
63
+ 1,69,1,69,3,69,731,8,69,1,69,3,69,734,8,69,1,69,1,69,1,70,1,70,1,70,1,70,
64
+ 1,71,1,71,1,71,1,71,1,71,1,72,1,72,3,72,749,8,72,1,72,1,72,3,72,753,8,72,
65
+ 1,72,1,72,1,72,1,72,1,73,1,73,4,73,761,8,73,11,73,12,73,762,1,74,1,74,1,
66
+ 74,1,74,3,74,769,8,74,1,74,1,74,1,75,1,75,1,75,1,75,3,75,777,8,75,1,76,1,
67
+ 76,1,76,1,76,1,76,1,77,1,77,1,77,5,77,787,8,77,10,77,12,77,790,9,77,1,78,
68
+ 1,78,3,78,794,8,78,1,78,1,78,1,78,1,78,1,78,4,78,801,8,78,11,78,12,78,802,
69
+ 1,78,1,78,3,78,807,8,78,1,78,1,78,1,79,1,79,1,79,3,79,814,8,79,1,80,1,80,
70
+ 1,80,1,80,1,80,1,80,1,80,3,80,823,8,80,1,81,1,81,3,81,827,8,81,1,81,1,81,
71
+ 3,81,831,8,81,3,81,833,8,81,1,82,1,82,1,83,1,83,1,84,1,84,1,85,1,85,1,86,
72
+ 1,86,3,86,845,8,86,1,86,1,86,1,87,1,87,1,87,1,87,5,87,853,8,87,10,87,12,
73
+ 87,856,9,87,3,87,858,8,87,1,87,1,87,1,88,1,88,1,88,1,88,1,89,1,89,3,89,868,
74
+ 8,89,1,90,1,90,1,91,1,91,1,91,0,0,92,0,2,4,6,8,10,12,14,16,18,20,22,24,26,
75
+ 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
+ 76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,
77
+ 118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,
78
+ 154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,0,11,2,0,37,
79
+ 38,42,43,2,0,40,40,47,47,1,0,1,2,2,0,1,1,3,7,1,0,18,19,2,0,20,21,23,23,2,
80
+ 0,89,89,93,93,1,0,33,36,1,0,71,72,2,0,30,35,89,90,1,0,36,88,913,0,184,1,
81
+ 0,0,0,2,192,1,0,0,0,4,194,1,0,0,0,6,203,1,0,0,0,8,205,1,0,0,0,10,217,1,0,
82
+ 0,0,12,220,1,0,0,0,14,225,1,0,0,0,16,228,1,0,0,0,18,232,1,0,0,0,20,246,1,
83
+ 0,0,0,22,255,1,0,0,0,24,260,1,0,0,0,26,264,1,0,0,0,28,277,1,0,0,0,30,294,
84
+ 1,0,0,0,32,311,1,0,0,0,34,316,1,0,0,0,36,324,1,0,0,0,38,331,1,0,0,0,40,334,
85
+ 1,0,0,0,42,339,1,0,0,0,44,352,1,0,0,0,46,354,1,0,0,0,48,361,1,0,0,0,50,367,
86
+ 1,0,0,0,52,381,1,0,0,0,54,385,1,0,0,0,56,393,1,0,0,0,58,397,1,0,0,0,60,417,
87
+ 1,0,0,0,62,421,1,0,0,0,64,425,1,0,0,0,66,428,1,0,0,0,68,432,1,0,0,0,70,435,
88
+ 1,0,0,0,72,443,1,0,0,0,74,451,1,0,0,0,76,459,1,0,0,0,78,468,1,0,0,0,80,472,
89
+ 1,0,0,0,82,481,1,0,0,0,84,483,1,0,0,0,86,491,1,0,0,0,88,499,1,0,0,0,90,508,
90
+ 1,0,0,0,92,512,1,0,0,0,94,535,1,0,0,0,96,537,1,0,0,0,98,545,1,0,0,0,100,
91
+ 547,1,0,0,0,102,553,1,0,0,0,104,557,1,0,0,0,106,568,1,0,0,0,108,586,1,0,
92
+ 0,0,110,588,1,0,0,0,112,591,1,0,0,0,114,622,1,0,0,0,116,624,1,0,0,0,118,
93
+ 628,1,0,0,0,120,630,1,0,0,0,122,654,1,0,0,0,124,656,1,0,0,0,126,676,1,0,
94
+ 0,0,128,678,1,0,0,0,130,693,1,0,0,0,132,705,1,0,0,0,134,711,1,0,0,0,136,
95
+ 719,1,0,0,0,138,727,1,0,0,0,140,737,1,0,0,0,142,741,1,0,0,0,144,746,1,0,
96
+ 0,0,146,758,1,0,0,0,148,764,1,0,0,0,150,772,1,0,0,0,152,778,1,0,0,0,154,
97
+ 783,1,0,0,0,156,791,1,0,0,0,158,810,1,0,0,0,160,822,1,0,0,0,162,824,1,0,
98
+ 0,0,164,834,1,0,0,0,166,836,1,0,0,0,168,838,1,0,0,0,170,840,1,0,0,0,172,
99
+ 842,1,0,0,0,174,848,1,0,0,0,176,861,1,0,0,0,178,867,1,0,0,0,180,869,1,0,
100
+ 0,0,182,871,1,0,0,0,184,186,3,2,1,0,185,187,5,9,0,0,186,185,1,0,0,0,186,
101
+ 187,1,0,0,0,187,188,1,0,0,0,188,189,5,0,0,1,189,1,1,0,0,0,190,193,3,4,2,
102
+ 0,191,193,3,8,4,0,192,190,1,0,0,0,192,191,1,0,0,0,193,3,1,0,0,0,194,198,
103
+ 3,6,3,0,195,197,3,132,66,0,196,195,1,0,0,0,197,200,1,0,0,0,198,196,1,0,0,
104
+ 0,198,199,1,0,0,0,199,5,1,0,0,0,200,198,1,0,0,0,201,204,3,28,14,0,202,204,
105
+ 3,30,15,0,203,201,1,0,0,0,203,202,1,0,0,0,204,7,1,0,0,0,205,206,5,28,0,0,
106
+ 206,208,3,136,68,0,207,209,3,48,24,0,208,207,1,0,0,0,208,209,1,0,0,0,209,
107
+ 215,1,0,0,0,210,213,5,29,0,0,211,214,5,23,0,0,212,214,3,50,25,0,213,211,
108
+ 1,0,0,0,213,212,1,0,0,0,214,216,1,0,0,0,215,210,1,0,0,0,215,216,1,0,0,0,
109
+ 216,9,1,0,0,0,217,218,5,53,0,0,218,219,3,18,9,0,219,11,1,0,0,0,220,221,5,
110
+ 57,0,0,221,223,3,18,9,0,222,224,3,68,34,0,223,222,1,0,0,0,223,224,1,0,0,
111
+ 0,224,13,1,0,0,0,225,226,5,55,0,0,226,227,3,72,36,0,227,15,1,0,0,0,228,229,
112
+ 5,46,0,0,229,230,3,72,36,0,230,17,1,0,0,0,231,233,5,63,0,0,232,231,1,0,0,
113
+ 0,232,233,1,0,0,0,233,234,1,0,0,0,234,236,3,20,10,0,235,237,3,26,13,0,236,
114
+ 235,1,0,0,0,236,237,1,0,0,0,237,239,1,0,0,0,238,240,3,14,7,0,239,238,1,0,
115
+ 0,0,239,240,1,0,0,0,240,242,1,0,0,0,241,243,3,16,8,0,242,241,1,0,0,0,242,
116
+ 243,1,0,0,0,243,19,1,0,0,0,244,247,5,23,0,0,245,247,3,22,11,0,246,244,1,
117
+ 0,0,0,246,245,1,0,0,0,247,252,1,0,0,0,248,249,5,11,0,0,249,251,3,22,11,0,
118
+ 250,248,1,0,0,0,251,254,1,0,0,0,252,250,1,0,0,0,252,253,1,0,0,0,253,21,1,
119
+ 0,0,0,254,252,1,0,0,0,255,258,3,72,36,0,256,257,5,61,0,0,257,259,3,180,90,
120
+ 0,258,256,1,0,0,0,258,259,1,0,0,0,259,23,1,0,0,0,260,262,3,72,36,0,261,263,
121
+ 7,0,0,0,262,261,1,0,0,0,262,263,1,0,0,0,263,25,1,0,0,0,264,265,5,51,0,0,
122
+ 265,266,5,39,0,0,266,271,3,24,12,0,267,268,5,11,0,0,268,270,3,24,12,0,269,
123
+ 267,1,0,0,0,270,273,1,0,0,0,271,269,1,0,0,0,271,272,1,0,0,0,272,27,1,0,0,
124
+ 0,273,271,1,0,0,0,274,276,3,36,18,0,275,274,1,0,0,0,276,279,1,0,0,0,277,
125
+ 275,1,0,0,0,277,278,1,0,0,0,278,289,1,0,0,0,279,277,1,0,0,0,280,290,3,10,
126
+ 5,0,281,283,3,38,19,0,282,281,1,0,0,0,283,284,1,0,0,0,284,282,1,0,0,0,284,
127
+ 285,1,0,0,0,285,287,1,0,0,0,286,288,3,10,5,0,287,286,1,0,0,0,287,288,1,0,
128
+ 0,0,288,290,1,0,0,0,289,280,1,0,0,0,289,282,1,0,0,0,290,29,1,0,0,0,291,293,
129
+ 3,36,18,0,292,291,1,0,0,0,293,296,1,0,0,0,294,292,1,0,0,0,294,295,1,0,0,
130
+ 0,295,304,1,0,0,0,296,294,1,0,0,0,297,299,3,38,19,0,298,297,1,0,0,0,299,
131
+ 302,1,0,0,0,300,298,1,0,0,0,300,301,1,0,0,0,301,303,1,0,0,0,302,300,1,0,
132
+ 0,0,303,305,3,12,6,0,304,300,1,0,0,0,305,306,1,0,0,0,306,304,1,0,0,0,306,
133
+ 307,1,0,0,0,307,308,1,0,0,0,308,309,3,28,14,0,309,31,1,0,0,0,310,312,5,50,
134
+ 0,0,311,310,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,314,5,47,0,0,314,
135
+ 315,3,66,33,0,315,33,1,0,0,0,316,317,5,59,0,0,317,318,3,72,36,0,318,319,
136
+ 5,61,0,0,319,320,3,180,90,0,320,35,1,0,0,0,321,325,3,32,16,0,322,325,3,34,
137
+ 17,0,323,325,3,46,23,0,324,321,1,0,0,0,324,322,1,0,0,0,324,323,1,0,0,0,325,
138
+ 37,1,0,0,0,326,332,3,64,32,0,327,332,3,54,27,0,328,332,3,40,20,0,329,332,
139
+ 3,58,29,0,330,332,3,42,21,0,331,326,1,0,0,0,331,327,1,0,0,0,331,328,1,0,
140
+ 0,0,331,329,1,0,0,0,331,330,1,0,0,0,332,39,1,0,0,0,333,335,5,44,0,0,334,
141
+ 333,1,0,0,0,334,335,1,0,0,0,335,336,1,0,0,0,336,337,5,41,0,0,337,338,3,154,
142
+ 77,0,338,41,1,0,0,0,339,340,5,52,0,0,340,345,3,44,22,0,341,342,5,11,0,0,
143
+ 342,344,3,44,22,0,343,341,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,345,346,
144
+ 1,0,0,0,346,43,1,0,0,0,347,345,1,0,0,0,348,349,3,180,90,0,349,350,3,62,31,
145
+ 0,350,353,1,0,0,0,351,353,3,104,52,0,352,348,1,0,0,0,352,351,1,0,0,0,353,
146
+ 45,1,0,0,0,354,355,5,28,0,0,355,356,3,136,68,0,356,359,3,48,24,0,357,358,
147
+ 5,29,0,0,358,360,3,50,25,0,359,357,1,0,0,0,359,360,1,0,0,0,360,47,1,0,0,
148
+ 0,361,363,5,12,0,0,362,364,3,154,77,0,363,362,1,0,0,0,363,364,1,0,0,0,364,
149
+ 365,1,0,0,0,365,366,5,13,0,0,366,49,1,0,0,0,367,372,3,52,26,0,368,369,5,
150
+ 11,0,0,369,371,3,52,26,0,370,368,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,
151
+ 372,373,1,0,0,0,373,376,1,0,0,0,374,372,1,0,0,0,375,377,3,68,34,0,376,375,
152
+ 1,0,0,0,376,377,1,0,0,0,377,51,1,0,0,0,378,379,3,180,90,0,379,380,5,61,0,
153
+ 0,380,382,1,0,0,0,381,378,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,
154
+ 3,180,90,0,384,53,1,0,0,0,385,386,5,48,0,0,386,390,3,106,53,0,387,389,3,
155
+ 56,28,0,388,387,1,0,0,0,389,392,1,0,0,0,390,388,1,0,0,0,390,391,1,0,0,0,
156
+ 391,55,1,0,0,0,392,390,1,0,0,0,393,394,5,49,0,0,394,395,7,1,0,0,395,396,
157
+ 3,58,29,0,396,57,1,0,0,0,397,398,5,54,0,0,398,403,3,60,30,0,399,400,5,11,
158
+ 0,0,400,402,3,60,30,0,401,399,1,0,0,0,402,405,1,0,0,0,403,401,1,0,0,0,403,
159
+ 404,1,0,0,0,404,59,1,0,0,0,405,403,1,0,0,0,406,407,3,104,52,0,407,408,5,
160
+ 1,0,0,408,409,3,72,36,0,409,418,1,0,0,0,410,411,3,180,90,0,411,412,7,2,0,
161
+ 0,412,413,3,72,36,0,413,418,1,0,0,0,414,415,3,180,90,0,415,416,3,62,31,0,
162
+ 416,418,1,0,0,0,417,406,1,0,0,0,417,410,1,0,0,0,417,414,1,0,0,0,418,61,1,
163
+ 0,0,0,419,420,5,25,0,0,420,422,3,178,89,0,421,419,1,0,0,0,422,423,1,0,0,
164
+ 0,423,421,1,0,0,0,423,424,1,0,0,0,424,63,1,0,0,0,425,426,5,40,0,0,426,427,
165
+ 3,70,35,0,427,65,1,0,0,0,428,430,3,70,35,0,429,431,3,68,34,0,430,429,1,0,
166
+ 0,0,430,431,1,0,0,0,431,67,1,0,0,0,432,433,5,56,0,0,433,434,3,72,36,0,434,
167
+ 69,1,0,0,0,435,440,3,106,53,0,436,437,5,11,0,0,437,439,3,106,53,0,438,436,
168
+ 1,0,0,0,439,442,1,0,0,0,440,438,1,0,0,0,440,441,1,0,0,0,441,71,1,0,0,0,442,
169
+ 440,1,0,0,0,443,448,3,74,37,0,444,445,5,68,0,0,445,447,3,74,37,0,446,444,
170
+ 1,0,0,0,447,450,1,0,0,0,448,446,1,0,0,0,448,449,1,0,0,0,449,73,1,0,0,0,450,
171
+ 448,1,0,0,0,451,456,3,76,38,0,452,453,5,70,0,0,453,455,3,76,38,0,454,452,
172
+ 1,0,0,0,455,458,1,0,0,0,456,454,1,0,0,0,456,457,1,0,0,0,457,75,1,0,0,0,458,
173
+ 456,1,0,0,0,459,464,3,78,39,0,460,461,5,60,0,0,461,463,3,78,39,0,462,460,
174
+ 1,0,0,0,463,466,1,0,0,0,464,462,1,0,0,0,464,465,1,0,0,0,465,77,1,0,0,0,466,
175
+ 464,1,0,0,0,467,469,5,67,0,0,468,467,1,0,0,0,468,469,1,0,0,0,469,470,1,0,
176
+ 0,0,470,471,3,80,40,0,471,79,1,0,0,0,472,478,3,84,42,0,473,474,3,82,41,0,
177
+ 474,475,3,84,42,0,475,477,1,0,0,0,476,473,1,0,0,0,477,480,1,0,0,0,478,476,
178
+ 1,0,0,0,478,479,1,0,0,0,479,81,1,0,0,0,480,478,1,0,0,0,481,482,7,3,0,0,482,
179
+ 83,1,0,0,0,483,488,3,86,43,0,484,485,7,4,0,0,485,487,3,86,43,0,486,484,1,
180
+ 0,0,0,487,490,1,0,0,0,488,486,1,0,0,0,488,489,1,0,0,0,489,85,1,0,0,0,490,
181
+ 488,1,0,0,0,491,496,3,88,44,0,492,493,7,5,0,0,493,495,3,88,44,0,494,492,
182
+ 1,0,0,0,495,498,1,0,0,0,496,494,1,0,0,0,496,497,1,0,0,0,497,87,1,0,0,0,498,
183
+ 496,1,0,0,0,499,504,3,90,45,0,500,501,5,22,0,0,501,503,3,90,45,0,502,500,
184
+ 1,0,0,0,503,506,1,0,0,0,504,502,1,0,0,0,504,505,1,0,0,0,505,89,1,0,0,0,506,
185
+ 504,1,0,0,0,507,509,7,4,0,0,508,507,1,0,0,0,508,509,1,0,0,0,509,510,1,0,
186
+ 0,0,510,511,3,92,46,0,511,91,1,0,0,0,512,518,3,102,51,0,513,517,3,96,48,
187
+ 0,514,517,3,94,47,0,515,517,3,100,50,0,516,513,1,0,0,0,516,514,1,0,0,0,516,
188
+ 515,1,0,0,0,517,520,1,0,0,0,518,516,1,0,0,0,518,519,1,0,0,0,519,93,1,0,0,
189
+ 0,520,518,1,0,0,0,521,522,5,65,0,0,522,536,3,102,51,0,523,532,5,16,0,0,524,
190
+ 526,3,72,36,0,525,524,1,0,0,0,525,526,1,0,0,0,526,527,1,0,0,0,527,529,5,
191
+ 8,0,0,528,530,3,72,36,0,529,528,1,0,0,0,529,530,1,0,0,0,530,533,1,0,0,0,
192
+ 531,533,3,72,36,0,532,525,1,0,0,0,532,531,1,0,0,0,533,534,1,0,0,0,534,536,
193
+ 5,17,0,0,535,521,1,0,0,0,535,523,1,0,0,0,536,95,1,0,0,0,537,538,3,98,49,
194
+ 0,538,539,3,102,51,0,539,97,1,0,0,0,540,541,5,69,0,0,541,546,5,57,0,0,542,
195
+ 543,5,64,0,0,543,546,5,57,0,0,544,546,5,62,0,0,545,540,1,0,0,0,545,542,1,
196
+ 0,0,0,545,544,1,0,0,0,546,99,1,0,0,0,547,549,5,66,0,0,548,550,5,67,0,0,549,
197
+ 548,1,0,0,0,549,550,1,0,0,0,550,551,1,0,0,0,551,552,5,73,0,0,552,101,1,0,
198
+ 0,0,553,555,3,104,52,0,554,556,3,62,31,0,555,554,1,0,0,0,555,556,1,0,0,0,
199
+ 556,103,1,0,0,0,557,562,3,122,61,0,558,559,5,10,0,0,559,561,3,178,89,0,560,
200
+ 558,1,0,0,0,561,564,1,0,0,0,562,560,1,0,0,0,562,563,1,0,0,0,563,105,1,0,
201
+ 0,0,564,562,1,0,0,0,565,566,3,180,90,0,566,567,5,1,0,0,567,569,1,0,0,0,568,
202
+ 565,1,0,0,0,568,569,1,0,0,0,569,570,1,0,0,0,570,571,3,108,54,0,571,107,1,
203
+ 0,0,0,572,577,3,120,60,0,573,576,3,110,55,0,574,576,3,112,56,0,575,573,1,
204
+ 0,0,0,575,574,1,0,0,0,576,579,1,0,0,0,577,575,1,0,0,0,577,578,1,0,0,0,578,
205
+ 587,1,0,0,0,579,577,1,0,0,0,580,581,5,12,0,0,581,582,3,108,54,0,582,584,
206
+ 5,13,0,0,583,585,3,114,57,0,584,583,1,0,0,0,584,585,1,0,0,0,585,587,1,0,
207
+ 0,0,586,572,1,0,0,0,586,580,1,0,0,0,587,109,1,0,0,0,588,589,3,126,63,0,589,
208
+ 590,3,120,60,0,590,111,1,0,0,0,591,592,5,12,0,0,592,593,3,108,54,0,593,594,
209
+ 5,13,0,0,594,595,3,114,57,0,595,596,3,120,60,0,596,113,1,0,0,0,597,598,5,
210
+ 14,0,0,598,599,3,116,58,0,599,600,5,11,0,0,600,601,3,116,58,0,601,602,5,
211
+ 15,0,0,602,623,1,0,0,0,603,604,5,14,0,0,604,605,3,116,58,0,605,606,5,15,
212
+ 0,0,606,623,1,0,0,0,607,608,5,14,0,0,608,609,3,116,58,0,609,610,5,11,0,0,
213
+ 610,611,5,15,0,0,611,623,1,0,0,0,612,613,5,14,0,0,613,614,5,11,0,0,614,615,
214
+ 3,116,58,0,615,616,5,15,0,0,616,623,1,0,0,0,617,618,5,14,0,0,618,619,5,11,
215
+ 0,0,619,623,5,15,0,0,620,623,5,19,0,0,621,623,5,23,0,0,622,597,1,0,0,0,622,
216
+ 603,1,0,0,0,622,607,1,0,0,0,622,612,1,0,0,0,622,617,1,0,0,0,622,620,1,0,
217
+ 0,0,622,621,1,0,0,0,623,115,1,0,0,0,624,625,7,6,0,0,625,117,1,0,0,0,626,
218
+ 629,3,174,87,0,627,629,3,158,79,0,628,626,1,0,0,0,628,627,1,0,0,0,629,119,
219
+ 1,0,0,0,630,632,5,12,0,0,631,633,3,180,90,0,632,631,1,0,0,0,632,633,1,0,
220
+ 0,0,633,635,1,0,0,0,634,636,3,62,31,0,635,634,1,0,0,0,635,636,1,0,0,0,636,
221
+ 638,1,0,0,0,637,639,3,118,59,0,638,637,1,0,0,0,638,639,1,0,0,0,639,640,1,
222
+ 0,0,0,640,641,5,13,0,0,641,121,1,0,0,0,642,655,3,160,80,0,643,655,3,158,
223
+ 79,0,644,655,3,156,78,0,645,655,3,152,76,0,646,655,3,148,74,0,647,655,3,
224
+ 144,72,0,648,655,3,142,71,0,649,655,3,146,73,0,650,655,3,140,70,0,651,655,
225
+ 3,138,69,0,652,655,3,180,90,0,653,655,3,134,67,0,654,642,1,0,0,0,654,643,
226
+ 1,0,0,0,654,644,1,0,0,0,654,645,1,0,0,0,654,646,1,0,0,0,654,647,1,0,0,0,
227
+ 654,648,1,0,0,0,654,649,1,0,0,0,654,650,1,0,0,0,654,651,1,0,0,0,654,652,
228
+ 1,0,0,0,654,653,1,0,0,0,655,123,1,0,0,0,656,657,3,180,90,0,657,658,5,1,0,
229
+ 0,658,125,1,0,0,0,659,660,5,6,0,0,660,662,5,18,0,0,661,663,3,128,64,0,662,
230
+ 661,1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,666,5,18,0,0,665,667,5,5,
231
+ 0,0,666,665,1,0,0,0,666,667,1,0,0,0,667,677,1,0,0,0,668,670,5,18,0,0,669,
232
+ 671,3,128,64,0,670,669,1,0,0,0,670,671,1,0,0,0,671,672,1,0,0,0,672,674,5,
233
+ 18,0,0,673,675,5,5,0,0,674,673,1,0,0,0,674,675,1,0,0,0,675,677,1,0,0,0,676,
234
+ 659,1,0,0,0,676,668,1,0,0,0,677,127,1,0,0,0,678,680,5,16,0,0,679,681,3,180,
235
+ 90,0,680,679,1,0,0,0,680,681,1,0,0,0,681,683,1,0,0,0,682,684,3,130,65,0,
236
+ 683,682,1,0,0,0,683,684,1,0,0,0,684,686,1,0,0,0,685,687,3,162,81,0,686,685,
237
+ 1,0,0,0,686,687,1,0,0,0,687,689,1,0,0,0,688,690,3,118,59,0,689,688,1,0,0,
238
+ 0,689,690,1,0,0,0,690,691,1,0,0,0,691,692,5,17,0,0,692,129,1,0,0,0,693,694,
239
+ 5,25,0,0,694,702,3,178,89,0,695,697,5,26,0,0,696,698,5,25,0,0,697,696,1,
240
+ 0,0,0,697,698,1,0,0,0,698,699,1,0,0,0,699,701,3,178,89,0,700,695,1,0,0,0,
241
+ 701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,131,1,0,0,0,704,702,
242
+ 1,0,0,0,705,707,5,58,0,0,706,708,5,36,0,0,707,706,1,0,0,0,707,708,1,0,0,
243
+ 0,708,709,1,0,0,0,709,710,3,6,3,0,710,133,1,0,0,0,711,712,5,45,0,0,712,715,
244
+ 5,14,0,0,713,716,3,4,2,0,714,716,3,66,33,0,715,713,1,0,0,0,715,714,1,0,0,
245
+ 0,716,717,1,0,0,0,717,718,5,15,0,0,718,135,1,0,0,0,719,724,3,180,90,0,720,
246
+ 721,5,10,0,0,721,723,3,180,90,0,722,720,1,0,0,0,723,726,1,0,0,0,724,722,
247
+ 1,0,0,0,724,725,1,0,0,0,725,137,1,0,0,0,726,724,1,0,0,0,727,728,3,136,68,
248
+ 0,728,730,5,12,0,0,729,731,5,63,0,0,730,729,1,0,0,0,730,731,1,0,0,0,731,
249
+ 733,1,0,0,0,732,734,3,154,77,0,733,732,1,0,0,0,733,734,1,0,0,0,734,735,1,
250
+ 0,0,0,735,736,5,13,0,0,736,139,1,0,0,0,737,738,5,12,0,0,738,739,3,72,36,
251
+ 0,739,740,5,13,0,0,740,141,1,0,0,0,741,742,7,7,0,0,742,743,5,12,0,0,743,
252
+ 744,3,150,75,0,744,745,5,13,0,0,745,143,1,0,0,0,746,748,5,16,0,0,747,749,
253
+ 3,124,62,0,748,747,1,0,0,0,748,749,1,0,0,0,749,750,1,0,0,0,750,752,3,146,
254
+ 73,0,751,753,3,68,34,0,752,751,1,0,0,0,752,753,1,0,0,0,753,754,1,0,0,0,754,
255
+ 755,5,26,0,0,755,756,3,72,36,0,756,757,5,17,0,0,757,145,1,0,0,0,758,760,
256
+ 3,120,60,0,759,761,3,110,55,0,760,759,1,0,0,0,761,762,1,0,0,0,762,760,1,
257
+ 0,0,0,762,763,1,0,0,0,763,147,1,0,0,0,764,765,5,16,0,0,765,768,3,150,75,
258
+ 0,766,767,5,26,0,0,767,769,3,72,36,0,768,766,1,0,0,0,768,769,1,0,0,0,769,
259
+ 770,1,0,0,0,770,771,5,17,0,0,771,149,1,0,0,0,772,773,3,180,90,0,773,774,
260
+ 5,65,0,0,774,776,3,72,36,0,775,777,3,68,34,0,776,775,1,0,0,0,776,777,1,0,
261
+ 0,0,777,151,1,0,0,0,778,779,5,32,0,0,779,780,5,12,0,0,780,781,5,23,0,0,781,
262
+ 782,5,13,0,0,782,153,1,0,0,0,783,788,3,72,36,0,784,785,5,11,0,0,785,787,
263
+ 3,72,36,0,786,784,1,0,0,0,787,790,1,0,0,0,788,786,1,0,0,0,788,789,1,0,0,
264
+ 0,789,155,1,0,0,0,790,788,1,0,0,0,791,793,5,79,0,0,792,794,3,72,36,0,793,
265
+ 792,1,0,0,0,793,794,1,0,0,0,794,800,1,0,0,0,795,796,5,80,0,0,796,797,3,72,
266
+ 36,0,797,798,5,81,0,0,798,799,3,72,36,0,799,801,1,0,0,0,800,795,1,0,0,0,
267
+ 801,802,1,0,0,0,802,800,1,0,0,0,802,803,1,0,0,0,803,806,1,0,0,0,804,805,
268
+ 5,82,0,0,805,807,3,72,36,0,806,804,1,0,0,0,806,807,1,0,0,0,807,808,1,0,0,
269
+ 0,808,809,5,83,0,0,809,157,1,0,0,0,810,813,5,27,0,0,811,814,3,180,90,0,812,
270
+ 814,3,166,83,0,813,811,1,0,0,0,813,812,1,0,0,0,814,159,1,0,0,0,815,823,3,
271
+ 164,82,0,816,823,3,166,83,0,817,823,5,73,0,0,818,823,3,168,84,0,819,823,
272
+ 3,170,85,0,820,823,3,172,86,0,821,823,3,174,87,0,822,815,1,0,0,0,822,816,
273
+ 1,0,0,0,822,817,1,0,0,0,822,818,1,0,0,0,822,819,1,0,0,0,822,820,1,0,0,0,
274
+ 822,821,1,0,0,0,823,161,1,0,0,0,824,826,5,23,0,0,825,827,3,166,83,0,826,
275
+ 825,1,0,0,0,826,827,1,0,0,0,827,832,1,0,0,0,828,830,5,8,0,0,829,831,3,166,
276
+ 83,0,830,829,1,0,0,0,830,831,1,0,0,0,831,833,1,0,0,0,832,828,1,0,0,0,832,
277
+ 833,1,0,0,0,833,163,1,0,0,0,834,835,7,8,0,0,835,165,1,0,0,0,836,837,5,93,
278
+ 0,0,837,167,1,0,0,0,838,839,5,92,0,0,839,169,1,0,0,0,840,841,5,91,0,0,841,
279
+ 171,1,0,0,0,842,844,5,16,0,0,843,845,3,154,77,0,844,843,1,0,0,0,844,845,
280
+ 1,0,0,0,845,846,1,0,0,0,846,847,5,17,0,0,847,173,1,0,0,0,848,857,5,14,0,
281
+ 0,849,854,3,176,88,0,850,851,5,11,0,0,851,853,3,176,88,0,852,850,1,0,0,0,
282
+ 853,856,1,0,0,0,854,852,1,0,0,0,854,855,1,0,0,0,855,858,1,0,0,0,856,854,
283
+ 1,0,0,0,857,849,1,0,0,0,857,858,1,0,0,0,858,859,1,0,0,0,859,860,5,15,0,0,
284
+ 860,175,1,0,0,0,861,862,3,178,89,0,862,863,5,25,0,0,863,864,3,72,36,0,864,
285
+ 177,1,0,0,0,865,868,3,180,90,0,866,868,3,182,91,0,867,865,1,0,0,0,867,866,
286
+ 1,0,0,0,868,179,1,0,0,0,869,870,7,9,0,0,870,181,1,0,0,0,871,872,7,10,0,0,
287
+ 872,183,1,0,0,0,105,186,192,198,203,208,213,215,223,232,236,239,242,246,
288
+ 252,258,262,271,277,284,287,289,294,300,306,311,324,331,334,345,352,359,
289
+ 363,372,376,381,390,403,417,423,430,440,448,456,464,468,478,488,496,504,
290
+ 508,516,518,525,529,532,535,545,549,555,562,568,575,577,584,586,622,628,
291
+ 632,635,638,654,662,666,670,674,676,680,683,686,689,697,702,707,715,724,
292
+ 730,733,748,752,762,768,776,788,793,802,806,813,822,826,830,832,844,854,
293
+ 857,867];
279
294
 
280
295
 
281
296
  const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
@@ -340,8 +355,9 @@ export default class CypherParser extends antlr4.Parser {
340
355
  "listExpression", "stringExpression", "stringExpPrefix",
341
356
  "nullExpression", "propertyOrLabelExpression",
342
357
  "propertyExpression", "patternPart", "patternElem",
343
- "patternElemChain", "properties", "nodePattern",
344
- "atom", "lhs", "relationshipPattern", "relationDetail",
358
+ "patternElemChain", "qppElemChain", "qppQuantifier",
359
+ "qppInt", "properties", "nodePattern", "atom",
360
+ "lhs", "relationshipPattern", "relationDetail",
345
361
  "relationshipTypes", "unionSt", "subqueryExist",
346
362
  "invocationName", "functionInvocation", "parenthesizedExpression",
347
363
  "filterWith", "patternComprehension", "relationshipsChainPattern",
@@ -367,17 +383,17 @@ export default class CypherParser extends antlr4.Parser {
367
383
  var _la = 0;
368
384
  try {
369
385
  this.enterOuterAlt(localctx, 1);
370
- this.state = 178;
386
+ this.state = 184;
371
387
  this.query();
372
- this.state = 180;
388
+ this.state = 186;
373
389
  this._errHandler.sync(this);
374
390
  _la = this._input.LA(1);
375
391
  if(_la===9) {
376
- this.state = 179;
392
+ this.state = 185;
377
393
  this.match(CypherParser.SEMI);
378
394
  }
379
395
 
380
- this.state = 182;
396
+ this.state = 188;
381
397
  this.match(CypherParser.EOF);
382
398
  } catch (re) {
383
399
  if(re instanceof antlr4.error.RecognitionException) {
@@ -399,19 +415,19 @@ export default class CypherParser extends antlr4.Parser {
399
415
  let localctx = new QueryContext(this, this._ctx, this.state);
400
416
  this.enterRule(localctx, 2, CypherParser.RULE_query);
401
417
  try {
402
- this.state = 186;
418
+ this.state = 192;
403
419
  this._errHandler.sync(this);
404
420
  var la_ = this._interp.adaptivePredict(this._input,1,this._ctx);
405
421
  switch(la_) {
406
422
  case 1:
407
423
  this.enterOuterAlt(localctx, 1);
408
- this.state = 184;
424
+ this.state = 190;
409
425
  this.regularQuery();
410
426
  break;
411
427
 
412
428
  case 2:
413
429
  this.enterOuterAlt(localctx, 2);
414
- this.state = 185;
430
+ this.state = 191;
415
431
  this.standaloneCall();
416
432
  break;
417
433
 
@@ -438,15 +454,15 @@ export default class CypherParser extends antlr4.Parser {
438
454
  var _la = 0;
439
455
  try {
440
456
  this.enterOuterAlt(localctx, 1);
441
- this.state = 188;
457
+ this.state = 194;
442
458
  this.singleQuery();
443
- this.state = 192;
459
+ this.state = 198;
444
460
  this._errHandler.sync(this);
445
461
  _la = this._input.LA(1);
446
462
  while(_la===58) {
447
- this.state = 189;
463
+ this.state = 195;
448
464
  this.unionSt();
449
- this.state = 194;
465
+ this.state = 200;
450
466
  this._errHandler.sync(this);
451
467
  _la = this._input.LA(1);
452
468
  }
@@ -470,19 +486,19 @@ export default class CypherParser extends antlr4.Parser {
470
486
  let localctx = new SingleQueryContext(this, this._ctx, this.state);
471
487
  this.enterRule(localctx, 6, CypherParser.RULE_singleQuery);
472
488
  try {
473
- this.state = 197;
489
+ this.state = 203;
474
490
  this._errHandler.sync(this);
475
491
  var la_ = this._interp.adaptivePredict(this._input,3,this._ctx);
476
492
  switch(la_) {
477
493
  case 1:
478
494
  this.enterOuterAlt(localctx, 1);
479
- this.state = 195;
495
+ this.state = 201;
480
496
  this.singlePartQ();
481
497
  break;
482
498
 
483
499
  case 2:
484
500
  this.enterOuterAlt(localctx, 2);
485
- this.state = 196;
501
+ this.state = 202;
486
502
  this.multiPartQ();
487
503
  break;
488
504
 
@@ -509,29 +525,29 @@ export default class CypherParser extends antlr4.Parser {
509
525
  var _la = 0;
510
526
  try {
511
527
  this.enterOuterAlt(localctx, 1);
512
- this.state = 199;
528
+ this.state = 205;
513
529
  this.match(CypherParser.CALL);
514
- this.state = 200;
530
+ this.state = 206;
515
531
  this.invocationName();
516
- this.state = 202;
532
+ this.state = 208;
517
533
  this._errHandler.sync(this);
518
534
  _la = this._input.LA(1);
519
535
  if(_la===12) {
520
- this.state = 201;
536
+ this.state = 207;
521
537
  this.parenExpressionChain();
522
538
  }
523
539
 
524
- this.state = 209;
540
+ this.state = 215;
525
541
  this._errHandler.sync(this);
526
542
  _la = this._input.LA(1);
527
543
  if(_la===29) {
528
- this.state = 204;
544
+ this.state = 210;
529
545
  this.match(CypherParser.YIELD);
530
- this.state = 207;
546
+ this.state = 213;
531
547
  this._errHandler.sync(this);
532
548
  switch(this._input.LA(1)) {
533
549
  case 23:
534
- this.state = 205;
550
+ this.state = 211;
535
551
  this.match(CypherParser.MULT);
536
552
  break;
537
553
  case 30:
@@ -542,7 +558,7 @@ export default class CypherParser extends antlr4.Parser {
542
558
  case 35:
543
559
  case 89:
544
560
  case 90:
545
- this.state = 206;
561
+ this.state = 212;
546
562
  this.yieldItems();
547
563
  break;
548
564
  default:
@@ -571,9 +587,9 @@ export default class CypherParser extends antlr4.Parser {
571
587
  this.enterRule(localctx, 10, CypherParser.RULE_returnSt);
572
588
  try {
573
589
  this.enterOuterAlt(localctx, 1);
574
- this.state = 211;
590
+ this.state = 217;
575
591
  this.match(CypherParser.RETURN);
576
- this.state = 212;
592
+ this.state = 218;
577
593
  this.projectionBody();
578
594
  } catch (re) {
579
595
  if(re instanceof antlr4.error.RecognitionException) {
@@ -597,15 +613,15 @@ export default class CypherParser extends antlr4.Parser {
597
613
  var _la = 0;
598
614
  try {
599
615
  this.enterOuterAlt(localctx, 1);
600
- this.state = 214;
616
+ this.state = 220;
601
617
  this.match(CypherParser.WITH);
602
- this.state = 215;
618
+ this.state = 221;
603
619
  this.projectionBody();
604
- this.state = 217;
620
+ this.state = 223;
605
621
  this._errHandler.sync(this);
606
622
  _la = this._input.LA(1);
607
623
  if(_la===56) {
608
- this.state = 216;
624
+ this.state = 222;
609
625
  this.where();
610
626
  }
611
627
 
@@ -630,9 +646,9 @@ export default class CypherParser extends antlr4.Parser {
630
646
  this.enterRule(localctx, 14, CypherParser.RULE_skipSt);
631
647
  try {
632
648
  this.enterOuterAlt(localctx, 1);
633
- this.state = 219;
649
+ this.state = 225;
634
650
  this.match(CypherParser.SKIP_W);
635
- this.state = 220;
651
+ this.state = 226;
636
652
  this.expression();
637
653
  } catch (re) {
638
654
  if(re instanceof antlr4.error.RecognitionException) {
@@ -655,9 +671,9 @@ export default class CypherParser extends antlr4.Parser {
655
671
  this.enterRule(localctx, 16, CypherParser.RULE_limitSt);
656
672
  try {
657
673
  this.enterOuterAlt(localctx, 1);
658
- this.state = 222;
674
+ this.state = 228;
659
675
  this.match(CypherParser.LIMIT);
660
- this.state = 223;
676
+ this.state = 229;
661
677
  this.expression();
662
678
  } catch (re) {
663
679
  if(re instanceof antlr4.error.RecognitionException) {
@@ -681,37 +697,37 @@ export default class CypherParser extends antlr4.Parser {
681
697
  var _la = 0;
682
698
  try {
683
699
  this.enterOuterAlt(localctx, 1);
684
- this.state = 226;
700
+ this.state = 232;
685
701
  this._errHandler.sync(this);
686
702
  _la = this._input.LA(1);
687
703
  if(_la===63) {
688
- this.state = 225;
704
+ this.state = 231;
689
705
  this.match(CypherParser.DISTINCT);
690
706
  }
691
707
 
692
- this.state = 228;
708
+ this.state = 234;
693
709
  this.projectionItems();
694
- this.state = 230;
710
+ this.state = 236;
695
711
  this._errHandler.sync(this);
696
712
  _la = this._input.LA(1);
697
713
  if(_la===51) {
698
- this.state = 229;
714
+ this.state = 235;
699
715
  this.orderSt();
700
716
  }
701
717
 
702
- this.state = 233;
718
+ this.state = 239;
703
719
  this._errHandler.sync(this);
704
720
  _la = this._input.LA(1);
705
721
  if(_la===55) {
706
- this.state = 232;
722
+ this.state = 238;
707
723
  this.skipSt();
708
724
  }
709
725
 
710
- this.state = 236;
726
+ this.state = 242;
711
727
  this._errHandler.sync(this);
712
728
  _la = this._input.LA(1);
713
729
  if(_la===46) {
714
- this.state = 235;
730
+ this.state = 241;
715
731
  this.limitSt();
716
732
  }
717
733
 
@@ -737,11 +753,11 @@ export default class CypherParser extends antlr4.Parser {
737
753
  var _la = 0;
738
754
  try {
739
755
  this.enterOuterAlt(localctx, 1);
740
- this.state = 240;
756
+ this.state = 246;
741
757
  this._errHandler.sync(this);
742
758
  switch(this._input.LA(1)) {
743
759
  case 23:
744
- this.state = 238;
760
+ this.state = 244;
745
761
  this.match(CypherParser.MULT);
746
762
  break;
747
763
  case 12:
@@ -768,21 +784,21 @@ export default class CypherParser extends antlr4.Parser {
768
784
  case 91:
769
785
  case 92:
770
786
  case 93:
771
- this.state = 239;
787
+ this.state = 245;
772
788
  this.projectionItem();
773
789
  break;
774
790
  default:
775
791
  throw new antlr4.error.NoViableAltException(this);
776
792
  }
777
- this.state = 246;
793
+ this.state = 252;
778
794
  this._errHandler.sync(this);
779
795
  _la = this._input.LA(1);
780
796
  while(_la===11) {
781
- this.state = 242;
797
+ this.state = 248;
782
798
  this.match(CypherParser.COMMA);
783
- this.state = 243;
799
+ this.state = 249;
784
800
  this.projectionItem();
785
- this.state = 248;
801
+ this.state = 254;
786
802
  this._errHandler.sync(this);
787
803
  _la = this._input.LA(1);
788
804
  }
@@ -808,15 +824,15 @@ export default class CypherParser extends antlr4.Parser {
808
824
  var _la = 0;
809
825
  try {
810
826
  this.enterOuterAlt(localctx, 1);
811
- this.state = 249;
827
+ this.state = 255;
812
828
  this.expression();
813
- this.state = 252;
829
+ this.state = 258;
814
830
  this._errHandler.sync(this);
815
831
  _la = this._input.LA(1);
816
832
  if(_la===61) {
817
- this.state = 250;
833
+ this.state = 256;
818
834
  this.match(CypherParser.AS);
819
- this.state = 251;
835
+ this.state = 257;
820
836
  this.symbol();
821
837
  }
822
838
 
@@ -842,13 +858,13 @@ export default class CypherParser extends antlr4.Parser {
842
858
  var _la = 0;
843
859
  try {
844
860
  this.enterOuterAlt(localctx, 1);
845
- this.state = 254;
861
+ this.state = 260;
846
862
  this.expression();
847
- this.state = 256;
863
+ this.state = 262;
848
864
  this._errHandler.sync(this);
849
865
  _la = this._input.LA(1);
850
866
  if(((((_la - 37)) & ~0x1f) === 0 && ((1 << (_la - 37)) & 99) !== 0)) {
851
- this.state = 255;
867
+ this.state = 261;
852
868
  _la = this._input.LA(1);
853
869
  if(!(((((_la - 37)) & ~0x1f) === 0 && ((1 << (_la - 37)) & 99) !== 0))) {
854
870
  this._errHandler.recoverInline(this);
@@ -881,21 +897,21 @@ export default class CypherParser extends antlr4.Parser {
881
897
  var _la = 0;
882
898
  try {
883
899
  this.enterOuterAlt(localctx, 1);
884
- this.state = 258;
900
+ this.state = 264;
885
901
  this.match(CypherParser.ORDER);
886
- this.state = 259;
902
+ this.state = 265;
887
903
  this.match(CypherParser.BY);
888
- this.state = 260;
904
+ this.state = 266;
889
905
  this.orderItem();
890
- this.state = 265;
906
+ this.state = 271;
891
907
  this._errHandler.sync(this);
892
908
  _la = this._input.LA(1);
893
909
  while(_la===11) {
894
- this.state = 261;
910
+ this.state = 267;
895
911
  this.match(CypherParser.COMMA);
896
- this.state = 262;
912
+ this.state = 268;
897
913
  this.orderItem();
898
- this.state = 267;
914
+ this.state = 273;
899
915
  this._errHandler.sync(this);
900
916
  _la = this._input.LA(1);
901
917
  }
@@ -921,21 +937,21 @@ export default class CypherParser extends antlr4.Parser {
921
937
  var _la = 0;
922
938
  try {
923
939
  this.enterOuterAlt(localctx, 1);
924
- this.state = 271;
940
+ this.state = 277;
925
941
  this._errHandler.sync(this);
926
942
  _la = this._input.LA(1);
927
943
  while(((((_la - 28)) & ~0x1f) === 0 && ((1 << (_la - 28)) & 2152202241) !== 0)) {
928
- this.state = 268;
944
+ this.state = 274;
929
945
  this.readingStatement();
930
- this.state = 273;
946
+ this.state = 279;
931
947
  this._errHandler.sync(this);
932
948
  _la = this._input.LA(1);
933
949
  }
934
- this.state = 283;
950
+ this.state = 289;
935
951
  this._errHandler.sync(this);
936
952
  switch(this._input.LA(1)) {
937
953
  case 53:
938
- this.state = 274;
954
+ this.state = 280;
939
955
  this.returnSt();
940
956
  break;
941
957
  case 40:
@@ -944,21 +960,21 @@ export default class CypherParser extends antlr4.Parser {
944
960
  case 48:
945
961
  case 52:
946
962
  case 54:
947
- this.state = 276;
963
+ this.state = 282;
948
964
  this._errHandler.sync(this);
949
965
  _la = this._input.LA(1);
950
966
  do {
951
- this.state = 275;
967
+ this.state = 281;
952
968
  this.updatingStatement();
953
- this.state = 278;
969
+ this.state = 284;
954
970
  this._errHandler.sync(this);
955
971
  _la = this._input.LA(1);
956
972
  } while(((((_la - 40)) & ~0x1f) === 0 && ((1 << (_la - 40)) & 20755) !== 0));
957
- this.state = 281;
973
+ this.state = 287;
958
974
  this._errHandler.sync(this);
959
975
  _la = this._input.LA(1);
960
976
  if(_la===53) {
961
- this.state = 280;
977
+ this.state = 286;
962
978
  this.returnSt();
963
979
  }
964
980
 
@@ -988,43 +1004,43 @@ export default class CypherParser extends antlr4.Parser {
988
1004
  var _la = 0;
989
1005
  try {
990
1006
  this.enterOuterAlt(localctx, 1);
991
- this.state = 288;
1007
+ this.state = 294;
992
1008
  this._errHandler.sync(this);
993
1009
  _la = this._input.LA(1);
994
1010
  while(((((_la - 28)) & ~0x1f) === 0 && ((1 << (_la - 28)) & 2152202241) !== 0)) {
995
- this.state = 285;
1011
+ this.state = 291;
996
1012
  this.readingStatement();
997
- this.state = 290;
1013
+ this.state = 296;
998
1014
  this._errHandler.sync(this);
999
1015
  _la = this._input.LA(1);
1000
1016
  }
1001
- this.state = 298;
1017
+ this.state = 304;
1002
1018
  this._errHandler.sync(this);
1003
1019
  var _alt = 1;
1004
1020
  do {
1005
1021
  switch (_alt) {
1006
1022
  case 1:
1007
- this.state = 294;
1023
+ this.state = 300;
1008
1024
  this._errHandler.sync(this);
1009
1025
  _la = this._input.LA(1);
1010
1026
  while(((((_la - 40)) & ~0x1f) === 0 && ((1 << (_la - 40)) & 20755) !== 0)) {
1011
- this.state = 291;
1027
+ this.state = 297;
1012
1028
  this.updatingStatement();
1013
- this.state = 296;
1029
+ this.state = 302;
1014
1030
  this._errHandler.sync(this);
1015
1031
  _la = this._input.LA(1);
1016
1032
  }
1017
- this.state = 297;
1033
+ this.state = 303;
1018
1034
  this.withSt();
1019
1035
  break;
1020
1036
  default:
1021
1037
  throw new antlr4.error.NoViableAltException(this);
1022
1038
  }
1023
- this.state = 300;
1039
+ this.state = 306;
1024
1040
  this._errHandler.sync(this);
1025
1041
  _alt = this._interp.adaptivePredict(this._input,23, this._ctx);
1026
1042
  } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER );
1027
- this.state = 302;
1043
+ this.state = 308;
1028
1044
  this.singlePartQ();
1029
1045
  } catch (re) {
1030
1046
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1048,17 +1064,17 @@ export default class CypherParser extends antlr4.Parser {
1048
1064
  var _la = 0;
1049
1065
  try {
1050
1066
  this.enterOuterAlt(localctx, 1);
1051
- this.state = 305;
1067
+ this.state = 311;
1052
1068
  this._errHandler.sync(this);
1053
1069
  _la = this._input.LA(1);
1054
1070
  if(_la===50) {
1055
- this.state = 304;
1071
+ this.state = 310;
1056
1072
  this.match(CypherParser.OPTIONAL);
1057
1073
  }
1058
1074
 
1059
- this.state = 307;
1075
+ this.state = 313;
1060
1076
  this.match(CypherParser.MATCH);
1061
- this.state = 308;
1077
+ this.state = 314;
1062
1078
  this.patternWhere();
1063
1079
  } catch (re) {
1064
1080
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1081,13 +1097,13 @@ export default class CypherParser extends antlr4.Parser {
1081
1097
  this.enterRule(localctx, 34, CypherParser.RULE_unwindSt);
1082
1098
  try {
1083
1099
  this.enterOuterAlt(localctx, 1);
1084
- this.state = 310;
1100
+ this.state = 316;
1085
1101
  this.match(CypherParser.UNWIND);
1086
- this.state = 311;
1102
+ this.state = 317;
1087
1103
  this.expression();
1088
- this.state = 312;
1104
+ this.state = 318;
1089
1105
  this.match(CypherParser.AS);
1090
- this.state = 313;
1106
+ this.state = 319;
1091
1107
  this.symbol();
1092
1108
  } catch (re) {
1093
1109
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1109,23 +1125,23 @@ export default class CypherParser extends antlr4.Parser {
1109
1125
  let localctx = new ReadingStatementContext(this, this._ctx, this.state);
1110
1126
  this.enterRule(localctx, 36, CypherParser.RULE_readingStatement);
1111
1127
  try {
1112
- this.state = 318;
1128
+ this.state = 324;
1113
1129
  this._errHandler.sync(this);
1114
1130
  switch(this._input.LA(1)) {
1115
1131
  case 47:
1116
1132
  case 50:
1117
1133
  this.enterOuterAlt(localctx, 1);
1118
- this.state = 315;
1134
+ this.state = 321;
1119
1135
  this.matchSt();
1120
1136
  break;
1121
1137
  case 59:
1122
1138
  this.enterOuterAlt(localctx, 2);
1123
- this.state = 316;
1139
+ this.state = 322;
1124
1140
  this.unwindSt();
1125
1141
  break;
1126
1142
  case 28:
1127
1143
  this.enterOuterAlt(localctx, 3);
1128
- this.state = 317;
1144
+ this.state = 323;
1129
1145
  this.queryCallSt();
1130
1146
  break;
1131
1147
  default:
@@ -1151,33 +1167,33 @@ export default class CypherParser extends antlr4.Parser {
1151
1167
  let localctx = new UpdatingStatementContext(this, this._ctx, this.state);
1152
1168
  this.enterRule(localctx, 38, CypherParser.RULE_updatingStatement);
1153
1169
  try {
1154
- this.state = 325;
1170
+ this.state = 331;
1155
1171
  this._errHandler.sync(this);
1156
1172
  switch(this._input.LA(1)) {
1157
1173
  case 40:
1158
1174
  this.enterOuterAlt(localctx, 1);
1159
- this.state = 320;
1175
+ this.state = 326;
1160
1176
  this.createSt();
1161
1177
  break;
1162
1178
  case 48:
1163
1179
  this.enterOuterAlt(localctx, 2);
1164
- this.state = 321;
1180
+ this.state = 327;
1165
1181
  this.mergeSt();
1166
1182
  break;
1167
1183
  case 41:
1168
1184
  case 44:
1169
1185
  this.enterOuterAlt(localctx, 3);
1170
- this.state = 322;
1186
+ this.state = 328;
1171
1187
  this.deleteSt();
1172
1188
  break;
1173
1189
  case 54:
1174
1190
  this.enterOuterAlt(localctx, 4);
1175
- this.state = 323;
1191
+ this.state = 329;
1176
1192
  this.setSt();
1177
1193
  break;
1178
1194
  case 52:
1179
1195
  this.enterOuterAlt(localctx, 5);
1180
- this.state = 324;
1196
+ this.state = 330;
1181
1197
  this.removeSt();
1182
1198
  break;
1183
1199
  default:
@@ -1205,17 +1221,17 @@ export default class CypherParser extends antlr4.Parser {
1205
1221
  var _la = 0;
1206
1222
  try {
1207
1223
  this.enterOuterAlt(localctx, 1);
1208
- this.state = 328;
1224
+ this.state = 334;
1209
1225
  this._errHandler.sync(this);
1210
1226
  _la = this._input.LA(1);
1211
1227
  if(_la===44) {
1212
- this.state = 327;
1228
+ this.state = 333;
1213
1229
  this.match(CypherParser.DETACH);
1214
1230
  }
1215
1231
 
1216
- this.state = 330;
1232
+ this.state = 336;
1217
1233
  this.match(CypherParser.DELETE);
1218
- this.state = 331;
1234
+ this.state = 337;
1219
1235
  this.expressionChain();
1220
1236
  } catch (re) {
1221
1237
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1239,19 +1255,19 @@ export default class CypherParser extends antlr4.Parser {
1239
1255
  var _la = 0;
1240
1256
  try {
1241
1257
  this.enterOuterAlt(localctx, 1);
1242
- this.state = 333;
1258
+ this.state = 339;
1243
1259
  this.match(CypherParser.REMOVE);
1244
- this.state = 334;
1260
+ this.state = 340;
1245
1261
  this.removeItem();
1246
- this.state = 339;
1262
+ this.state = 345;
1247
1263
  this._errHandler.sync(this);
1248
1264
  _la = this._input.LA(1);
1249
1265
  while(_la===11) {
1250
- this.state = 335;
1266
+ this.state = 341;
1251
1267
  this.match(CypherParser.COMMA);
1252
- this.state = 336;
1268
+ this.state = 342;
1253
1269
  this.removeItem();
1254
- this.state = 341;
1270
+ this.state = 347;
1255
1271
  this._errHandler.sync(this);
1256
1272
  _la = this._input.LA(1);
1257
1273
  }
@@ -1275,21 +1291,21 @@ export default class CypherParser extends antlr4.Parser {
1275
1291
  let localctx = new RemoveItemContext(this, this._ctx, this.state);
1276
1292
  this.enterRule(localctx, 44, CypherParser.RULE_removeItem);
1277
1293
  try {
1278
- this.state = 346;
1294
+ this.state = 352;
1279
1295
  this._errHandler.sync(this);
1280
1296
  var la_ = this._interp.adaptivePredict(this._input,29,this._ctx);
1281
1297
  switch(la_) {
1282
1298
  case 1:
1283
1299
  this.enterOuterAlt(localctx, 1);
1284
- this.state = 342;
1300
+ this.state = 348;
1285
1301
  this.symbol();
1286
- this.state = 343;
1302
+ this.state = 349;
1287
1303
  this.nodeLabels();
1288
1304
  break;
1289
1305
 
1290
1306
  case 2:
1291
1307
  this.enterOuterAlt(localctx, 2);
1292
- this.state = 345;
1308
+ this.state = 351;
1293
1309
  this.propertyExpression();
1294
1310
  break;
1295
1311
 
@@ -1316,19 +1332,19 @@ export default class CypherParser extends antlr4.Parser {
1316
1332
  var _la = 0;
1317
1333
  try {
1318
1334
  this.enterOuterAlt(localctx, 1);
1319
- this.state = 348;
1335
+ this.state = 354;
1320
1336
  this.match(CypherParser.CALL);
1321
- this.state = 349;
1337
+ this.state = 355;
1322
1338
  this.invocationName();
1323
- this.state = 350;
1339
+ this.state = 356;
1324
1340
  this.parenExpressionChain();
1325
- this.state = 353;
1341
+ this.state = 359;
1326
1342
  this._errHandler.sync(this);
1327
1343
  _la = this._input.LA(1);
1328
1344
  if(_la===29) {
1329
- this.state = 351;
1345
+ this.state = 357;
1330
1346
  this.match(CypherParser.YIELD);
1331
- this.state = 352;
1347
+ this.state = 358;
1332
1348
  this.yieldItems();
1333
1349
  }
1334
1350
 
@@ -1354,17 +1370,17 @@ export default class CypherParser extends antlr4.Parser {
1354
1370
  var _la = 0;
1355
1371
  try {
1356
1372
  this.enterOuterAlt(localctx, 1);
1357
- this.state = 355;
1373
+ this.state = 361;
1358
1374
  this.match(CypherParser.LPAREN);
1359
- this.state = 357;
1375
+ this.state = 363;
1360
1376
  this._errHandler.sync(this);
1361
1377
  _la = this._input.LA(1);
1362
1378
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
1363
- this.state = 356;
1379
+ this.state = 362;
1364
1380
  this.expressionChain();
1365
1381
  }
1366
1382
 
1367
- this.state = 359;
1383
+ this.state = 365;
1368
1384
  this.match(CypherParser.RPAREN);
1369
1385
  } catch (re) {
1370
1386
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1388,25 +1404,25 @@ export default class CypherParser extends antlr4.Parser {
1388
1404
  var _la = 0;
1389
1405
  try {
1390
1406
  this.enterOuterAlt(localctx, 1);
1391
- this.state = 361;
1407
+ this.state = 367;
1392
1408
  this.yieldItem();
1393
- this.state = 366;
1409
+ this.state = 372;
1394
1410
  this._errHandler.sync(this);
1395
1411
  _la = this._input.LA(1);
1396
1412
  while(_la===11) {
1397
- this.state = 362;
1413
+ this.state = 368;
1398
1414
  this.match(CypherParser.COMMA);
1399
- this.state = 363;
1415
+ this.state = 369;
1400
1416
  this.yieldItem();
1401
- this.state = 368;
1417
+ this.state = 374;
1402
1418
  this._errHandler.sync(this);
1403
1419
  _la = this._input.LA(1);
1404
1420
  }
1405
- this.state = 370;
1421
+ this.state = 376;
1406
1422
  this._errHandler.sync(this);
1407
1423
  _la = this._input.LA(1);
1408
1424
  if(_la===56) {
1409
- this.state = 369;
1425
+ this.state = 375;
1410
1426
  this.where();
1411
1427
  }
1412
1428
 
@@ -1431,17 +1447,17 @@ export default class CypherParser extends antlr4.Parser {
1431
1447
  this.enterRule(localctx, 52, CypherParser.RULE_yieldItem);
1432
1448
  try {
1433
1449
  this.enterOuterAlt(localctx, 1);
1434
- this.state = 375;
1450
+ this.state = 381;
1435
1451
  this._errHandler.sync(this);
1436
1452
  var la_ = this._interp.adaptivePredict(this._input,34,this._ctx);
1437
1453
  if(la_===1) {
1438
- this.state = 372;
1454
+ this.state = 378;
1439
1455
  this.symbol();
1440
- this.state = 373;
1456
+ this.state = 379;
1441
1457
  this.match(CypherParser.AS);
1442
1458
 
1443
1459
  }
1444
- this.state = 377;
1460
+ this.state = 383;
1445
1461
  this.symbol();
1446
1462
  } catch (re) {
1447
1463
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1465,17 +1481,17 @@ export default class CypherParser extends antlr4.Parser {
1465
1481
  var _la = 0;
1466
1482
  try {
1467
1483
  this.enterOuterAlt(localctx, 1);
1468
- this.state = 379;
1484
+ this.state = 385;
1469
1485
  this.match(CypherParser.MERGE);
1470
- this.state = 380;
1486
+ this.state = 386;
1471
1487
  this.patternPart();
1472
- this.state = 384;
1488
+ this.state = 390;
1473
1489
  this._errHandler.sync(this);
1474
1490
  _la = this._input.LA(1);
1475
1491
  while(_la===49) {
1476
- this.state = 381;
1492
+ this.state = 387;
1477
1493
  this.mergeAction();
1478
- this.state = 386;
1494
+ this.state = 392;
1479
1495
  this._errHandler.sync(this);
1480
1496
  _la = this._input.LA(1);
1481
1497
  }
@@ -1501,9 +1517,9 @@ export default class CypherParser extends antlr4.Parser {
1501
1517
  var _la = 0;
1502
1518
  try {
1503
1519
  this.enterOuterAlt(localctx, 1);
1504
- this.state = 387;
1520
+ this.state = 393;
1505
1521
  this.match(CypherParser.ON);
1506
- this.state = 388;
1522
+ this.state = 394;
1507
1523
  _la = this._input.LA(1);
1508
1524
  if(!(_la===40 || _la===47)) {
1509
1525
  this._errHandler.recoverInline(this);
@@ -1512,7 +1528,7 @@ export default class CypherParser extends antlr4.Parser {
1512
1528
  this._errHandler.reportMatch(this);
1513
1529
  this.consume();
1514
1530
  }
1515
- this.state = 389;
1531
+ this.state = 395;
1516
1532
  this.setSt();
1517
1533
  } catch (re) {
1518
1534
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1536,19 +1552,19 @@ export default class CypherParser extends antlr4.Parser {
1536
1552
  var _la = 0;
1537
1553
  try {
1538
1554
  this.enterOuterAlt(localctx, 1);
1539
- this.state = 391;
1555
+ this.state = 397;
1540
1556
  this.match(CypherParser.SET);
1541
- this.state = 392;
1557
+ this.state = 398;
1542
1558
  this.setItem();
1543
- this.state = 397;
1559
+ this.state = 403;
1544
1560
  this._errHandler.sync(this);
1545
1561
  _la = this._input.LA(1);
1546
1562
  while(_la===11) {
1547
- this.state = 393;
1563
+ this.state = 399;
1548
1564
  this.match(CypherParser.COMMA);
1549
- this.state = 394;
1565
+ this.state = 400;
1550
1566
  this.setItem();
1551
- this.state = 399;
1567
+ this.state = 405;
1552
1568
  this._errHandler.sync(this);
1553
1569
  _la = this._input.LA(1);
1554
1570
  }
@@ -1573,25 +1589,25 @@ export default class CypherParser extends antlr4.Parser {
1573
1589
  this.enterRule(localctx, 60, CypherParser.RULE_setItem);
1574
1590
  var _la = 0;
1575
1591
  try {
1576
- this.state = 411;
1592
+ this.state = 417;
1577
1593
  this._errHandler.sync(this);
1578
1594
  var la_ = this._interp.adaptivePredict(this._input,37,this._ctx);
1579
1595
  switch(la_) {
1580
1596
  case 1:
1581
1597
  this.enterOuterAlt(localctx, 1);
1582
- this.state = 400;
1598
+ this.state = 406;
1583
1599
  this.propertyExpression();
1584
- this.state = 401;
1600
+ this.state = 407;
1585
1601
  this.match(CypherParser.ASSIGN);
1586
- this.state = 402;
1602
+ this.state = 408;
1587
1603
  this.expression();
1588
1604
  break;
1589
1605
 
1590
1606
  case 2:
1591
1607
  this.enterOuterAlt(localctx, 2);
1592
- this.state = 404;
1608
+ this.state = 410;
1593
1609
  this.symbol();
1594
- this.state = 405;
1610
+ this.state = 411;
1595
1611
  _la = this._input.LA(1);
1596
1612
  if(!(_la===1 || _la===2)) {
1597
1613
  this._errHandler.recoverInline(this);
@@ -1600,15 +1616,15 @@ export default class CypherParser extends antlr4.Parser {
1600
1616
  this._errHandler.reportMatch(this);
1601
1617
  this.consume();
1602
1618
  }
1603
- this.state = 406;
1619
+ this.state = 412;
1604
1620
  this.expression();
1605
1621
  break;
1606
1622
 
1607
1623
  case 3:
1608
1624
  this.enterOuterAlt(localctx, 3);
1609
- this.state = 408;
1625
+ this.state = 414;
1610
1626
  this.symbol();
1611
- this.state = 409;
1627
+ this.state = 415;
1612
1628
  this.nodeLabels();
1613
1629
  break;
1614
1630
 
@@ -1635,15 +1651,15 @@ export default class CypherParser extends antlr4.Parser {
1635
1651
  var _la = 0;
1636
1652
  try {
1637
1653
  this.enterOuterAlt(localctx, 1);
1638
- this.state = 415;
1654
+ this.state = 421;
1639
1655
  this._errHandler.sync(this);
1640
1656
  _la = this._input.LA(1);
1641
1657
  do {
1642
- this.state = 413;
1658
+ this.state = 419;
1643
1659
  this.match(CypherParser.COLON);
1644
- this.state = 414;
1660
+ this.state = 420;
1645
1661
  this.name();
1646
- this.state = 417;
1662
+ this.state = 423;
1647
1663
  this._errHandler.sync(this);
1648
1664
  _la = this._input.LA(1);
1649
1665
  } while(_la===25);
@@ -1668,9 +1684,9 @@ export default class CypherParser extends antlr4.Parser {
1668
1684
  this.enterRule(localctx, 64, CypherParser.RULE_createSt);
1669
1685
  try {
1670
1686
  this.enterOuterAlt(localctx, 1);
1671
- this.state = 419;
1687
+ this.state = 425;
1672
1688
  this.match(CypherParser.CREATE);
1673
- this.state = 420;
1689
+ this.state = 426;
1674
1690
  this.pattern();
1675
1691
  } catch (re) {
1676
1692
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1694,13 +1710,13 @@ export default class CypherParser extends antlr4.Parser {
1694
1710
  var _la = 0;
1695
1711
  try {
1696
1712
  this.enterOuterAlt(localctx, 1);
1697
- this.state = 422;
1713
+ this.state = 428;
1698
1714
  this.pattern();
1699
- this.state = 424;
1715
+ this.state = 430;
1700
1716
  this._errHandler.sync(this);
1701
1717
  _la = this._input.LA(1);
1702
1718
  if(_la===56) {
1703
- this.state = 423;
1719
+ this.state = 429;
1704
1720
  this.where();
1705
1721
  }
1706
1722
 
@@ -1725,9 +1741,9 @@ export default class CypherParser extends antlr4.Parser {
1725
1741
  this.enterRule(localctx, 68, CypherParser.RULE_where);
1726
1742
  try {
1727
1743
  this.enterOuterAlt(localctx, 1);
1728
- this.state = 426;
1744
+ this.state = 432;
1729
1745
  this.match(CypherParser.WHERE);
1730
- this.state = 427;
1746
+ this.state = 433;
1731
1747
  this.expression();
1732
1748
  } catch (re) {
1733
1749
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1751,17 +1767,17 @@ export default class CypherParser extends antlr4.Parser {
1751
1767
  var _la = 0;
1752
1768
  try {
1753
1769
  this.enterOuterAlt(localctx, 1);
1754
- this.state = 429;
1770
+ this.state = 435;
1755
1771
  this.patternPart();
1756
- this.state = 434;
1772
+ this.state = 440;
1757
1773
  this._errHandler.sync(this);
1758
1774
  _la = this._input.LA(1);
1759
1775
  while(_la===11) {
1760
- this.state = 430;
1776
+ this.state = 436;
1761
1777
  this.match(CypherParser.COMMA);
1762
- this.state = 431;
1778
+ this.state = 437;
1763
1779
  this.patternPart();
1764
- this.state = 436;
1780
+ this.state = 442;
1765
1781
  this._errHandler.sync(this);
1766
1782
  _la = this._input.LA(1);
1767
1783
  }
@@ -1787,17 +1803,17 @@ export default class CypherParser extends antlr4.Parser {
1787
1803
  var _la = 0;
1788
1804
  try {
1789
1805
  this.enterOuterAlt(localctx, 1);
1790
- this.state = 437;
1806
+ this.state = 443;
1791
1807
  this.xorExpression();
1792
- this.state = 442;
1808
+ this.state = 448;
1793
1809
  this._errHandler.sync(this);
1794
1810
  _la = this._input.LA(1);
1795
1811
  while(_la===68) {
1796
- this.state = 438;
1812
+ this.state = 444;
1797
1813
  this.match(CypherParser.OR);
1798
- this.state = 439;
1814
+ this.state = 445;
1799
1815
  this.xorExpression();
1800
- this.state = 444;
1816
+ this.state = 450;
1801
1817
  this._errHandler.sync(this);
1802
1818
  _la = this._input.LA(1);
1803
1819
  }
@@ -1823,17 +1839,17 @@ export default class CypherParser extends antlr4.Parser {
1823
1839
  var _la = 0;
1824
1840
  try {
1825
1841
  this.enterOuterAlt(localctx, 1);
1826
- this.state = 445;
1842
+ this.state = 451;
1827
1843
  this.andExpression();
1828
- this.state = 450;
1844
+ this.state = 456;
1829
1845
  this._errHandler.sync(this);
1830
1846
  _la = this._input.LA(1);
1831
1847
  while(_la===70) {
1832
- this.state = 446;
1848
+ this.state = 452;
1833
1849
  this.match(CypherParser.XOR);
1834
- this.state = 447;
1850
+ this.state = 453;
1835
1851
  this.andExpression();
1836
- this.state = 452;
1852
+ this.state = 458;
1837
1853
  this._errHandler.sync(this);
1838
1854
  _la = this._input.LA(1);
1839
1855
  }
@@ -1859,17 +1875,17 @@ export default class CypherParser extends antlr4.Parser {
1859
1875
  var _la = 0;
1860
1876
  try {
1861
1877
  this.enterOuterAlt(localctx, 1);
1862
- this.state = 453;
1878
+ this.state = 459;
1863
1879
  this.notExpression();
1864
- this.state = 458;
1880
+ this.state = 464;
1865
1881
  this._errHandler.sync(this);
1866
1882
  _la = this._input.LA(1);
1867
1883
  while(_la===60) {
1868
- this.state = 454;
1884
+ this.state = 460;
1869
1885
  this.match(CypherParser.AND);
1870
- this.state = 455;
1886
+ this.state = 461;
1871
1887
  this.notExpression();
1872
- this.state = 460;
1888
+ this.state = 466;
1873
1889
  this._errHandler.sync(this);
1874
1890
  _la = this._input.LA(1);
1875
1891
  }
@@ -1895,15 +1911,15 @@ export default class CypherParser extends antlr4.Parser {
1895
1911
  var _la = 0;
1896
1912
  try {
1897
1913
  this.enterOuterAlt(localctx, 1);
1898
- this.state = 462;
1914
+ this.state = 468;
1899
1915
  this._errHandler.sync(this);
1900
1916
  _la = this._input.LA(1);
1901
1917
  if(_la===67) {
1902
- this.state = 461;
1918
+ this.state = 467;
1903
1919
  this.match(CypherParser.NOT);
1904
1920
  }
1905
1921
 
1906
- this.state = 464;
1922
+ this.state = 470;
1907
1923
  this.comparisonExpression();
1908
1924
  } catch (re) {
1909
1925
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1927,17 +1943,17 @@ export default class CypherParser extends antlr4.Parser {
1927
1943
  var _la = 0;
1928
1944
  try {
1929
1945
  this.enterOuterAlt(localctx, 1);
1930
- this.state = 466;
1931
- this.addSubExpression();
1932
1946
  this.state = 472;
1947
+ this.addSubExpression();
1948
+ this.state = 478;
1933
1949
  this._errHandler.sync(this);
1934
1950
  _la = this._input.LA(1);
1935
1951
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 250) !== 0)) {
1936
- this.state = 467;
1952
+ this.state = 473;
1937
1953
  this.comparisonSigns();
1938
- this.state = 468;
1939
- this.addSubExpression();
1940
1954
  this.state = 474;
1955
+ this.addSubExpression();
1956
+ this.state = 480;
1941
1957
  this._errHandler.sync(this);
1942
1958
  _la = this._input.LA(1);
1943
1959
  }
@@ -1963,7 +1979,7 @@ export default class CypherParser extends antlr4.Parser {
1963
1979
  var _la = 0;
1964
1980
  try {
1965
1981
  this.enterOuterAlt(localctx, 1);
1966
- this.state = 475;
1982
+ this.state = 481;
1967
1983
  _la = this._input.LA(1);
1968
1984
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 250) !== 0))) {
1969
1985
  this._errHandler.recoverInline(this);
@@ -1994,13 +2010,13 @@ export default class CypherParser extends antlr4.Parser {
1994
2010
  var _la = 0;
1995
2011
  try {
1996
2012
  this.enterOuterAlt(localctx, 1);
1997
- this.state = 477;
2013
+ this.state = 483;
1998
2014
  this.multDivExpression();
1999
- this.state = 482;
2015
+ this.state = 488;
2000
2016
  this._errHandler.sync(this);
2001
2017
  _la = this._input.LA(1);
2002
2018
  while(_la===18 || _la===19) {
2003
- this.state = 478;
2019
+ this.state = 484;
2004
2020
  _la = this._input.LA(1);
2005
2021
  if(!(_la===18 || _la===19)) {
2006
2022
  this._errHandler.recoverInline(this);
@@ -2009,9 +2025,9 @@ export default class CypherParser extends antlr4.Parser {
2009
2025
  this._errHandler.reportMatch(this);
2010
2026
  this.consume();
2011
2027
  }
2012
- this.state = 479;
2028
+ this.state = 485;
2013
2029
  this.multDivExpression();
2014
- this.state = 484;
2030
+ this.state = 490;
2015
2031
  this._errHandler.sync(this);
2016
2032
  _la = this._input.LA(1);
2017
2033
  }
@@ -2037,13 +2053,13 @@ export default class CypherParser extends antlr4.Parser {
2037
2053
  var _la = 0;
2038
2054
  try {
2039
2055
  this.enterOuterAlt(localctx, 1);
2040
- this.state = 485;
2056
+ this.state = 491;
2041
2057
  this.powerExpression();
2042
- this.state = 490;
2058
+ this.state = 496;
2043
2059
  this._errHandler.sync(this);
2044
2060
  _la = this._input.LA(1);
2045
2061
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 11534336) !== 0)) {
2046
- this.state = 486;
2062
+ this.state = 492;
2047
2063
  _la = this._input.LA(1);
2048
2064
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 11534336) !== 0))) {
2049
2065
  this._errHandler.recoverInline(this);
@@ -2052,9 +2068,9 @@ export default class CypherParser extends antlr4.Parser {
2052
2068
  this._errHandler.reportMatch(this);
2053
2069
  this.consume();
2054
2070
  }
2055
- this.state = 487;
2071
+ this.state = 493;
2056
2072
  this.powerExpression();
2057
- this.state = 492;
2073
+ this.state = 498;
2058
2074
  this._errHandler.sync(this);
2059
2075
  _la = this._input.LA(1);
2060
2076
  }
@@ -2080,17 +2096,17 @@ export default class CypherParser extends antlr4.Parser {
2080
2096
  var _la = 0;
2081
2097
  try {
2082
2098
  this.enterOuterAlt(localctx, 1);
2083
- this.state = 493;
2099
+ this.state = 499;
2084
2100
  this.unaryAddSubExpression();
2085
- this.state = 498;
2101
+ this.state = 504;
2086
2102
  this._errHandler.sync(this);
2087
2103
  _la = this._input.LA(1);
2088
2104
  while(_la===22) {
2089
- this.state = 494;
2105
+ this.state = 500;
2090
2106
  this.match(CypherParser.CARET);
2091
- this.state = 495;
2107
+ this.state = 501;
2092
2108
  this.unaryAddSubExpression();
2093
- this.state = 500;
2109
+ this.state = 506;
2094
2110
  this._errHandler.sync(this);
2095
2111
  _la = this._input.LA(1);
2096
2112
  }
@@ -2116,11 +2132,11 @@ export default class CypherParser extends antlr4.Parser {
2116
2132
  var _la = 0;
2117
2133
  try {
2118
2134
  this.enterOuterAlt(localctx, 1);
2119
- this.state = 502;
2135
+ this.state = 508;
2120
2136
  this._errHandler.sync(this);
2121
2137
  _la = this._input.LA(1);
2122
2138
  if(_la===18 || _la===19) {
2123
- this.state = 501;
2139
+ this.state = 507;
2124
2140
  _la = this._input.LA(1);
2125
2141
  if(!(_la===18 || _la===19)) {
2126
2142
  this._errHandler.recoverInline(this);
@@ -2131,7 +2147,7 @@ export default class CypherParser extends antlr4.Parser {
2131
2147
  }
2132
2148
  }
2133
2149
 
2134
- this.state = 504;
2150
+ this.state = 510;
2135
2151
  this.atomicExpression();
2136
2152
  } catch (re) {
2137
2153
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2155,34 +2171,34 @@ export default class CypherParser extends antlr4.Parser {
2155
2171
  var _la = 0;
2156
2172
  try {
2157
2173
  this.enterOuterAlt(localctx, 1);
2158
- this.state = 506;
2159
- this.propertyOrLabelExpression();
2160
2174
  this.state = 512;
2175
+ this.propertyOrLabelExpression();
2176
+ this.state = 518;
2161
2177
  this._errHandler.sync(this);
2162
2178
  _la = this._input.LA(1);
2163
2179
  while(_la===16 || ((((_la - 62)) & ~0x1f) === 0 && ((1 << (_la - 62)) & 157) !== 0)) {
2164
- this.state = 510;
2180
+ this.state = 516;
2165
2181
  this._errHandler.sync(this);
2166
2182
  switch(this._input.LA(1)) {
2167
2183
  case 62:
2168
2184
  case 64:
2169
2185
  case 69:
2170
- this.state = 507;
2186
+ this.state = 513;
2171
2187
  this.stringExpression();
2172
2188
  break;
2173
2189
  case 16:
2174
2190
  case 65:
2175
- this.state = 508;
2191
+ this.state = 514;
2176
2192
  this.listExpression();
2177
2193
  break;
2178
2194
  case 66:
2179
- this.state = 509;
2195
+ this.state = 515;
2180
2196
  this.nullExpression();
2181
2197
  break;
2182
2198
  default:
2183
2199
  throw new antlr4.error.NoViableAltException(this);
2184
2200
  }
2185
- this.state = 514;
2201
+ this.state = 520;
2186
2202
  this._errHandler.sync(this);
2187
2203
  _la = this._input.LA(1);
2188
2204
  }
@@ -2207,52 +2223,52 @@ export default class CypherParser extends antlr4.Parser {
2207
2223
  this.enterRule(localctx, 94, CypherParser.RULE_listExpression);
2208
2224
  var _la = 0;
2209
2225
  try {
2210
- this.state = 529;
2226
+ this.state = 535;
2211
2227
  this._errHandler.sync(this);
2212
2228
  switch(this._input.LA(1)) {
2213
2229
  case 65:
2214
2230
  this.enterOuterAlt(localctx, 1);
2215
- this.state = 515;
2231
+ this.state = 521;
2216
2232
  this.match(CypherParser.IN);
2217
- this.state = 516;
2233
+ this.state = 522;
2218
2234
  this.propertyOrLabelExpression();
2219
2235
  break;
2220
2236
  case 16:
2221
2237
  this.enterOuterAlt(localctx, 2);
2222
- this.state = 517;
2238
+ this.state = 523;
2223
2239
  this.match(CypherParser.LBRACK);
2224
- this.state = 526;
2240
+ this.state = 532;
2225
2241
  this._errHandler.sync(this);
2226
2242
  var la_ = this._interp.adaptivePredict(this._input,54,this._ctx);
2227
2243
  switch(la_) {
2228
2244
  case 1:
2229
- this.state = 519;
2245
+ this.state = 525;
2230
2246
  this._errHandler.sync(this);
2231
2247
  _la = this._input.LA(1);
2232
2248
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
2233
- this.state = 518;
2249
+ this.state = 524;
2234
2250
  this.expression();
2235
2251
  }
2236
2252
 
2237
- this.state = 521;
2253
+ this.state = 527;
2238
2254
  this.match(CypherParser.RANGE);
2239
- this.state = 523;
2255
+ this.state = 529;
2240
2256
  this._errHandler.sync(this);
2241
2257
  _la = this._input.LA(1);
2242
2258
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
2243
- this.state = 522;
2259
+ this.state = 528;
2244
2260
  this.expression();
2245
2261
  }
2246
2262
 
2247
2263
  break;
2248
2264
 
2249
2265
  case 2:
2250
- this.state = 525;
2266
+ this.state = 531;
2251
2267
  this.expression();
2252
2268
  break;
2253
2269
 
2254
2270
  }
2255
- this.state = 528;
2271
+ this.state = 534;
2256
2272
  this.match(CypherParser.RBRACK);
2257
2273
  break;
2258
2274
  default:
@@ -2279,9 +2295,9 @@ export default class CypherParser extends antlr4.Parser {
2279
2295
  this.enterRule(localctx, 96, CypherParser.RULE_stringExpression);
2280
2296
  try {
2281
2297
  this.enterOuterAlt(localctx, 1);
2282
- this.state = 531;
2298
+ this.state = 537;
2283
2299
  this.stringExpPrefix();
2284
- this.state = 532;
2300
+ this.state = 538;
2285
2301
  this.propertyOrLabelExpression();
2286
2302
  } catch (re) {
2287
2303
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2303,26 +2319,26 @@ export default class CypherParser extends antlr4.Parser {
2303
2319
  let localctx = new StringExpPrefixContext(this, this._ctx, this.state);
2304
2320
  this.enterRule(localctx, 98, CypherParser.RULE_stringExpPrefix);
2305
2321
  try {
2306
- this.state = 539;
2322
+ this.state = 545;
2307
2323
  this._errHandler.sync(this);
2308
2324
  switch(this._input.LA(1)) {
2309
2325
  case 69:
2310
2326
  this.enterOuterAlt(localctx, 1);
2311
- this.state = 534;
2327
+ this.state = 540;
2312
2328
  this.match(CypherParser.STARTS);
2313
- this.state = 535;
2329
+ this.state = 541;
2314
2330
  this.match(CypherParser.WITH);
2315
2331
  break;
2316
2332
  case 64:
2317
2333
  this.enterOuterAlt(localctx, 2);
2318
- this.state = 536;
2334
+ this.state = 542;
2319
2335
  this.match(CypherParser.ENDS);
2320
- this.state = 537;
2336
+ this.state = 543;
2321
2337
  this.match(CypherParser.WITH);
2322
2338
  break;
2323
2339
  case 62:
2324
2340
  this.enterOuterAlt(localctx, 3);
2325
- this.state = 538;
2341
+ this.state = 544;
2326
2342
  this.match(CypherParser.CONTAINS);
2327
2343
  break;
2328
2344
  default:
@@ -2350,17 +2366,17 @@ export default class CypherParser extends antlr4.Parser {
2350
2366
  var _la = 0;
2351
2367
  try {
2352
2368
  this.enterOuterAlt(localctx, 1);
2353
- this.state = 541;
2369
+ this.state = 547;
2354
2370
  this.match(CypherParser.IS);
2355
- this.state = 543;
2371
+ this.state = 549;
2356
2372
  this._errHandler.sync(this);
2357
2373
  _la = this._input.LA(1);
2358
2374
  if(_la===67) {
2359
- this.state = 542;
2375
+ this.state = 548;
2360
2376
  this.match(CypherParser.NOT);
2361
2377
  }
2362
2378
 
2363
- this.state = 545;
2379
+ this.state = 551;
2364
2380
  this.match(CypherParser.NULL_W);
2365
2381
  } catch (re) {
2366
2382
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2384,13 +2400,13 @@ export default class CypherParser extends antlr4.Parser {
2384
2400
  var _la = 0;
2385
2401
  try {
2386
2402
  this.enterOuterAlt(localctx, 1);
2387
- this.state = 547;
2403
+ this.state = 553;
2388
2404
  this.propertyExpression();
2389
- this.state = 549;
2405
+ this.state = 555;
2390
2406
  this._errHandler.sync(this);
2391
2407
  _la = this._input.LA(1);
2392
2408
  if(_la===25) {
2393
- this.state = 548;
2409
+ this.state = 554;
2394
2410
  this.nodeLabels();
2395
2411
  }
2396
2412
 
@@ -2416,17 +2432,17 @@ export default class CypherParser extends antlr4.Parser {
2416
2432
  var _la = 0;
2417
2433
  try {
2418
2434
  this.enterOuterAlt(localctx, 1);
2419
- this.state = 551;
2435
+ this.state = 557;
2420
2436
  this.atom();
2421
- this.state = 556;
2437
+ this.state = 562;
2422
2438
  this._errHandler.sync(this);
2423
2439
  _la = this._input.LA(1);
2424
2440
  while(_la===10) {
2425
- this.state = 552;
2441
+ this.state = 558;
2426
2442
  this.match(CypherParser.DOT);
2427
- this.state = 553;
2443
+ this.state = 559;
2428
2444
  this.name();
2429
- this.state = 558;
2445
+ this.state = 564;
2430
2446
  this._errHandler.sync(this);
2431
2447
  _la = this._input.LA(1);
2432
2448
  }
@@ -2452,17 +2468,17 @@ export default class CypherParser extends antlr4.Parser {
2452
2468
  var _la = 0;
2453
2469
  try {
2454
2470
  this.enterOuterAlt(localctx, 1);
2455
- this.state = 562;
2471
+ this.state = 568;
2456
2472
  this._errHandler.sync(this);
2457
2473
  _la = this._input.LA(1);
2458
2474
  if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
2459
- this.state = 559;
2475
+ this.state = 565;
2460
2476
  this.symbol();
2461
- this.state = 560;
2477
+ this.state = 566;
2462
2478
  this.match(CypherParser.ASSIGN);
2463
2479
  }
2464
2480
 
2465
- this.state = 564;
2481
+ this.state = 570;
2466
2482
  this.patternElem();
2467
2483
  } catch (re) {
2468
2484
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2485,21 +2501,34 @@ export default class CypherParser extends antlr4.Parser {
2485
2501
  this.enterRule(localctx, 108, CypherParser.RULE_patternElem);
2486
2502
  var _la = 0;
2487
2503
  try {
2488
- this.state = 577;
2504
+ this.state = 586;
2489
2505
  this._errHandler.sync(this);
2490
- var la_ = this._interp.adaptivePredict(this._input,62,this._ctx);
2506
+ var la_ = this._interp.adaptivePredict(this._input,64,this._ctx);
2491
2507
  switch(la_) {
2492
2508
  case 1:
2493
2509
  this.enterOuterAlt(localctx, 1);
2494
- this.state = 566;
2510
+ this.state = 572;
2495
2511
  this.nodePattern();
2496
- this.state = 570;
2512
+ this.state = 577;
2497
2513
  this._errHandler.sync(this);
2498
2514
  _la = this._input.LA(1);
2499
- while(_la===6 || _la===18) {
2500
- this.state = 567;
2501
- this.patternElemChain();
2502
- this.state = 572;
2515
+ while((((_la) & ~0x1f) === 0 && ((1 << _la) & 266304) !== 0)) {
2516
+ this.state = 575;
2517
+ this._errHandler.sync(this);
2518
+ switch(this._input.LA(1)) {
2519
+ case 6:
2520
+ case 18:
2521
+ this.state = 573;
2522
+ this.patternElemChain();
2523
+ break;
2524
+ case 12:
2525
+ this.state = 574;
2526
+ this.qppElemChain();
2527
+ break;
2528
+ default:
2529
+ throw new antlr4.error.NoViableAltException(this);
2530
+ }
2531
+ this.state = 579;
2503
2532
  this._errHandler.sync(this);
2504
2533
  _la = this._input.LA(1);
2505
2534
  }
@@ -2507,12 +2536,20 @@ export default class CypherParser extends antlr4.Parser {
2507
2536
 
2508
2537
  case 2:
2509
2538
  this.enterOuterAlt(localctx, 2);
2510
- this.state = 573;
2539
+ this.state = 580;
2511
2540
  this.match(CypherParser.LPAREN);
2512
- this.state = 574;
2541
+ this.state = 581;
2513
2542
  this.patternElem();
2514
- this.state = 575;
2543
+ this.state = 582;
2515
2544
  this.match(CypherParser.RPAREN);
2545
+ this.state = 584;
2546
+ this._errHandler.sync(this);
2547
+ _la = this._input.LA(1);
2548
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 8929280) !== 0)) {
2549
+ this.state = 583;
2550
+ this.qppQuantifier();
2551
+ }
2552
+
2516
2553
  break;
2517
2554
 
2518
2555
  }
@@ -2537,9 +2574,40 @@ export default class CypherParser extends antlr4.Parser {
2537
2574
  this.enterRule(localctx, 110, CypherParser.RULE_patternElemChain);
2538
2575
  try {
2539
2576
  this.enterOuterAlt(localctx, 1);
2540
- this.state = 579;
2577
+ this.state = 588;
2541
2578
  this.relationshipPattern();
2542
- this.state = 580;
2579
+ this.state = 589;
2580
+ this.nodePattern();
2581
+ } catch (re) {
2582
+ if(re instanceof antlr4.error.RecognitionException) {
2583
+ localctx.exception = re;
2584
+ this._errHandler.reportError(this, re);
2585
+ this._errHandler.recover(this, re);
2586
+ } else {
2587
+ throw re;
2588
+ }
2589
+ } finally {
2590
+ this.exitRule();
2591
+ }
2592
+ return localctx;
2593
+ }
2594
+
2595
+
2596
+
2597
+ qppElemChain() {
2598
+ let localctx = new QppElemChainContext(this, this._ctx, this.state);
2599
+ this.enterRule(localctx, 112, CypherParser.RULE_qppElemChain);
2600
+ try {
2601
+ this.enterOuterAlt(localctx, 1);
2602
+ this.state = 591;
2603
+ this.match(CypherParser.LPAREN);
2604
+ this.state = 592;
2605
+ this.patternElem();
2606
+ this.state = 593;
2607
+ this.match(CypherParser.RPAREN);
2608
+ this.state = 594;
2609
+ this.qppQuantifier();
2610
+ this.state = 595;
2543
2611
  this.nodePattern();
2544
2612
  } catch (re) {
2545
2613
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2557,21 +2625,147 @@ export default class CypherParser extends antlr4.Parser {
2557
2625
 
2558
2626
 
2559
2627
 
2628
+ qppQuantifier() {
2629
+ let localctx = new QppQuantifierContext(this, this._ctx, this.state);
2630
+ this.enterRule(localctx, 114, CypherParser.RULE_qppQuantifier);
2631
+ try {
2632
+ this.state = 622;
2633
+ this._errHandler.sync(this);
2634
+ var la_ = this._interp.adaptivePredict(this._input,65,this._ctx);
2635
+ switch(la_) {
2636
+ case 1:
2637
+ this.enterOuterAlt(localctx, 1);
2638
+ this.state = 597;
2639
+ this.match(CypherParser.LBRACE);
2640
+ this.state = 598;
2641
+ this.qppInt();
2642
+ this.state = 599;
2643
+ this.match(CypherParser.COMMA);
2644
+ this.state = 600;
2645
+ this.qppInt();
2646
+ this.state = 601;
2647
+ this.match(CypherParser.RBRACE);
2648
+ break;
2649
+
2650
+ case 2:
2651
+ this.enterOuterAlt(localctx, 2);
2652
+ this.state = 603;
2653
+ this.match(CypherParser.LBRACE);
2654
+ this.state = 604;
2655
+ this.qppInt();
2656
+ this.state = 605;
2657
+ this.match(CypherParser.RBRACE);
2658
+ break;
2659
+
2660
+ case 3:
2661
+ this.enterOuterAlt(localctx, 3);
2662
+ this.state = 607;
2663
+ this.match(CypherParser.LBRACE);
2664
+ this.state = 608;
2665
+ this.qppInt();
2666
+ this.state = 609;
2667
+ this.match(CypherParser.COMMA);
2668
+ this.state = 610;
2669
+ this.match(CypherParser.RBRACE);
2670
+ break;
2671
+
2672
+ case 4:
2673
+ this.enterOuterAlt(localctx, 4);
2674
+ this.state = 612;
2675
+ this.match(CypherParser.LBRACE);
2676
+ this.state = 613;
2677
+ this.match(CypherParser.COMMA);
2678
+ this.state = 614;
2679
+ this.qppInt();
2680
+ this.state = 615;
2681
+ this.match(CypherParser.RBRACE);
2682
+ break;
2683
+
2684
+ case 5:
2685
+ this.enterOuterAlt(localctx, 5);
2686
+ this.state = 617;
2687
+ this.match(CypherParser.LBRACE);
2688
+ this.state = 618;
2689
+ this.match(CypherParser.COMMA);
2690
+ this.state = 619;
2691
+ this.match(CypherParser.RBRACE);
2692
+ break;
2693
+
2694
+ case 6:
2695
+ this.enterOuterAlt(localctx, 6);
2696
+ this.state = 620;
2697
+ this.match(CypherParser.PLUS);
2698
+ break;
2699
+
2700
+ case 7:
2701
+ this.enterOuterAlt(localctx, 7);
2702
+ this.state = 621;
2703
+ this.match(CypherParser.MULT);
2704
+ break;
2705
+
2706
+ }
2707
+ } catch (re) {
2708
+ if(re instanceof antlr4.error.RecognitionException) {
2709
+ localctx.exception = re;
2710
+ this._errHandler.reportError(this, re);
2711
+ this._errHandler.recover(this, re);
2712
+ } else {
2713
+ throw re;
2714
+ }
2715
+ } finally {
2716
+ this.exitRule();
2717
+ }
2718
+ return localctx;
2719
+ }
2720
+
2721
+
2722
+
2723
+ qppInt() {
2724
+ let localctx = new QppIntContext(this, this._ctx, this.state);
2725
+ this.enterRule(localctx, 116, CypherParser.RULE_qppInt);
2726
+ var _la = 0;
2727
+ try {
2728
+ this.enterOuterAlt(localctx, 1);
2729
+ this.state = 624;
2730
+ _la = this._input.LA(1);
2731
+ if(!(_la===89 || _la===93)) {
2732
+ this._errHandler.recoverInline(this);
2733
+ }
2734
+ else {
2735
+ this._errHandler.reportMatch(this);
2736
+ this.consume();
2737
+ }
2738
+ } catch (re) {
2739
+ if(re instanceof antlr4.error.RecognitionException) {
2740
+ localctx.exception = re;
2741
+ this._errHandler.reportError(this, re);
2742
+ this._errHandler.recover(this, re);
2743
+ } else {
2744
+ throw re;
2745
+ }
2746
+ } finally {
2747
+ this.exitRule();
2748
+ }
2749
+ return localctx;
2750
+ }
2751
+
2752
+
2753
+
2560
2754
  properties() {
2561
2755
  let localctx = new PropertiesContext(this, this._ctx, this.state);
2562
- this.enterRule(localctx, 112, CypherParser.RULE_properties);
2756
+ this.enterRule(localctx, 118, CypherParser.RULE_properties);
2563
2757
  try {
2564
- this.state = 584;
2758
+ this.state = 628;
2565
2759
  this._errHandler.sync(this);
2566
2760
  switch(this._input.LA(1)) {
2567
2761
  case 14:
2568
2762
  this.enterOuterAlt(localctx, 1);
2569
- this.state = 582;
2763
+ this.state = 626;
2570
2764
  this.mapLit();
2571
2765
  break;
2572
2766
  case 27:
2573
2767
  this.enterOuterAlt(localctx, 2);
2574
- this.state = 583;
2768
+ this.state = 627;
2575
2769
  this.parameter();
2576
2770
  break;
2577
2771
  default:
@@ -2595,37 +2789,37 @@ export default class CypherParser extends antlr4.Parser {
2595
2789
 
2596
2790
  nodePattern() {
2597
2791
  let localctx = new NodePatternContext(this, this._ctx, this.state);
2598
- this.enterRule(localctx, 114, CypherParser.RULE_nodePattern);
2792
+ this.enterRule(localctx, 120, CypherParser.RULE_nodePattern);
2599
2793
  var _la = 0;
2600
2794
  try {
2601
2795
  this.enterOuterAlt(localctx, 1);
2602
- this.state = 586;
2796
+ this.state = 630;
2603
2797
  this.match(CypherParser.LPAREN);
2604
- this.state = 588;
2798
+ this.state = 632;
2605
2799
  this._errHandler.sync(this);
2606
2800
  _la = this._input.LA(1);
2607
2801
  if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
2608
- this.state = 587;
2802
+ this.state = 631;
2609
2803
  this.symbol();
2610
2804
  }
2611
2805
 
2612
- this.state = 591;
2806
+ this.state = 635;
2613
2807
  this._errHandler.sync(this);
2614
2808
  _la = this._input.LA(1);
2615
2809
  if(_la===25) {
2616
- this.state = 590;
2810
+ this.state = 634;
2617
2811
  this.nodeLabels();
2618
2812
  }
2619
2813
 
2620
- this.state = 594;
2814
+ this.state = 638;
2621
2815
  this._errHandler.sync(this);
2622
2816
  _la = this._input.LA(1);
2623
2817
  if(_la===14 || _la===27) {
2624
- this.state = 593;
2818
+ this.state = 637;
2625
2819
  this.properties();
2626
2820
  }
2627
2821
 
2628
- this.state = 596;
2822
+ this.state = 640;
2629
2823
  this.match(CypherParser.RPAREN);
2630
2824
  } catch (re) {
2631
2825
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2645,81 +2839,81 @@ export default class CypherParser extends antlr4.Parser {
2645
2839
 
2646
2840
  atom() {
2647
2841
  let localctx = new AtomContext(this, this._ctx, this.state);
2648
- this.enterRule(localctx, 116, CypherParser.RULE_atom);
2842
+ this.enterRule(localctx, 122, CypherParser.RULE_atom);
2649
2843
  try {
2650
- this.state = 610;
2844
+ this.state = 654;
2651
2845
  this._errHandler.sync(this);
2652
- var la_ = this._interp.adaptivePredict(this._input,67,this._ctx);
2846
+ var la_ = this._interp.adaptivePredict(this._input,70,this._ctx);
2653
2847
  switch(la_) {
2654
2848
  case 1:
2655
2849
  this.enterOuterAlt(localctx, 1);
2656
- this.state = 598;
2850
+ this.state = 642;
2657
2851
  this.literal();
2658
2852
  break;
2659
2853
 
2660
2854
  case 2:
2661
2855
  this.enterOuterAlt(localctx, 2);
2662
- this.state = 599;
2856
+ this.state = 643;
2663
2857
  this.parameter();
2664
2858
  break;
2665
2859
 
2666
2860
  case 3:
2667
2861
  this.enterOuterAlt(localctx, 3);
2668
- this.state = 600;
2862
+ this.state = 644;
2669
2863
  this.caseExpression();
2670
2864
  break;
2671
2865
 
2672
2866
  case 4:
2673
2867
  this.enterOuterAlt(localctx, 4);
2674
- this.state = 601;
2868
+ this.state = 645;
2675
2869
  this.countAll();
2676
2870
  break;
2677
2871
 
2678
2872
  case 5:
2679
2873
  this.enterOuterAlt(localctx, 5);
2680
- this.state = 602;
2874
+ this.state = 646;
2681
2875
  this.listComprehension();
2682
2876
  break;
2683
2877
 
2684
2878
  case 6:
2685
2879
  this.enterOuterAlt(localctx, 6);
2686
- this.state = 603;
2880
+ this.state = 647;
2687
2881
  this.patternComprehension();
2688
2882
  break;
2689
2883
 
2690
2884
  case 7:
2691
2885
  this.enterOuterAlt(localctx, 7);
2692
- this.state = 604;
2886
+ this.state = 648;
2693
2887
  this.filterWith();
2694
2888
  break;
2695
2889
 
2696
2890
  case 8:
2697
2891
  this.enterOuterAlt(localctx, 8);
2698
- this.state = 605;
2892
+ this.state = 649;
2699
2893
  this.relationshipsChainPattern();
2700
2894
  break;
2701
2895
 
2702
2896
  case 9:
2703
2897
  this.enterOuterAlt(localctx, 9);
2704
- this.state = 606;
2898
+ this.state = 650;
2705
2899
  this.parenthesizedExpression();
2706
2900
  break;
2707
2901
 
2708
2902
  case 10:
2709
2903
  this.enterOuterAlt(localctx, 10);
2710
- this.state = 607;
2904
+ this.state = 651;
2711
2905
  this.functionInvocation();
2712
2906
  break;
2713
2907
 
2714
2908
  case 11:
2715
2909
  this.enterOuterAlt(localctx, 11);
2716
- this.state = 608;
2910
+ this.state = 652;
2717
2911
  this.symbol();
2718
2912
  break;
2719
2913
 
2720
2914
  case 12:
2721
2915
  this.enterOuterAlt(localctx, 12);
2722
- this.state = 609;
2916
+ this.state = 653;
2723
2917
  this.subqueryExist();
2724
2918
  break;
2725
2919
 
@@ -2742,12 +2936,12 @@ export default class CypherParser extends antlr4.Parser {
2742
2936
 
2743
2937
  lhs() {
2744
2938
  let localctx = new LhsContext(this, this._ctx, this.state);
2745
- this.enterRule(localctx, 118, CypherParser.RULE_lhs);
2939
+ this.enterRule(localctx, 124, CypherParser.RULE_lhs);
2746
2940
  try {
2747
2941
  this.enterOuterAlt(localctx, 1);
2748
- this.state = 612;
2942
+ this.state = 656;
2749
2943
  this.symbol();
2750
- this.state = 613;
2944
+ this.state = 657;
2751
2945
  this.match(CypherParser.ASSIGN);
2752
2946
  } catch (re) {
2753
2947
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2767,56 +2961,56 @@ export default class CypherParser extends antlr4.Parser {
2767
2961
 
2768
2962
  relationshipPattern() {
2769
2963
  let localctx = new RelationshipPatternContext(this, this._ctx, this.state);
2770
- this.enterRule(localctx, 120, CypherParser.RULE_relationshipPattern);
2964
+ this.enterRule(localctx, 126, CypherParser.RULE_relationshipPattern);
2771
2965
  var _la = 0;
2772
2966
  try {
2773
- this.state = 632;
2967
+ this.state = 676;
2774
2968
  this._errHandler.sync(this);
2775
2969
  switch(this._input.LA(1)) {
2776
2970
  case 6:
2777
2971
  this.enterOuterAlt(localctx, 1);
2778
- this.state = 615;
2972
+ this.state = 659;
2779
2973
  this.match(CypherParser.LT);
2780
- this.state = 616;
2974
+ this.state = 660;
2781
2975
  this.match(CypherParser.SUB);
2782
- this.state = 618;
2976
+ this.state = 662;
2783
2977
  this._errHandler.sync(this);
2784
2978
  _la = this._input.LA(1);
2785
2979
  if(_la===16) {
2786
- this.state = 617;
2980
+ this.state = 661;
2787
2981
  this.relationDetail();
2788
2982
  }
2789
2983
 
2790
- this.state = 620;
2984
+ this.state = 664;
2791
2985
  this.match(CypherParser.SUB);
2792
- this.state = 622;
2986
+ this.state = 666;
2793
2987
  this._errHandler.sync(this);
2794
2988
  _la = this._input.LA(1);
2795
2989
  if(_la===5) {
2796
- this.state = 621;
2990
+ this.state = 665;
2797
2991
  this.match(CypherParser.GT);
2798
2992
  }
2799
2993
 
2800
2994
  break;
2801
2995
  case 18:
2802
2996
  this.enterOuterAlt(localctx, 2);
2803
- this.state = 624;
2997
+ this.state = 668;
2804
2998
  this.match(CypherParser.SUB);
2805
- this.state = 626;
2999
+ this.state = 670;
2806
3000
  this._errHandler.sync(this);
2807
3001
  _la = this._input.LA(1);
2808
3002
  if(_la===16) {
2809
- this.state = 625;
3003
+ this.state = 669;
2810
3004
  this.relationDetail();
2811
3005
  }
2812
3006
 
2813
- this.state = 628;
3007
+ this.state = 672;
2814
3008
  this.match(CypherParser.SUB);
2815
- this.state = 630;
3009
+ this.state = 674;
2816
3010
  this._errHandler.sync(this);
2817
3011
  _la = this._input.LA(1);
2818
3012
  if(_la===5) {
2819
- this.state = 629;
3013
+ this.state = 673;
2820
3014
  this.match(CypherParser.GT);
2821
3015
  }
2822
3016
 
@@ -2842,45 +3036,45 @@ export default class CypherParser extends antlr4.Parser {
2842
3036
 
2843
3037
  relationDetail() {
2844
3038
  let localctx = new RelationDetailContext(this, this._ctx, this.state);
2845
- this.enterRule(localctx, 122, CypherParser.RULE_relationDetail);
3039
+ this.enterRule(localctx, 128, CypherParser.RULE_relationDetail);
2846
3040
  var _la = 0;
2847
3041
  try {
2848
3042
  this.enterOuterAlt(localctx, 1);
2849
- this.state = 634;
3043
+ this.state = 678;
2850
3044
  this.match(CypherParser.LBRACK);
2851
- this.state = 636;
3045
+ this.state = 680;
2852
3046
  this._errHandler.sync(this);
2853
3047
  _la = this._input.LA(1);
2854
3048
  if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
2855
- this.state = 635;
3049
+ this.state = 679;
2856
3050
  this.symbol();
2857
3051
  }
2858
3052
 
2859
- this.state = 639;
3053
+ this.state = 683;
2860
3054
  this._errHandler.sync(this);
2861
3055
  _la = this._input.LA(1);
2862
3056
  if(_la===25) {
2863
- this.state = 638;
3057
+ this.state = 682;
2864
3058
  this.relationshipTypes();
2865
3059
  }
2866
3060
 
2867
- this.state = 642;
3061
+ this.state = 686;
2868
3062
  this._errHandler.sync(this);
2869
3063
  _la = this._input.LA(1);
2870
3064
  if(_la===23) {
2871
- this.state = 641;
3065
+ this.state = 685;
2872
3066
  this.rangeLit();
2873
3067
  }
2874
3068
 
2875
- this.state = 645;
3069
+ this.state = 689;
2876
3070
  this._errHandler.sync(this);
2877
3071
  _la = this._input.LA(1);
2878
3072
  if(_la===14 || _la===27) {
2879
- this.state = 644;
3073
+ this.state = 688;
2880
3074
  this.properties();
2881
3075
  }
2882
3076
 
2883
- this.state = 647;
3077
+ this.state = 691;
2884
3078
  this.match(CypherParser.RBRACK);
2885
3079
  } catch (re) {
2886
3080
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2900,31 +3094,31 @@ export default class CypherParser extends antlr4.Parser {
2900
3094
 
2901
3095
  relationshipTypes() {
2902
3096
  let localctx = new RelationshipTypesContext(this, this._ctx, this.state);
2903
- this.enterRule(localctx, 124, CypherParser.RULE_relationshipTypes);
3097
+ this.enterRule(localctx, 130, CypherParser.RULE_relationshipTypes);
2904
3098
  var _la = 0;
2905
3099
  try {
2906
3100
  this.enterOuterAlt(localctx, 1);
2907
- this.state = 649;
3101
+ this.state = 693;
2908
3102
  this.match(CypherParser.COLON);
2909
- this.state = 650;
3103
+ this.state = 694;
2910
3104
  this.name();
2911
- this.state = 658;
3105
+ this.state = 702;
2912
3106
  this._errHandler.sync(this);
2913
3107
  _la = this._input.LA(1);
2914
3108
  while(_la===26) {
2915
- this.state = 651;
3109
+ this.state = 695;
2916
3110
  this.match(CypherParser.STICK);
2917
- this.state = 653;
3111
+ this.state = 697;
2918
3112
  this._errHandler.sync(this);
2919
3113
  _la = this._input.LA(1);
2920
3114
  if(_la===25) {
2921
- this.state = 652;
3115
+ this.state = 696;
2922
3116
  this.match(CypherParser.COLON);
2923
3117
  }
2924
3118
 
2925
- this.state = 655;
3119
+ this.state = 699;
2926
3120
  this.name();
2927
- this.state = 660;
3121
+ this.state = 704;
2928
3122
  this._errHandler.sync(this);
2929
3123
  _la = this._input.LA(1);
2930
3124
  }
@@ -2946,21 +3140,21 @@ export default class CypherParser extends antlr4.Parser {
2946
3140
 
2947
3141
  unionSt() {
2948
3142
  let localctx = new UnionStContext(this, this._ctx, this.state);
2949
- this.enterRule(localctx, 126, CypherParser.RULE_unionSt);
3143
+ this.enterRule(localctx, 132, CypherParser.RULE_unionSt);
2950
3144
  var _la = 0;
2951
3145
  try {
2952
3146
  this.enterOuterAlt(localctx, 1);
2953
- this.state = 661;
3147
+ this.state = 705;
2954
3148
  this.match(CypherParser.UNION);
2955
- this.state = 663;
3149
+ this.state = 707;
2956
3150
  this._errHandler.sync(this);
2957
3151
  _la = this._input.LA(1);
2958
3152
  if(_la===36) {
2959
- this.state = 662;
3153
+ this.state = 706;
2960
3154
  this.match(CypherParser.ALL);
2961
3155
  }
2962
3156
 
2963
- this.state = 665;
3157
+ this.state = 709;
2964
3158
  this.singleQuery();
2965
3159
  } catch (re) {
2966
3160
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2980,14 +3174,14 @@ export default class CypherParser extends antlr4.Parser {
2980
3174
 
2981
3175
  subqueryExist() {
2982
3176
  let localctx = new SubqueryExistContext(this, this._ctx, this.state);
2983
- this.enterRule(localctx, 128, CypherParser.RULE_subqueryExist);
3177
+ this.enterRule(localctx, 134, CypherParser.RULE_subqueryExist);
2984
3178
  try {
2985
3179
  this.enterOuterAlt(localctx, 1);
2986
- this.state = 667;
3180
+ this.state = 711;
2987
3181
  this.match(CypherParser.EXISTS);
2988
- this.state = 668;
3182
+ this.state = 712;
2989
3183
  this.match(CypherParser.LBRACE);
2990
- this.state = 671;
3184
+ this.state = 715;
2991
3185
  this._errHandler.sync(this);
2992
3186
  switch(this._input.LA(1)) {
2993
3187
  case 28:
@@ -3002,7 +3196,7 @@ export default class CypherParser extends antlr4.Parser {
3002
3196
  case 54:
3003
3197
  case 57:
3004
3198
  case 59:
3005
- this.state = 669;
3199
+ this.state = 713;
3006
3200
  this.regularQuery();
3007
3201
  break;
3008
3202
  case 12:
@@ -3014,13 +3208,13 @@ export default class CypherParser extends antlr4.Parser {
3014
3208
  case 35:
3015
3209
  case 89:
3016
3210
  case 90:
3017
- this.state = 670;
3211
+ this.state = 714;
3018
3212
  this.patternWhere();
3019
3213
  break;
3020
3214
  default:
3021
3215
  throw new antlr4.error.NoViableAltException(this);
3022
3216
  }
3023
- this.state = 673;
3217
+ this.state = 717;
3024
3218
  this.match(CypherParser.RBRACE);
3025
3219
  } catch (re) {
3026
3220
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3040,21 +3234,21 @@ export default class CypherParser extends antlr4.Parser {
3040
3234
 
3041
3235
  invocationName() {
3042
3236
  let localctx = new InvocationNameContext(this, this._ctx, this.state);
3043
- this.enterRule(localctx, 130, CypherParser.RULE_invocationName);
3237
+ this.enterRule(localctx, 136, CypherParser.RULE_invocationName);
3044
3238
  var _la = 0;
3045
3239
  try {
3046
3240
  this.enterOuterAlt(localctx, 1);
3047
- this.state = 675;
3241
+ this.state = 719;
3048
3242
  this.symbol();
3049
- this.state = 680;
3243
+ this.state = 724;
3050
3244
  this._errHandler.sync(this);
3051
3245
  _la = this._input.LA(1);
3052
3246
  while(_la===10) {
3053
- this.state = 676;
3247
+ this.state = 720;
3054
3248
  this.match(CypherParser.DOT);
3055
- this.state = 677;
3249
+ this.state = 721;
3056
3250
  this.symbol();
3057
- this.state = 682;
3251
+ this.state = 726;
3058
3252
  this._errHandler.sync(this);
3059
3253
  _la = this._input.LA(1);
3060
3254
  }
@@ -3076,31 +3270,31 @@ export default class CypherParser extends antlr4.Parser {
3076
3270
 
3077
3271
  functionInvocation() {
3078
3272
  let localctx = new FunctionInvocationContext(this, this._ctx, this.state);
3079
- this.enterRule(localctx, 132, CypherParser.RULE_functionInvocation);
3273
+ this.enterRule(localctx, 138, CypherParser.RULE_functionInvocation);
3080
3274
  var _la = 0;
3081
3275
  try {
3082
3276
  this.enterOuterAlt(localctx, 1);
3083
- this.state = 683;
3277
+ this.state = 727;
3084
3278
  this.invocationName();
3085
- this.state = 684;
3279
+ this.state = 728;
3086
3280
  this.match(CypherParser.LPAREN);
3087
- this.state = 686;
3281
+ this.state = 730;
3088
3282
  this._errHandler.sync(this);
3089
3283
  _la = this._input.LA(1);
3090
3284
  if(_la===63) {
3091
- this.state = 685;
3285
+ this.state = 729;
3092
3286
  this.match(CypherParser.DISTINCT);
3093
3287
  }
3094
3288
 
3095
- this.state = 689;
3289
+ this.state = 733;
3096
3290
  this._errHandler.sync(this);
3097
3291
  _la = this._input.LA(1);
3098
3292
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
3099
- this.state = 688;
3293
+ this.state = 732;
3100
3294
  this.expressionChain();
3101
3295
  }
3102
3296
 
3103
- this.state = 691;
3297
+ this.state = 735;
3104
3298
  this.match(CypherParser.RPAREN);
3105
3299
  } catch (re) {
3106
3300
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3120,14 +3314,14 @@ export default class CypherParser extends antlr4.Parser {
3120
3314
 
3121
3315
  parenthesizedExpression() {
3122
3316
  let localctx = new ParenthesizedExpressionContext(this, this._ctx, this.state);
3123
- this.enterRule(localctx, 134, CypherParser.RULE_parenthesizedExpression);
3317
+ this.enterRule(localctx, 140, CypherParser.RULE_parenthesizedExpression);
3124
3318
  try {
3125
3319
  this.enterOuterAlt(localctx, 1);
3126
- this.state = 693;
3320
+ this.state = 737;
3127
3321
  this.match(CypherParser.LPAREN);
3128
- this.state = 694;
3322
+ this.state = 738;
3129
3323
  this.expression();
3130
- this.state = 695;
3324
+ this.state = 739;
3131
3325
  this.match(CypherParser.RPAREN);
3132
3326
  } catch (re) {
3133
3327
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3147,11 +3341,11 @@ export default class CypherParser extends antlr4.Parser {
3147
3341
 
3148
3342
  filterWith() {
3149
3343
  let localctx = new FilterWithContext(this, this._ctx, this.state);
3150
- this.enterRule(localctx, 136, CypherParser.RULE_filterWith);
3344
+ this.enterRule(localctx, 142, CypherParser.RULE_filterWith);
3151
3345
  var _la = 0;
3152
3346
  try {
3153
3347
  this.enterOuterAlt(localctx, 1);
3154
- this.state = 697;
3348
+ this.state = 741;
3155
3349
  _la = this._input.LA(1);
3156
3350
  if(!(((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 15) !== 0))) {
3157
3351
  this._errHandler.recoverInline(this);
@@ -3160,11 +3354,11 @@ export default class CypherParser extends antlr4.Parser {
3160
3354
  this._errHandler.reportMatch(this);
3161
3355
  this.consume();
3162
3356
  }
3163
- this.state = 698;
3357
+ this.state = 742;
3164
3358
  this.match(CypherParser.LPAREN);
3165
- this.state = 699;
3359
+ this.state = 743;
3166
3360
  this.filterExpression();
3167
- this.state = 700;
3361
+ this.state = 744;
3168
3362
  this.match(CypherParser.RPAREN);
3169
3363
  } catch (re) {
3170
3364
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3184,35 +3378,35 @@ export default class CypherParser extends antlr4.Parser {
3184
3378
 
3185
3379
  patternComprehension() {
3186
3380
  let localctx = new PatternComprehensionContext(this, this._ctx, this.state);
3187
- this.enterRule(localctx, 138, CypherParser.RULE_patternComprehension);
3381
+ this.enterRule(localctx, 144, CypherParser.RULE_patternComprehension);
3188
3382
  var _la = 0;
3189
3383
  try {
3190
3384
  this.enterOuterAlt(localctx, 1);
3191
- this.state = 702;
3385
+ this.state = 746;
3192
3386
  this.match(CypherParser.LBRACK);
3193
- this.state = 704;
3387
+ this.state = 748;
3194
3388
  this._errHandler.sync(this);
3195
3389
  _la = this._input.LA(1);
3196
3390
  if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
3197
- this.state = 703;
3391
+ this.state = 747;
3198
3392
  this.lhs();
3199
3393
  }
3200
3394
 
3201
- this.state = 706;
3395
+ this.state = 750;
3202
3396
  this.relationshipsChainPattern();
3203
- this.state = 708;
3397
+ this.state = 752;
3204
3398
  this._errHandler.sync(this);
3205
3399
  _la = this._input.LA(1);
3206
3400
  if(_la===56) {
3207
- this.state = 707;
3401
+ this.state = 751;
3208
3402
  this.where();
3209
3403
  }
3210
3404
 
3211
- this.state = 710;
3405
+ this.state = 754;
3212
3406
  this.match(CypherParser.STICK);
3213
- this.state = 711;
3407
+ this.state = 755;
3214
3408
  this.expression();
3215
- this.state = 712;
3409
+ this.state = 756;
3216
3410
  this.match(CypherParser.RBRACK);
3217
3411
  } catch (re) {
3218
3412
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3232,26 +3426,26 @@ export default class CypherParser extends antlr4.Parser {
3232
3426
 
3233
3427
  relationshipsChainPattern() {
3234
3428
  let localctx = new RelationshipsChainPatternContext(this, this._ctx, this.state);
3235
- this.enterRule(localctx, 140, CypherParser.RULE_relationshipsChainPattern);
3429
+ this.enterRule(localctx, 146, CypherParser.RULE_relationshipsChainPattern);
3236
3430
  try {
3237
3431
  this.enterOuterAlt(localctx, 1);
3238
- this.state = 714;
3432
+ this.state = 758;
3239
3433
  this.nodePattern();
3240
- this.state = 716;
3434
+ this.state = 760;
3241
3435
  this._errHandler.sync(this);
3242
3436
  var _alt = 1;
3243
3437
  do {
3244
3438
  switch (_alt) {
3245
3439
  case 1:
3246
- this.state = 715;
3440
+ this.state = 759;
3247
3441
  this.patternElemChain();
3248
3442
  break;
3249
3443
  default:
3250
3444
  throw new antlr4.error.NoViableAltException(this);
3251
3445
  }
3252
- this.state = 718;
3446
+ this.state = 762;
3253
3447
  this._errHandler.sync(this);
3254
- _alt = this._interp.adaptivePredict(this._input,86, this._ctx);
3448
+ _alt = this._interp.adaptivePredict(this._input,89, this._ctx);
3255
3449
  } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER );
3256
3450
  } catch (re) {
3257
3451
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3271,25 +3465,25 @@ export default class CypherParser extends antlr4.Parser {
3271
3465
 
3272
3466
  listComprehension() {
3273
3467
  let localctx = new ListComprehensionContext(this, this._ctx, this.state);
3274
- this.enterRule(localctx, 142, CypherParser.RULE_listComprehension);
3468
+ this.enterRule(localctx, 148, CypherParser.RULE_listComprehension);
3275
3469
  var _la = 0;
3276
3470
  try {
3277
3471
  this.enterOuterAlt(localctx, 1);
3278
- this.state = 720;
3472
+ this.state = 764;
3279
3473
  this.match(CypherParser.LBRACK);
3280
- this.state = 721;
3474
+ this.state = 765;
3281
3475
  this.filterExpression();
3282
- this.state = 724;
3476
+ this.state = 768;
3283
3477
  this._errHandler.sync(this);
3284
3478
  _la = this._input.LA(1);
3285
3479
  if(_la===26) {
3286
- this.state = 722;
3480
+ this.state = 766;
3287
3481
  this.match(CypherParser.STICK);
3288
- this.state = 723;
3482
+ this.state = 767;
3289
3483
  this.expression();
3290
3484
  }
3291
3485
 
3292
- this.state = 726;
3486
+ this.state = 770;
3293
3487
  this.match(CypherParser.RBRACK);
3294
3488
  } catch (re) {
3295
3489
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3309,21 +3503,21 @@ export default class CypherParser extends antlr4.Parser {
3309
3503
 
3310
3504
  filterExpression() {
3311
3505
  let localctx = new FilterExpressionContext(this, this._ctx, this.state);
3312
- this.enterRule(localctx, 144, CypherParser.RULE_filterExpression);
3506
+ this.enterRule(localctx, 150, CypherParser.RULE_filterExpression);
3313
3507
  var _la = 0;
3314
3508
  try {
3315
3509
  this.enterOuterAlt(localctx, 1);
3316
- this.state = 728;
3510
+ this.state = 772;
3317
3511
  this.symbol();
3318
- this.state = 729;
3512
+ this.state = 773;
3319
3513
  this.match(CypherParser.IN);
3320
- this.state = 730;
3514
+ this.state = 774;
3321
3515
  this.expression();
3322
- this.state = 732;
3516
+ this.state = 776;
3323
3517
  this._errHandler.sync(this);
3324
3518
  _la = this._input.LA(1);
3325
3519
  if(_la===56) {
3326
- this.state = 731;
3520
+ this.state = 775;
3327
3521
  this.where();
3328
3522
  }
3329
3523
 
@@ -3345,16 +3539,16 @@ export default class CypherParser extends antlr4.Parser {
3345
3539
 
3346
3540
  countAll() {
3347
3541
  let localctx = new CountAllContext(this, this._ctx, this.state);
3348
- this.enterRule(localctx, 146, CypherParser.RULE_countAll);
3542
+ this.enterRule(localctx, 152, CypherParser.RULE_countAll);
3349
3543
  try {
3350
3544
  this.enterOuterAlt(localctx, 1);
3351
- this.state = 734;
3545
+ this.state = 778;
3352
3546
  this.match(CypherParser.COUNT);
3353
- this.state = 735;
3547
+ this.state = 779;
3354
3548
  this.match(CypherParser.LPAREN);
3355
- this.state = 736;
3549
+ this.state = 780;
3356
3550
  this.match(CypherParser.MULT);
3357
- this.state = 737;
3551
+ this.state = 781;
3358
3552
  this.match(CypherParser.RPAREN);
3359
3553
  } catch (re) {
3360
3554
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3374,21 +3568,21 @@ export default class CypherParser extends antlr4.Parser {
3374
3568
 
3375
3569
  expressionChain() {
3376
3570
  let localctx = new ExpressionChainContext(this, this._ctx, this.state);
3377
- this.enterRule(localctx, 148, CypherParser.RULE_expressionChain);
3571
+ this.enterRule(localctx, 154, CypherParser.RULE_expressionChain);
3378
3572
  var _la = 0;
3379
3573
  try {
3380
3574
  this.enterOuterAlt(localctx, 1);
3381
- this.state = 739;
3575
+ this.state = 783;
3382
3576
  this.expression();
3383
- this.state = 744;
3577
+ this.state = 788;
3384
3578
  this._errHandler.sync(this);
3385
3579
  _la = this._input.LA(1);
3386
3580
  while(_la===11) {
3387
- this.state = 740;
3581
+ this.state = 784;
3388
3582
  this.match(CypherParser.COMMA);
3389
- this.state = 741;
3583
+ this.state = 785;
3390
3584
  this.expression();
3391
- this.state = 746;
3585
+ this.state = 790;
3392
3586
  this._errHandler.sync(this);
3393
3587
  _la = this._input.LA(1);
3394
3588
  }
@@ -3410,47 +3604,47 @@ export default class CypherParser extends antlr4.Parser {
3410
3604
 
3411
3605
  caseExpression() {
3412
3606
  let localctx = new CaseExpressionContext(this, this._ctx, this.state);
3413
- this.enterRule(localctx, 150, CypherParser.RULE_caseExpression);
3607
+ this.enterRule(localctx, 156, CypherParser.RULE_caseExpression);
3414
3608
  var _la = 0;
3415
3609
  try {
3416
3610
  this.enterOuterAlt(localctx, 1);
3417
- this.state = 747;
3611
+ this.state = 791;
3418
3612
  this.match(CypherParser.CASE);
3419
- this.state = 749;
3613
+ this.state = 793;
3420
3614
  this._errHandler.sync(this);
3421
3615
  _la = this._input.LA(1);
3422
3616
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
3423
- this.state = 748;
3617
+ this.state = 792;
3424
3618
  this.expression();
3425
3619
  }
3426
3620
 
3427
- this.state = 756;
3621
+ this.state = 800;
3428
3622
  this._errHandler.sync(this);
3429
3623
  _la = this._input.LA(1);
3430
3624
  do {
3431
- this.state = 751;
3625
+ this.state = 795;
3432
3626
  this.match(CypherParser.WHEN);
3433
- this.state = 752;
3627
+ this.state = 796;
3434
3628
  this.expression();
3435
- this.state = 753;
3629
+ this.state = 797;
3436
3630
  this.match(CypherParser.THEN);
3437
- this.state = 754;
3631
+ this.state = 798;
3438
3632
  this.expression();
3439
- this.state = 758;
3633
+ this.state = 802;
3440
3634
  this._errHandler.sync(this);
3441
3635
  _la = this._input.LA(1);
3442
3636
  } while(_la===80);
3443
- this.state = 762;
3637
+ this.state = 806;
3444
3638
  this._errHandler.sync(this);
3445
3639
  _la = this._input.LA(1);
3446
3640
  if(_la===82) {
3447
- this.state = 760;
3641
+ this.state = 804;
3448
3642
  this.match(CypherParser.ELSE);
3449
- this.state = 761;
3643
+ this.state = 805;
3450
3644
  this.expression();
3451
3645
  }
3452
3646
 
3453
- this.state = 764;
3647
+ this.state = 808;
3454
3648
  this.match(CypherParser.END);
3455
3649
  } catch (re) {
3456
3650
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3470,12 +3664,12 @@ export default class CypherParser extends antlr4.Parser {
3470
3664
 
3471
3665
  parameter() {
3472
3666
  let localctx = new ParameterContext(this, this._ctx, this.state);
3473
- this.enterRule(localctx, 152, CypherParser.RULE_parameter);
3667
+ this.enterRule(localctx, 158, CypherParser.RULE_parameter);
3474
3668
  try {
3475
3669
  this.enterOuterAlt(localctx, 1);
3476
- this.state = 766;
3670
+ this.state = 810;
3477
3671
  this.match(CypherParser.DOLLAR);
3478
- this.state = 769;
3672
+ this.state = 813;
3479
3673
  this._errHandler.sync(this);
3480
3674
  switch(this._input.LA(1)) {
3481
3675
  case 30:
@@ -3486,11 +3680,11 @@ export default class CypherParser extends antlr4.Parser {
3486
3680
  case 35:
3487
3681
  case 89:
3488
3682
  case 90:
3489
- this.state = 767;
3683
+ this.state = 811;
3490
3684
  this.symbol();
3491
3685
  break;
3492
3686
  case 93:
3493
- this.state = 768;
3687
+ this.state = 812;
3494
3688
  this.numLit();
3495
3689
  break;
3496
3690
  default:
@@ -3514,45 +3708,45 @@ export default class CypherParser extends antlr4.Parser {
3514
3708
 
3515
3709
  literal() {
3516
3710
  let localctx = new LiteralContext(this, this._ctx, this.state);
3517
- this.enterRule(localctx, 154, CypherParser.RULE_literal);
3711
+ this.enterRule(localctx, 160, CypherParser.RULE_literal);
3518
3712
  try {
3519
- this.state = 778;
3713
+ this.state = 822;
3520
3714
  this._errHandler.sync(this);
3521
3715
  switch(this._input.LA(1)) {
3522
3716
  case 71:
3523
3717
  case 72:
3524
3718
  this.enterOuterAlt(localctx, 1);
3525
- this.state = 771;
3719
+ this.state = 815;
3526
3720
  this.boolLit();
3527
3721
  break;
3528
3722
  case 93:
3529
3723
  this.enterOuterAlt(localctx, 2);
3530
- this.state = 772;
3724
+ this.state = 816;
3531
3725
  this.numLit();
3532
3726
  break;
3533
3727
  case 73:
3534
3728
  this.enterOuterAlt(localctx, 3);
3535
- this.state = 773;
3729
+ this.state = 817;
3536
3730
  this.match(CypherParser.NULL_W);
3537
3731
  break;
3538
3732
  case 92:
3539
3733
  this.enterOuterAlt(localctx, 4);
3540
- this.state = 774;
3734
+ this.state = 818;
3541
3735
  this.stringLit();
3542
3736
  break;
3543
3737
  case 91:
3544
3738
  this.enterOuterAlt(localctx, 5);
3545
- this.state = 775;
3739
+ this.state = 819;
3546
3740
  this.charLit();
3547
3741
  break;
3548
3742
  case 16:
3549
3743
  this.enterOuterAlt(localctx, 6);
3550
- this.state = 776;
3744
+ this.state = 820;
3551
3745
  this.listLit();
3552
3746
  break;
3553
3747
  case 14:
3554
3748
  this.enterOuterAlt(localctx, 7);
3555
- this.state = 777;
3749
+ this.state = 821;
3556
3750
  this.mapLit();
3557
3751
  break;
3558
3752
  default:
@@ -3576,31 +3770,31 @@ export default class CypherParser extends antlr4.Parser {
3576
3770
 
3577
3771
  rangeLit() {
3578
3772
  let localctx = new RangeLitContext(this, this._ctx, this.state);
3579
- this.enterRule(localctx, 156, CypherParser.RULE_rangeLit);
3773
+ this.enterRule(localctx, 162, CypherParser.RULE_rangeLit);
3580
3774
  var _la = 0;
3581
3775
  try {
3582
3776
  this.enterOuterAlt(localctx, 1);
3583
- this.state = 780;
3777
+ this.state = 824;
3584
3778
  this.match(CypherParser.MULT);
3585
- this.state = 782;
3779
+ this.state = 826;
3586
3780
  this._errHandler.sync(this);
3587
3781
  _la = this._input.LA(1);
3588
3782
  if(_la===93) {
3589
- this.state = 781;
3783
+ this.state = 825;
3590
3784
  this.numLit();
3591
3785
  }
3592
3786
 
3593
- this.state = 788;
3787
+ this.state = 832;
3594
3788
  this._errHandler.sync(this);
3595
3789
  _la = this._input.LA(1);
3596
3790
  if(_la===8) {
3597
- this.state = 784;
3791
+ this.state = 828;
3598
3792
  this.match(CypherParser.RANGE);
3599
- this.state = 786;
3793
+ this.state = 830;
3600
3794
  this._errHandler.sync(this);
3601
3795
  _la = this._input.LA(1);
3602
3796
  if(_la===93) {
3603
- this.state = 785;
3797
+ this.state = 829;
3604
3798
  this.numLit();
3605
3799
  }
3606
3800
 
@@ -3624,11 +3818,11 @@ export default class CypherParser extends antlr4.Parser {
3624
3818
 
3625
3819
  boolLit() {
3626
3820
  let localctx = new BoolLitContext(this, this._ctx, this.state);
3627
- this.enterRule(localctx, 158, CypherParser.RULE_boolLit);
3821
+ this.enterRule(localctx, 164, CypherParser.RULE_boolLit);
3628
3822
  var _la = 0;
3629
3823
  try {
3630
3824
  this.enterOuterAlt(localctx, 1);
3631
- this.state = 790;
3825
+ this.state = 834;
3632
3826
  _la = this._input.LA(1);
3633
3827
  if(!(_la===71 || _la===72)) {
3634
3828
  this._errHandler.recoverInline(this);
@@ -3655,10 +3849,10 @@ export default class CypherParser extends antlr4.Parser {
3655
3849
 
3656
3850
  numLit() {
3657
3851
  let localctx = new NumLitContext(this, this._ctx, this.state);
3658
- this.enterRule(localctx, 160, CypherParser.RULE_numLit);
3852
+ this.enterRule(localctx, 166, CypherParser.RULE_numLit);
3659
3853
  try {
3660
3854
  this.enterOuterAlt(localctx, 1);
3661
- this.state = 792;
3855
+ this.state = 836;
3662
3856
  this.match(CypherParser.DIGIT);
3663
3857
  } catch (re) {
3664
3858
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3678,10 +3872,10 @@ export default class CypherParser extends antlr4.Parser {
3678
3872
 
3679
3873
  stringLit() {
3680
3874
  let localctx = new StringLitContext(this, this._ctx, this.state);
3681
- this.enterRule(localctx, 162, CypherParser.RULE_stringLit);
3875
+ this.enterRule(localctx, 168, CypherParser.RULE_stringLit);
3682
3876
  try {
3683
3877
  this.enterOuterAlt(localctx, 1);
3684
- this.state = 794;
3878
+ this.state = 838;
3685
3879
  this.match(CypherParser.STRING_LITERAL);
3686
3880
  } catch (re) {
3687
3881
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3701,10 +3895,10 @@ export default class CypherParser extends antlr4.Parser {
3701
3895
 
3702
3896
  charLit() {
3703
3897
  let localctx = new CharLitContext(this, this._ctx, this.state);
3704
- this.enterRule(localctx, 164, CypherParser.RULE_charLit);
3898
+ this.enterRule(localctx, 170, CypherParser.RULE_charLit);
3705
3899
  try {
3706
3900
  this.enterOuterAlt(localctx, 1);
3707
- this.state = 796;
3901
+ this.state = 840;
3708
3902
  this.match(CypherParser.CHAR_LITERAL);
3709
3903
  } catch (re) {
3710
3904
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3724,21 +3918,21 @@ export default class CypherParser extends antlr4.Parser {
3724
3918
 
3725
3919
  listLit() {
3726
3920
  let localctx = new ListLitContext(this, this._ctx, this.state);
3727
- this.enterRule(localctx, 166, CypherParser.RULE_listLit);
3921
+ this.enterRule(localctx, 172, CypherParser.RULE_listLit);
3728
3922
  var _la = 0;
3729
3923
  try {
3730
3924
  this.enterOuterAlt(localctx, 1);
3731
- this.state = 798;
3925
+ this.state = 842;
3732
3926
  this.match(CypherParser.LBRACK);
3733
- this.state = 800;
3927
+ this.state = 844;
3734
3928
  this._errHandler.sync(this);
3735
3929
  _la = this._input.LA(1);
3736
3930
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
3737
- this.state = 799;
3931
+ this.state = 843;
3738
3932
  this.expressionChain();
3739
3933
  }
3740
3934
 
3741
- this.state = 802;
3935
+ this.state = 846;
3742
3936
  this.match(CypherParser.RBRACK);
3743
3937
  } catch (re) {
3744
3938
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3758,33 +3952,33 @@ export default class CypherParser extends antlr4.Parser {
3758
3952
 
3759
3953
  mapLit() {
3760
3954
  let localctx = new MapLitContext(this, this._ctx, this.state);
3761
- this.enterRule(localctx, 168, CypherParser.RULE_mapLit);
3955
+ this.enterRule(localctx, 174, CypherParser.RULE_mapLit);
3762
3956
  var _la = 0;
3763
3957
  try {
3764
3958
  this.enterOuterAlt(localctx, 1);
3765
- this.state = 804;
3959
+ this.state = 848;
3766
3960
  this.match(CypherParser.LBRACE);
3767
- this.state = 813;
3961
+ this.state = 857;
3768
3962
  this._errHandler.sync(this);
3769
3963
  _la = this._input.LA(1);
3770
3964
  if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 4294967295) !== 0) || ((((_la - 62)) & ~0x1f) === 0 && ((1 << (_la - 62)) & 536870911) !== 0)) {
3771
- this.state = 805;
3965
+ this.state = 849;
3772
3966
  this.mapPair();
3773
- this.state = 810;
3967
+ this.state = 854;
3774
3968
  this._errHandler.sync(this);
3775
3969
  _la = this._input.LA(1);
3776
3970
  while(_la===11) {
3777
- this.state = 806;
3971
+ this.state = 850;
3778
3972
  this.match(CypherParser.COMMA);
3779
- this.state = 807;
3973
+ this.state = 851;
3780
3974
  this.mapPair();
3781
- this.state = 812;
3975
+ this.state = 856;
3782
3976
  this._errHandler.sync(this);
3783
3977
  _la = this._input.LA(1);
3784
3978
  }
3785
3979
  }
3786
3980
 
3787
- this.state = 815;
3981
+ this.state = 859;
3788
3982
  this.match(CypherParser.RBRACE);
3789
3983
  } catch (re) {
3790
3984
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3804,14 +3998,14 @@ export default class CypherParser extends antlr4.Parser {
3804
3998
 
3805
3999
  mapPair() {
3806
4000
  let localctx = new MapPairContext(this, this._ctx, this.state);
3807
- this.enterRule(localctx, 170, CypherParser.RULE_mapPair);
4001
+ this.enterRule(localctx, 176, CypherParser.RULE_mapPair);
3808
4002
  try {
3809
4003
  this.enterOuterAlt(localctx, 1);
3810
- this.state = 817;
4004
+ this.state = 861;
3811
4005
  this.name();
3812
- this.state = 818;
4006
+ this.state = 862;
3813
4007
  this.match(CypherParser.COLON);
3814
- this.state = 819;
4008
+ this.state = 863;
3815
4009
  this.expression();
3816
4010
  } catch (re) {
3817
4011
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3831,9 +4025,9 @@ export default class CypherParser extends antlr4.Parser {
3831
4025
 
3832
4026
  name() {
3833
4027
  let localctx = new NameContext(this, this._ctx, this.state);
3834
- this.enterRule(localctx, 172, CypherParser.RULE_name);
4028
+ this.enterRule(localctx, 178, CypherParser.RULE_name);
3835
4029
  try {
3836
- this.state = 823;
4030
+ this.state = 867;
3837
4031
  this._errHandler.sync(this);
3838
4032
  switch(this._input.LA(1)) {
3839
4033
  case 30:
@@ -3845,7 +4039,7 @@ export default class CypherParser extends antlr4.Parser {
3845
4039
  case 89:
3846
4040
  case 90:
3847
4041
  this.enterOuterAlt(localctx, 1);
3848
- this.state = 821;
4042
+ this.state = 865;
3849
4043
  this.symbol();
3850
4044
  break;
3851
4045
  case 36:
@@ -3902,7 +4096,7 @@ export default class CypherParser extends antlr4.Parser {
3902
4096
  case 87:
3903
4097
  case 88:
3904
4098
  this.enterOuterAlt(localctx, 2);
3905
- this.state = 822;
4099
+ this.state = 866;
3906
4100
  this.reservedWord();
3907
4101
  break;
3908
4102
  default:
@@ -3926,11 +4120,11 @@ export default class CypherParser extends antlr4.Parser {
3926
4120
 
3927
4121
  symbol() {
3928
4122
  let localctx = new SymbolContext(this, this._ctx, this.state);
3929
- this.enterRule(localctx, 174, CypherParser.RULE_symbol);
4123
+ this.enterRule(localctx, 180, CypherParser.RULE_symbol);
3930
4124
  var _la = 0;
3931
4125
  try {
3932
4126
  this.enterOuterAlt(localctx, 1);
3933
- this.state = 825;
4127
+ this.state = 869;
3934
4128
  _la = this._input.LA(1);
3935
4129
  if(!(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90)) {
3936
4130
  this._errHandler.recoverInline(this);
@@ -3957,11 +4151,11 @@ export default class CypherParser extends antlr4.Parser {
3957
4151
 
3958
4152
  reservedWord() {
3959
4153
  let localctx = new ReservedWordContext(this, this._ctx, this.state);
3960
- this.enterRule(localctx, 176, CypherParser.RULE_reservedWord);
4154
+ this.enterRule(localctx, 182, CypherParser.RULE_reservedWord);
3961
4155
  var _la = 0;
3962
4156
  try {
3963
4157
  this.enterOuterAlt(localctx, 1);
3964
- this.state = 827;
4158
+ this.state = 871;
3965
4159
  _la = this._input.LA(1);
3966
4160
  if(!(((((_la - 36)) & ~0x1f) === 0 && ((1 << (_la - 36)) & 4294967295) !== 0) || ((((_la - 68)) & ~0x1f) === 0 && ((1 << (_la - 68)) & 2097151) !== 0))) {
3967
4161
  this._errHandler.recoverInline(this);
@@ -4144,39 +4338,42 @@ CypherParser.RULE_propertyExpression = 52;
4144
4338
  CypherParser.RULE_patternPart = 53;
4145
4339
  CypherParser.RULE_patternElem = 54;
4146
4340
  CypherParser.RULE_patternElemChain = 55;
4147
- CypherParser.RULE_properties = 56;
4148
- CypherParser.RULE_nodePattern = 57;
4149
- CypherParser.RULE_atom = 58;
4150
- CypherParser.RULE_lhs = 59;
4151
- CypherParser.RULE_relationshipPattern = 60;
4152
- CypherParser.RULE_relationDetail = 61;
4153
- CypherParser.RULE_relationshipTypes = 62;
4154
- CypherParser.RULE_unionSt = 63;
4155
- CypherParser.RULE_subqueryExist = 64;
4156
- CypherParser.RULE_invocationName = 65;
4157
- CypherParser.RULE_functionInvocation = 66;
4158
- CypherParser.RULE_parenthesizedExpression = 67;
4159
- CypherParser.RULE_filterWith = 68;
4160
- CypherParser.RULE_patternComprehension = 69;
4161
- CypherParser.RULE_relationshipsChainPattern = 70;
4162
- CypherParser.RULE_listComprehension = 71;
4163
- CypherParser.RULE_filterExpression = 72;
4164
- CypherParser.RULE_countAll = 73;
4165
- CypherParser.RULE_expressionChain = 74;
4166
- CypherParser.RULE_caseExpression = 75;
4167
- CypherParser.RULE_parameter = 76;
4168
- CypherParser.RULE_literal = 77;
4169
- CypherParser.RULE_rangeLit = 78;
4170
- CypherParser.RULE_boolLit = 79;
4171
- CypherParser.RULE_numLit = 80;
4172
- CypherParser.RULE_stringLit = 81;
4173
- CypherParser.RULE_charLit = 82;
4174
- CypherParser.RULE_listLit = 83;
4175
- CypherParser.RULE_mapLit = 84;
4176
- CypherParser.RULE_mapPair = 85;
4177
- CypherParser.RULE_name = 86;
4178
- CypherParser.RULE_symbol = 87;
4179
- CypherParser.RULE_reservedWord = 88;
4341
+ CypherParser.RULE_qppElemChain = 56;
4342
+ CypherParser.RULE_qppQuantifier = 57;
4343
+ CypherParser.RULE_qppInt = 58;
4344
+ CypherParser.RULE_properties = 59;
4345
+ CypherParser.RULE_nodePattern = 60;
4346
+ CypherParser.RULE_atom = 61;
4347
+ CypherParser.RULE_lhs = 62;
4348
+ CypherParser.RULE_relationshipPattern = 63;
4349
+ CypherParser.RULE_relationDetail = 64;
4350
+ CypherParser.RULE_relationshipTypes = 65;
4351
+ CypherParser.RULE_unionSt = 66;
4352
+ CypherParser.RULE_subqueryExist = 67;
4353
+ CypherParser.RULE_invocationName = 68;
4354
+ CypherParser.RULE_functionInvocation = 69;
4355
+ CypherParser.RULE_parenthesizedExpression = 70;
4356
+ CypherParser.RULE_filterWith = 71;
4357
+ CypherParser.RULE_patternComprehension = 72;
4358
+ CypherParser.RULE_relationshipsChainPattern = 73;
4359
+ CypherParser.RULE_listComprehension = 74;
4360
+ CypherParser.RULE_filterExpression = 75;
4361
+ CypherParser.RULE_countAll = 76;
4362
+ CypherParser.RULE_expressionChain = 77;
4363
+ CypherParser.RULE_caseExpression = 78;
4364
+ CypherParser.RULE_parameter = 79;
4365
+ CypherParser.RULE_literal = 80;
4366
+ CypherParser.RULE_rangeLit = 81;
4367
+ CypherParser.RULE_boolLit = 82;
4368
+ CypherParser.RULE_numLit = 83;
4369
+ CypherParser.RULE_stringLit = 84;
4370
+ CypherParser.RULE_charLit = 85;
4371
+ CypherParser.RULE_listLit = 86;
4372
+ CypherParser.RULE_mapLit = 87;
4373
+ CypherParser.RULE_mapPair = 88;
4374
+ CypherParser.RULE_name = 89;
4375
+ CypherParser.RULE_symbol = 90;
4376
+ CypherParser.RULE_reservedWord = 91;
4180
4377
 
4181
4378
  class ScriptContext extends antlr4.ParserRuleContext {
4182
4379
 
@@ -7321,6 +7518,17 @@ class PatternElemContext extends antlr4.ParserRuleContext {
7321
7518
  }
7322
7519
  };
7323
7520
 
7521
+ qppElemChain = function(i) {
7522
+ if(i===undefined) {
7523
+ i = null;
7524
+ }
7525
+ if(i===null) {
7526
+ return this.getTypedRuleContexts(QppElemChainContext);
7527
+ } else {
7528
+ return this.getTypedRuleContext(QppElemChainContext,i);
7529
+ }
7530
+ };
7531
+
7324
7532
  LPAREN() {
7325
7533
  return this.getToken(CypherParser.LPAREN, 0);
7326
7534
  };
@@ -7333,6 +7541,10 @@ class PatternElemContext extends antlr4.ParserRuleContext {
7333
7541
  return this.getToken(CypherParser.RPAREN, 0);
7334
7542
  };
7335
7543
 
7544
+ qppQuantifier() {
7545
+ return this.getTypedRuleContext(QppQuantifierContext,0);
7546
+ };
7547
+
7336
7548
  enterRule(listener) {
7337
7549
  if(listener instanceof CypherParserListener ) {
7338
7550
  listener.enterPatternElem(this);
@@ -7405,6 +7617,182 @@ class PatternElemChainContext extends antlr4.ParserRuleContext {
7405
7617
 
7406
7618
 
7407
7619
 
7620
+ class QppElemChainContext extends antlr4.ParserRuleContext {
7621
+
7622
+ constructor(parser, parent, invokingState) {
7623
+ if(parent===undefined) {
7624
+ parent = null;
7625
+ }
7626
+ if(invokingState===undefined || invokingState===null) {
7627
+ invokingState = -1;
7628
+ }
7629
+ super(parent, invokingState);
7630
+ this.parser = parser;
7631
+ this.ruleIndex = CypherParser.RULE_qppElemChain;
7632
+ }
7633
+
7634
+ LPAREN() {
7635
+ return this.getToken(CypherParser.LPAREN, 0);
7636
+ };
7637
+
7638
+ patternElem() {
7639
+ return this.getTypedRuleContext(PatternElemContext,0);
7640
+ };
7641
+
7642
+ RPAREN() {
7643
+ return this.getToken(CypherParser.RPAREN, 0);
7644
+ };
7645
+
7646
+ qppQuantifier() {
7647
+ return this.getTypedRuleContext(QppQuantifierContext,0);
7648
+ };
7649
+
7650
+ nodePattern() {
7651
+ return this.getTypedRuleContext(NodePatternContext,0);
7652
+ };
7653
+
7654
+ enterRule(listener) {
7655
+ if(listener instanceof CypherParserListener ) {
7656
+ listener.enterQppElemChain(this);
7657
+ }
7658
+ }
7659
+
7660
+ exitRule(listener) {
7661
+ if(listener instanceof CypherParserListener ) {
7662
+ listener.exitQppElemChain(this);
7663
+ }
7664
+ }
7665
+
7666
+ accept(visitor) {
7667
+ if ( visitor instanceof CypherParserVisitor ) {
7668
+ return visitor.visitQppElemChain(this);
7669
+ } else {
7670
+ return visitor.visitChildren(this);
7671
+ }
7672
+ }
7673
+
7674
+
7675
+ }
7676
+
7677
+
7678
+
7679
+ class QppQuantifierContext extends antlr4.ParserRuleContext {
7680
+
7681
+ constructor(parser, parent, invokingState) {
7682
+ if(parent===undefined) {
7683
+ parent = null;
7684
+ }
7685
+ if(invokingState===undefined || invokingState===null) {
7686
+ invokingState = -1;
7687
+ }
7688
+ super(parent, invokingState);
7689
+ this.parser = parser;
7690
+ this.ruleIndex = CypherParser.RULE_qppQuantifier;
7691
+ }
7692
+
7693
+ LBRACE() {
7694
+ return this.getToken(CypherParser.LBRACE, 0);
7695
+ };
7696
+
7697
+ qppInt = function(i) {
7698
+ if(i===undefined) {
7699
+ i = null;
7700
+ }
7701
+ if(i===null) {
7702
+ return this.getTypedRuleContexts(QppIntContext);
7703
+ } else {
7704
+ return this.getTypedRuleContext(QppIntContext,i);
7705
+ }
7706
+ };
7707
+
7708
+ COMMA() {
7709
+ return this.getToken(CypherParser.COMMA, 0);
7710
+ };
7711
+
7712
+ RBRACE() {
7713
+ return this.getToken(CypherParser.RBRACE, 0);
7714
+ };
7715
+
7716
+ PLUS() {
7717
+ return this.getToken(CypherParser.PLUS, 0);
7718
+ };
7719
+
7720
+ MULT() {
7721
+ return this.getToken(CypherParser.MULT, 0);
7722
+ };
7723
+
7724
+ enterRule(listener) {
7725
+ if(listener instanceof CypherParserListener ) {
7726
+ listener.enterQppQuantifier(this);
7727
+ }
7728
+ }
7729
+
7730
+ exitRule(listener) {
7731
+ if(listener instanceof CypherParserListener ) {
7732
+ listener.exitQppQuantifier(this);
7733
+ }
7734
+ }
7735
+
7736
+ accept(visitor) {
7737
+ if ( visitor instanceof CypherParserVisitor ) {
7738
+ return visitor.visitQppQuantifier(this);
7739
+ } else {
7740
+ return visitor.visitChildren(this);
7741
+ }
7742
+ }
7743
+
7744
+
7745
+ }
7746
+
7747
+
7748
+
7749
+ class QppIntContext extends antlr4.ParserRuleContext {
7750
+
7751
+ constructor(parser, parent, invokingState) {
7752
+ if(parent===undefined) {
7753
+ parent = null;
7754
+ }
7755
+ if(invokingState===undefined || invokingState===null) {
7756
+ invokingState = -1;
7757
+ }
7758
+ super(parent, invokingState);
7759
+ this.parser = parser;
7760
+ this.ruleIndex = CypherParser.RULE_qppInt;
7761
+ }
7762
+
7763
+ DIGIT() {
7764
+ return this.getToken(CypherParser.DIGIT, 0);
7765
+ };
7766
+
7767
+ ID() {
7768
+ return this.getToken(CypherParser.ID, 0);
7769
+ };
7770
+
7771
+ enterRule(listener) {
7772
+ if(listener instanceof CypherParserListener ) {
7773
+ listener.enterQppInt(this);
7774
+ }
7775
+ }
7776
+
7777
+ exitRule(listener) {
7778
+ if(listener instanceof CypherParserListener ) {
7779
+ listener.exitQppInt(this);
7780
+ }
7781
+ }
7782
+
7783
+ accept(visitor) {
7784
+ if ( visitor instanceof CypherParserVisitor ) {
7785
+ return visitor.visitQppInt(this);
7786
+ } else {
7787
+ return visitor.visitChildren(this);
7788
+ }
7789
+ }
7790
+
7791
+
7792
+ }
7793
+
7794
+
7795
+
7408
7796
  class PropertiesContext extends antlr4.ParserRuleContext {
7409
7797
 
7410
7798
  constructor(parser, parent, invokingState) {
@@ -9582,6 +9970,9 @@ CypherParser.PropertyExpressionContext = PropertyExpressionContext;
9582
9970
  CypherParser.PatternPartContext = PatternPartContext;
9583
9971
  CypherParser.PatternElemContext = PatternElemContext;
9584
9972
  CypherParser.PatternElemChainContext = PatternElemChainContext;
9973
+ CypherParser.QppElemChainContext = QppElemChainContext;
9974
+ CypherParser.QppQuantifierContext = QppQuantifierContext;
9975
+ CypherParser.QppIntContext = QppIntContext;
9585
9976
  CypherParser.PropertiesContext = PropertiesContext;
9586
9977
  CypherParser.NodePatternContext = NodePatternContext;
9587
9978
  CypherParser.AtomContext = AtomContext;