@freelog/freelog-cg-collection 1.0.0

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 (73) hide show
  1. package/CollectionPolicyCustomVisitor.js +544 -0
  2. package/CollectionPolicyDecompiler.js +131 -0
  3. package/CollectionPolicyErrorLexerListener.js +23 -0
  4. package/CollectionPolicyErrorListener.js +22 -0
  5. package/README.md +398 -0
  6. package/TransitionEventArgsMatchUtil.js +79 -0
  7. package/gen/CollectionPolicyLexer.js +705 -0
  8. package/gen/CollectionPolicyListener.js +672 -0
  9. package/gen/CollectionPolicyParser.js +7301 -0
  10. package/gen/CollectionPolicyVisitor.js +454 -0
  11. package/gen/LexToken.js +680 -0
  12. package/index.js +53 -0
  13. package/indexTest.js +23 -0
  14. package/package.json +32 -0
  15. package/resources/event_definition.json +169 -0
  16. package/resources/function_definite.json +79 -0
  17. package/resources/test/CalculatorTest.json +26 -0
  18. package/resources/test/FunctionHelperTest.json +21 -0
  19. package/resources/variable_definite.json +10 -0
  20. package/resources/zhaojn.json +68 -0
  21. package/resources/zhaojn.sc +8 -0
  22. package/src/calculator/ExpArgsGroupCalculator.ts +34 -0
  23. package/src/calculator/ExpBooleanCalculator.ts +77 -0
  24. package/src/calculator/ExpCalculator.ts +68 -0
  25. package/src/calculator/ExpCollectionCalculator.ts +0 -0
  26. package/src/calculator/ExpConditionCalculator.ts +43 -0
  27. package/src/function-executor/FunctionHandle.ts +45 -0
  28. package/src/function-executor/api/FunctionApiExecutor.ts +11 -0
  29. package/src/function-executor/fun/FunctionFunExecutor.ts +31 -0
  30. package/src/function-executor/kit/FunctionKitExecutor.ts +11 -0
  31. package/src/function-executor/query/FunctionQueryExecutor.ts +11 -0
  32. package/src/function-executor/time/FunctionTimeExecutor.ts +11 -0
  33. package/src/helper/ExpHelper.ts +66 -0
  34. package/src/helper/FunctionHelper.ts +97 -0
  35. package/src/helper/PolicyHelper.ts +99 -0
  36. package/src/interface/Calculator.ts +6 -0
  37. package/src/interface/DefaultFunctionInvoke.ts +12 -0
  38. package/src/interface/FunctionInvoke.ts +6 -0
  39. package/src/interface/VarContextCapable.ts +3 -0
  40. package/src/model/AssignmentClauseInfo.ts +3 -0
  41. package/src/model/exp/EntityInfo.ts +7 -0
  42. package/src/model/exp/Exp.ts +5 -0
  43. package/src/model/exp/ExpAtom.ts +5 -0
  44. package/src/model/exp/ExpOp.ts +8 -0
  45. package/src/model/exp/ExpParen.ts +6 -0
  46. package/src/model/exp/ExpSigned.ts +7 -0
  47. package/src/model/exp/FunctionCallInfo.ts +13 -0
  48. package/src/model/exp/NumberInfo.ts +6 -0
  49. package/src/model/exp/StringInfo.ts +6 -0
  50. package/src/model/exp/VariableChainInfo.ts +7 -0
  51. package/src/model/exp-args-group/ExpArgsGroup.ts +10 -0
  52. package/src/model/exp-boolean/BooleanInfo.ts +6 -0
  53. package/src/model/exp-boolean/ExpBoolean.ts +5 -0
  54. package/src/model/exp-boolean/ExpBooleanAtom.ts +5 -0
  55. package/src/model/exp-boolean/ExpBooleanOpCollection.ts +8 -0
  56. package/src/model/exp-boolean/ExpBooleanOpCompare.ts +9 -0
  57. package/src/model/exp-boolean/ExpBooleanOpLogic.ts +8 -0
  58. package/src/model/exp-boolean/ExpBooleanParen.ts +6 -0
  59. package/src/model/exp-collection/ExpCollection.ts +10 -0
  60. package/src/model/exp-condition/ExpCondition.ts +12 -0
  61. package/src/model/policy/ActionInfo.ts +23 -0
  62. package/src/model/policy/EventInfo.ts +13 -0
  63. package/src/model/policy/PolicyInfo.ts +20 -0
  64. package/src/model/policy/VarDeclarationInfo.ts +8 -0
  65. package/test/calculator/CalculatorTest.test.ts +13 -0
  66. package/test/function/FunAddElements.ts +9 -0
  67. package/test/function/FunctionFunExecutorTest.test.ts +11 -0
  68. package/test/function/FunctionHandleTest.test.ts +9 -0
  69. package/test/helper/ExpHelperTest.test.ts +7 -0
  70. package/test/helper/FunctionHelperTest.test.ts +16 -0
  71. package/test/helper/PolicyHelperTest.test.ts +14 -0
  72. package/test/tsconfig.test.json +6 -0
  73. package/tsconfig.json +24 -0
@@ -0,0 +1,705 @@
1
+ // Generated from generated_grammars\CollectionPolicy.g4 by ANTLR 4.8
2
+ // jshint ignore: start
3
+ var antlr4 = require('antlr4/index');
4
+
5
+
6
+
7
+ var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
8
+ "\u0002J\u0330\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004",
9
+ "\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t",
10
+ "\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
11
+ "\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
12
+ "\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
13
+ "\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017",
14
+ "\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a",
15
+ "\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e",
16
+ "\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#",
17
+ "\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004",
18
+ "*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004",
19
+ "1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004",
20
+ "8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004",
21
+ "?\t?\u0004@\t@\u0004A\tA\u0004B\tB\u0004C\tC\u0004D\tD\u0004E\tE\u0004",
22
+ "F\tF\u0004G\tG\u0004H\tH\u0004I\tI\u0004J\tJ\u0004K\tK\u0004L\tL\u0004",
23
+ "M\tM\u0004N\tN\u0004O\tO\u0004P\tP\u0004Q\tQ\u0004R\tR\u0004S\tS\u0004",
24
+ "T\tT\u0004U\tU\u0004V\tV\u0004W\tW\u0004X\tX\u0004Y\tY\u0004Z\tZ\u0004",
25
+ "[\t[\u0004\\\t\\\u0004]\t]\u0004^\t^\u0004_\t_\u0004`\t`\u0004a\ta\u0004",
26
+ "b\tb\u0004c\tc\u0004d\td\u0004e\te\u0004f\tf\u0004g\tg\u0004h\th\u0004",
27
+ "i\ti\u0004j\tj\u0004k\tk\u0004l\tl\u0004m\tm\u0004n\tn\u0004o\to\u0004",
28
+ "p\tp\u0004q\tq\u0004r\tr\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0002",
29
+ "\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
30
+ "\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004",
31
+ "\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0006",
32
+ "\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006",
33
+ "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007",
34
+ "\u0003\u0007\u0003\u0007\u0003\u0007\u0003\b\u0003\b\u0003\b\u0003\b",
35
+ "\u0003\b\u0003\b\u0003\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003\t\u0003",
36
+ "\t\u0003\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003\n\u0003\u000b\u0003",
37
+ "\u000b\u0003\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003\r\u0003\r\u0003",
38
+ "\r\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003",
39
+ "\u000e\u0003\u000e\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u000f\u0003",
40
+ "\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003",
41
+ "\u000f\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0010\u0003",
42
+ "\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003",
43
+ "\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0012\u0003",
44
+ "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003",
45
+ "\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003",
46
+ "\u0012\u0003\u0012\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003",
47
+ "\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003",
48
+ "\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0015\u0003",
49
+ "\u0015\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003",
50
+ "\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0017\u0003",
51
+ "\u0017\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003",
52
+ "\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003",
53
+ "\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003",
54
+ "\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b\u0003",
55
+ "\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003",
56
+ "\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001d\u0003",
57
+ "\u001d\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003 \u0003",
58
+ " \u0003!\u0003!\u0003\"\u0003\"\u0003#\u0003#\u0003$\u0003$\u0003%\u0003",
59
+ "%\u0003&\u0003&\u0003\'\u0003\'\u0003(\u0003(\u0003)\u0003)\u0003*\u0003",
60
+ "*\u0003+\u0003+\u0003,\u0003,\u0003-\u0003-\u0003.\u0003.\u0003/\u0003",
61
+ "/\u0003/\u00030\u00030\u00031\u00031\u00031\u00032\u00032\u00032\u0003",
62
+ "3\u00033\u00033\u00034\u00034\u00034\u00035\u00035\u00035\u00036\u0003",
63
+ "6\u00036\u00056\u01d4\n6\u00036\u00056\u01d7\n6\u00037\u00037\u0003",
64
+ "7\u00037\u00037\u00038\u00038\u00038\u00038\u00038\u00038\u00039\u0003",
65
+ "9\u00039\u0003:\u0003:\u0003;\u0003;\u0005;\u01eb\n;\u0003<\u0003<\u0003",
66
+ "=\u0006=\u01f0\n=\r=\u000e=\u01f1\u0003=\u0003=\u0003=\u0003=\u0007",
67
+ "=\u01f8\n=\f=\u000e=\u01fb\u000b=\u0003>\u0006>\u01fe\n>\r>\u000e>\u01ff",
68
+ "\u0003?\u0003?\u0003?\u0003?\u0007?\u0206\n?\f?\u000e?\u0209\u000b?",
69
+ "\u0003@\u0003@\u0003@\u0007@\u020e\n@\f@\u000e@\u0211\u000b@\u0003@",
70
+ "\u0003@\u0003A\u0003A\u0003A\u0006A\u0218\nA\rA\u000eA\u0219\u0003A",
71
+ "\u0003A\u0003B\u0006B\u021f\nB\rB\u000eB\u0220\u0003B\u0003B\u0006B",
72
+ "\u0225\nB\rB\u000eB\u0226\u0005B\u0229\nB\u0003B\u0003B\u0005B\u022d",
73
+ "\nB\u0003B\u0006B\u0230\nB\rB\u000eB\u0231\u0005B\u0234\nB\u0003B\u0005",
74
+ "B\u0237\nB\u0003B\u0003B\u0006B\u023b\nB\rB\u000eB\u023c\u0003B\u0003",
75
+ "B\u0005B\u0241\nB\u0003B\u0006B\u0244\nB\rB\u000eB\u0245\u0005B\u0248",
76
+ "\nB\u0003B\u0005B\u024b\nB\u0005B\u024d\nB\u0003C\u0003C\u0003C\u0003",
77
+ "C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0005C\u025a\nC\u0003",
78
+ "C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0005C\u0265",
79
+ "\nC\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003",
80
+ "C\u0003C\u0005C\u0272\nC\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003",
81
+ "C\u0003C\u0003C\u0005C\u027d\nC\u0005C\u027f\nC\u0003D\u0003D\u0003",
82
+ "D\u0003D\u0003D\u0003D\u0003E\u0003E\u0003E\u0003E\u0003E\u0005E\u028c",
83
+ "\nE\u0003F\u0003F\u0006F\u0290\nF\rF\u000eF\u0291\u0003F\u0003F\u0003",
84
+ "F\u0005F\u0297\nF\u0005F\u0299\nF\u0003G\u0003G\u0003G\u0003G\u0007",
85
+ "G\u029f\nG\fG\u000eG\u02a2\u000bG\u0003G\u0003G\u0003G\u0003G\u0003",
86
+ "G\u0003H\u0003H\u0003H\u0003H\u0007H\u02ad\nH\fH\u000eH\u02b0\u000b",
87
+ "H\u0003H\u0005H\u02b3\nH\u0003H\u0003H\u0003H\u0003H\u0003I\u0006I\u02ba",
88
+ "\nI\rI\u000eI\u02bb\u0003I\u0003I\u0003J\u0006J\u02c1\nJ\rJ\u000eJ\u02c2",
89
+ "\u0003K\u0006K\u02c6\nK\rK\u000eK\u02c7\u0003L\u0003L\u0003L\u0003M",
90
+ "\u0003M\u0003M\u0003N\u0003N\u0003N\u0003O\u0003O\u0003O\u0003O\u0003",
91
+ "P\u0003P\u0003P\u0003P\u0003Q\u0003Q\u0003Q\u0005Q\u02de\nQ\u0003R\u0003",
92
+ "R\u0003R\u0003R\u0003R\u0003R\u0003S\u0003S\u0003T\u0006T\u02e9\nT\r",
93
+ "T\u000eT\u02ea\u0003T\u0003T\u0006T\u02ef\nT\rT\u000eT\u02f0\u0005T",
94
+ "\u02f3\nT\u0003U\u0003U\u0003V\u0003V\u0003W\u0003W\u0003X\u0003X\u0003",
95
+ "Y\u0003Y\u0003Z\u0003Z\u0003[\u0003[\u0003\\\u0003\\\u0003]\u0003]\u0003",
96
+ "^\u0003^\u0003_\u0003_\u0003`\u0003`\u0003a\u0003a\u0003b\u0003b\u0003",
97
+ "c\u0003c\u0003d\u0003d\u0003e\u0003e\u0003f\u0003f\u0003g\u0003g\u0003",
98
+ "h\u0003h\u0003i\u0003i\u0003j\u0003j\u0003k\u0003k\u0003l\u0003l\u0003",
99
+ "m\u0003m\u0003n\u0003n\u0003o\u0003o\u0003p\u0003p\u0003q\u0003q\u0003",
100
+ "r\u0003r\u0004\u02a0\u02ae\u0002s\u0003\u0003\u0005\u0004\u0007\u0005",
101
+ "\t\u0006\u000b\u0007\r\b\u000f\t\u0011\n\u0013\u000b\u0015\f\u0017\r",
102
+ "\u0019\u000e\u001b\u000f\u001d\u0010\u001f\u0011!\u0012#\u0013%\u0014",
103
+ "\'\u0015)\u0016+\u0017-\u0018/\u00191\u001a3\u001b5\u001c7\u001d9\u001e",
104
+ ";\u001f= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s;u<",
105
+ "w=y>{?}@\u007fA\u0081B\u0083C\u0085D\u0087E\u0089F\u008bG\u008dH\u008f",
106
+ "I\u0091J\u0093\u0002\u0095\u0002\u0097\u0002\u0099\u0002\u009b\u0002",
107
+ "\u009d\u0002\u009f\u0002\u00a1\u0002\u00a3\u0002\u00a5\u0002\u00a7\u0002",
108
+ "\u00a9\u0002\u00ab\u0002\u00ad\u0002\u00af\u0002\u00b1\u0002\u00b3\u0002",
109
+ "\u00b5\u0002\u00b7\u0002\u00b9\u0002\u00bb\u0002\u00bd\u0002\u00bf\u0002",
110
+ "\u00c1\u0002\u00c3\u0002\u00c5\u0002\u00c7\u0002\u00c9\u0002\u00cb\u0002",
111
+ "\u00cd\u0002\u00cf\u0002\u00d1\u0002\u00d3\u0002\u00d5\u0002\u00d7\u0002",
112
+ "\u00d9\u0002\u00db\u0002\u00dd\u0002\u00df\u0002\u00e1\u0002\u00e3\u0002",
113
+ "\u0003\u0002&\u0004\u0002GGgg\u0004\u0002$$^^\n\u0002\"\"$&,,<<>>@B",
114
+ "^^~~\u0004\u0002--//\u0004\u0002FFHH\u0005\u0002\u000b\f\u000f\u000f",
115
+ "\"\"\u0007\u0002//2;C\\aac|\n\u0002$$11^^ddhhppttvv\u0003\u00022;\u0005",
116
+ "\u00022;CHch\u0004\u0002C\\c|\u0004\u0002CCcc\u0004\u0002DDdd\u0004",
117
+ "\u0002EEee\u0004\u0002FFff\u0004\u0002HHhh\u0004\u0002IIii\u0004\u0002",
118
+ "JJjj\u0004\u0002KKkk\u0004\u0002LLll\u0004\u0002MMmm\u0004\u0002NNn",
119
+ "n\u0004\u0002OOoo\u0004\u0002PPpp\u0004\u0002QQqq\u0004\u0002RRrr\u0004",
120
+ "\u0002SSss\u0004\u0002TTtt\u0004\u0002UUuu\u0004\u0002VVvv\u0004\u0002",
121
+ "WWww\u0004\u0002XXxx\u0004\u0002YYyy\u0004\u0002ZZzz\u0004\u0002[[{",
122
+ "{\u0004\u0002\\\\||\u0002\u0335\u0002\u0003\u0003\u0002\u0002\u0002",
123
+ "\u0002\u0005\u0003\u0002\u0002\u0002\u0002\u0007\u0003\u0002\u0002\u0002",
124
+ "\u0002\t\u0003\u0002\u0002\u0002\u0002\u000b\u0003\u0002\u0002\u0002",
125
+ "\u0002\r\u0003\u0002\u0002\u0002\u0002\u000f\u0003\u0002\u0002\u0002",
126
+ "\u0002\u0011\u0003\u0002\u0002\u0002\u0002\u0013\u0003\u0002\u0002\u0002",
127
+ "\u0002\u0015\u0003\u0002\u0002\u0002\u0002\u0017\u0003\u0002\u0002\u0002",
128
+ "\u0002\u0019\u0003\u0002\u0002\u0002\u0002\u001b\u0003\u0002\u0002\u0002",
129
+ "\u0002\u001d\u0003\u0002\u0002\u0002\u0002\u001f\u0003\u0002\u0002\u0002",
130
+ "\u0002!\u0003\u0002\u0002\u0002\u0002#\u0003\u0002\u0002\u0002\u0002",
131
+ "%\u0003\u0002\u0002\u0002\u0002\'\u0003\u0002\u0002\u0002\u0002)\u0003",
132
+ "\u0002\u0002\u0002\u0002+\u0003\u0002\u0002\u0002\u0002-\u0003\u0002",
133
+ "\u0002\u0002\u0002/\u0003\u0002\u0002\u0002\u00021\u0003\u0002\u0002",
134
+ "\u0002\u00023\u0003\u0002\u0002\u0002\u00025\u0003\u0002\u0002\u0002",
135
+ "\u00027\u0003\u0002\u0002\u0002\u00029\u0003\u0002\u0002\u0002\u0002",
136
+ ";\u0003\u0002\u0002\u0002\u0002=\u0003\u0002\u0002\u0002\u0002?\u0003",
137
+ "\u0002\u0002\u0002\u0002A\u0003\u0002\u0002\u0002\u0002C\u0003\u0002",
138
+ "\u0002\u0002\u0002E\u0003\u0002\u0002\u0002\u0002G\u0003\u0002\u0002",
139
+ "\u0002\u0002I\u0003\u0002\u0002\u0002\u0002K\u0003\u0002\u0002\u0002",
140
+ "\u0002M\u0003\u0002\u0002\u0002\u0002O\u0003\u0002\u0002\u0002\u0002",
141
+ "Q\u0003\u0002\u0002\u0002\u0002S\u0003\u0002\u0002\u0002\u0002U\u0003",
142
+ "\u0002\u0002\u0002\u0002W\u0003\u0002\u0002\u0002\u0002Y\u0003\u0002",
143
+ "\u0002\u0002\u0002[\u0003\u0002\u0002\u0002\u0002]\u0003\u0002\u0002",
144
+ "\u0002\u0002_\u0003\u0002\u0002\u0002\u0002a\u0003\u0002\u0002\u0002",
145
+ "\u0002c\u0003\u0002\u0002\u0002\u0002e\u0003\u0002\u0002\u0002\u0002",
146
+ "g\u0003\u0002\u0002\u0002\u0002i\u0003\u0002\u0002\u0002\u0002k\u0003",
147
+ "\u0002\u0002\u0002\u0002m\u0003\u0002\u0002\u0002\u0002o\u0003\u0002",
148
+ "\u0002\u0002\u0002q\u0003\u0002\u0002\u0002\u0002s\u0003\u0002\u0002",
149
+ "\u0002\u0002u\u0003\u0002\u0002\u0002\u0002w\u0003\u0002\u0002\u0002",
150
+ "\u0002y\u0003\u0002\u0002\u0002\u0002{\u0003\u0002\u0002\u0002\u0002",
151
+ "}\u0003\u0002\u0002\u0002\u0002\u007f\u0003\u0002\u0002\u0002\u0002",
152
+ "\u0081\u0003\u0002\u0002\u0002\u0002\u0083\u0003\u0002\u0002\u0002\u0002",
153
+ "\u0085\u0003\u0002\u0002\u0002\u0002\u0087\u0003\u0002\u0002\u0002\u0002",
154
+ "\u0089\u0003\u0002\u0002\u0002\u0002\u008b\u0003\u0002\u0002\u0002\u0002",
155
+ "\u008d\u0003\u0002\u0002\u0002\u0002\u008f\u0003\u0002\u0002\u0002\u0002",
156
+ "\u0091\u0003\u0002\u0002\u0002\u0003\u00e5\u0003\u0002\u0002\u0002\u0005",
157
+ "\u00e9\u0003\u0002\u0002\u0002\u0007\u00f0\u0003\u0002\u0002\u0002\t",
158
+ "\u00f5\u0003\u0002\u0002\u0002\u000b\u00fa\u0003\u0002\u0002\u0002\r",
159
+ "\u0101\u0003\u0002\u0002\u0002\u000f\u010a\u0003\u0002\u0002\u0002\u0011",
160
+ "\u0111\u0003\u0002\u0002\u0002\u0013\u0119\u0003\u0002\u0002\u0002\u0015",
161
+ "\u011d\u0003\u0002\u0002\u0002\u0017\u0120\u0003\u0002\u0002\u0002\u0019",
162
+ "\u0124\u0003\u0002\u0002\u0002\u001b\u0129\u0003\u0002\u0002\u0002\u001d",
163
+ "\u0130\u0003\u0002\u0002\u0002\u001f\u013c\u0003\u0002\u0002\u0002!",
164
+ "\u0144\u0003\u0002\u0002\u0002#\u014a\u0003\u0002\u0002\u0002%\u0159",
165
+ "\u0003\u0002\u0002\u0002\'\u015f\u0003\u0002\u0002\u0002)\u0168\u0003",
166
+ "\u0002\u0002\u0002+\u016b\u0003\u0002\u0002\u0002-\u0170\u0003\u0002",
167
+ "\u0002\u0002/\u0178\u0003\u0002\u0002\u00021\u017d\u0003\u0002\u0002",
168
+ "\u00023\u0181\u0003\u0002\u0002\u00025\u0187\u0003\u0002\u0002\u0002",
169
+ "7\u018e\u0003\u0002\u0002\u00029\u0198\u0003\u0002\u0002\u0002;\u019a",
170
+ "\u0003\u0002\u0002\u0002=\u019c\u0003\u0002\u0002\u0002?\u019e\u0003",
171
+ "\u0002\u0002\u0002A\u01a0\u0003\u0002\u0002\u0002C\u01a2\u0003\u0002",
172
+ "\u0002\u0002E\u01a4\u0003\u0002\u0002\u0002G\u01a6\u0003\u0002\u0002",
173
+ "\u0002I\u01a8\u0003\u0002\u0002\u0002K\u01aa\u0003\u0002\u0002\u0002",
174
+ "M\u01ac\u0003\u0002\u0002\u0002O\u01ae\u0003\u0002\u0002\u0002Q\u01b0",
175
+ "\u0003\u0002\u0002\u0002S\u01b2\u0003\u0002\u0002\u0002U\u01b4\u0003",
176
+ "\u0002\u0002\u0002W\u01b6\u0003\u0002\u0002\u0002Y\u01b8\u0003\u0002",
177
+ "\u0002\u0002[\u01ba\u0003\u0002\u0002\u0002]\u01bc\u0003\u0002\u0002",
178
+ "\u0002_\u01bf\u0003\u0002\u0002\u0002a\u01c1\u0003\u0002\u0002\u0002",
179
+ "c\u01c4\u0003\u0002\u0002\u0002e\u01c7\u0003\u0002\u0002\u0002g\u01ca",
180
+ "\u0003\u0002\u0002\u0002i\u01cd\u0003\u0002\u0002\u0002k\u01d0\u0003",
181
+ "\u0002\u0002\u0002m\u01d8\u0003\u0002\u0002\u0002o\u01dd\u0003\u0002",
182
+ "\u0002\u0002q\u01e3\u0003\u0002\u0002\u0002s\u01e6\u0003\u0002\u0002",
183
+ "\u0002u\u01ea\u0003\u0002\u0002\u0002w\u01ec\u0003\u0002\u0002\u0002",
184
+ "y\u01ef\u0003\u0002\u0002\u0002{\u01fd\u0003\u0002\u0002\u0002}\u0201",
185
+ "\u0003\u0002\u0002\u0002\u007f\u020a\u0003\u0002\u0002\u0002\u0081\u0214",
186
+ "\u0003\u0002\u0002\u0002\u0083\u024c\u0003\u0002\u0002\u0002\u0085\u027e",
187
+ "\u0003\u0002\u0002\u0002\u0087\u0280\u0003\u0002\u0002\u0002\u0089\u0286",
188
+ "\u0003\u0002\u0002\u0002\u008b\u028d\u0003\u0002\u0002\u0002\u008d\u029a",
189
+ "\u0003\u0002\u0002\u0002\u008f\u02a8\u0003\u0002\u0002\u0002\u0091\u02b9",
190
+ "\u0003\u0002\u0002\u0002\u0093\u02c0\u0003\u0002\u0002\u0002\u0095\u02c5",
191
+ "\u0003\u0002\u0002\u0002\u0097\u02c9\u0003\u0002\u0002\u0002\u0099\u02cc",
192
+ "\u0003\u0002\u0002\u0002\u009b\u02cf\u0003\u0002\u0002\u0002\u009d\u02d2",
193
+ "\u0003\u0002\u0002\u0002\u009f\u02d6\u0003\u0002\u0002\u0002\u00a1\u02da",
194
+ "\u0003\u0002\u0002\u0002\u00a3\u02df\u0003\u0002\u0002\u0002\u00a5\u02e5",
195
+ "\u0003\u0002\u0002\u0002\u00a7\u02e8\u0003\u0002\u0002\u0002\u00a9\u02f4",
196
+ "\u0003\u0002\u0002\u0002\u00ab\u02f6\u0003\u0002\u0002\u0002\u00ad\u02f8",
197
+ "\u0003\u0002\u0002\u0002\u00af\u02fa\u0003\u0002\u0002\u0002\u00b1\u02fc",
198
+ "\u0003\u0002\u0002\u0002\u00b3\u02fe\u0003\u0002\u0002\u0002\u00b5\u0300",
199
+ "\u0003\u0002\u0002\u0002\u00b7\u0302\u0003\u0002\u0002\u0002\u00b9\u0304",
200
+ "\u0003\u0002\u0002\u0002\u00bb\u0306\u0003\u0002\u0002\u0002\u00bd\u0308",
201
+ "\u0003\u0002\u0002\u0002\u00bf\u030a\u0003\u0002\u0002\u0002\u00c1\u030c",
202
+ "\u0003\u0002\u0002\u0002\u00c3\u030e\u0003\u0002\u0002\u0002\u00c5\u0310",
203
+ "\u0003\u0002\u0002\u0002\u00c7\u0312\u0003\u0002\u0002\u0002\u00c9\u0314",
204
+ "\u0003\u0002\u0002\u0002\u00cb\u0316\u0003\u0002\u0002\u0002\u00cd\u0318",
205
+ "\u0003\u0002\u0002\u0002\u00cf\u031a\u0003\u0002\u0002\u0002\u00d1\u031c",
206
+ "\u0003\u0002\u0002\u0002\u00d3\u031e\u0003\u0002\u0002\u0002\u00d5\u0320",
207
+ "\u0003\u0002\u0002\u0002\u00d7\u0322\u0003\u0002\u0002\u0002\u00d9\u0324",
208
+ "\u0003\u0002\u0002\u0002\u00db\u0326\u0003\u0002\u0002\u0002\u00dd\u0328",
209
+ "\u0003\u0002\u0002\u0002\u00df\u032a\u0003\u0002\u0002\u0002\u00e1\u032c",
210
+ "\u0003\u0002\u0002\u0002\u00e3\u032e\u0003\u0002\u0002\u0002\u00e5\u00e6",
211
+ "\u0007H\u0002\u0002\u00e6\u00e7\u0007Q\u0002\u0002\u00e7\u00e8\u0007",
212
+ "T\u0002\u0002\u00e8\u0004\u0003\u0002\u0002\u0002\u00e9\u00ea\u0007",
213
+ "R\u0002\u0002\u00ea\u00eb\u0007W\u0002\u0002\u00eb\u00ec\u0007D\u0002",
214
+ "\u0002\u00ec\u00ed\u0007N\u0002\u0002\u00ed\u00ee\u0007K\u0002\u0002",
215
+ "\u00ee\u00ef\u0007E\u0002\u0002\u00ef\u0006\u0003\u0002\u0002\u0002",
216
+ "\u00f0\u00f1\u0007P\u0002\u0002\u00f1\u00f2\u0007Q\u0002\u0002\u00f2",
217
+ "\u00f3\u0007F\u0002\u0002\u00f3\u00f4\u0007G\u0002\u0002\u00f4\b\u0003",
218
+ "\u0002\u0002\u0002\u00f5\u00f6\u0007W\u0002\u0002\u00f6\u00f7\u0007",
219
+ "U\u0002\u0002\u00f7\u00f8\u0007G\u0002\u0002\u00f8\u00f9\u0007T\u0002",
220
+ "\u0002\u00f9\n\u0003\u0002\u0002\u0002\u00fa\u00fb\u0007r\u0002\u0002",
221
+ "\u00fb\u00fc\u0007q\u0002\u0002\u00fc\u00fd\u0007n\u0002\u0002\u00fd",
222
+ "\u00fe\u0007k\u0002\u0002\u00fe\u00ff\u0007e\u0002\u0002\u00ff\u0100",
223
+ "\u0007{\u0002\u0002\u0100\f\u0003\u0002\u0002\u0002\u0101\u0102\u0007",
224
+ "e\u0002\u0002\u0102\u0103\u0007q\u0002\u0002\u0103\u0104\u0007p\u0002",
225
+ "\u0002\u0104\u0105\u0007v\u0002\u0002\u0105\u0106\u0007t\u0002\u0002",
226
+ "\u0106\u0107\u0007c\u0002\u0002\u0107\u0108\u0007e\u0002\u0002\u0108",
227
+ "\u0109\u0007v\u0002\u0002\u0109\u000e\u0003\u0002\u0002\u0002\u010a",
228
+ "\u010b\u0007G\u0002\u0002\u010b\u010c\u0007p\u0002\u0002\u010c\u010d",
229
+ "\u0007v\u0002\u0002\u010d\u010e\u0007k\u0002\u0002\u010e\u010f\u0007",
230
+ "v\u0002\u0002\u010f\u0110\u0007{\u0002\u0002\u0110\u0010\u0003\u0002",
231
+ "\u0002\u0002\u0111\u0112\u0007f\u0002\u0002\u0112\u0113\u0007g\u0002",
232
+ "\u0002\u0113\u0114\u0007h\u0002\u0002\u0114\u0115\u0007G\u0002\u0002",
233
+ "\u0115\u0116\u0007z\u0002\u0002\u0116\u0117\u0007r\u0002\u0002\u0117",
234
+ "\u0118\u0007t\u0002\u0002\u0118\u0012\u0003\u0002\u0002\u0002\u0119",
235
+ "\u011a\u0007c\u0002\u0002\u011a\u011b\u0007p\u0002\u0002\u011b\u011c",
236
+ "\u0007f\u0002\u0002\u011c\u0014\u0003\u0002\u0002\u0002\u011d\u011e",
237
+ "\u0007q\u0002\u0002\u011e\u011f\u0007t\u0002\u0002\u011f\u0016\u0003",
238
+ "\u0002\u0002\u0002\u0120\u0121\u0007p\u0002\u0002\u0121\u0122\u0007",
239
+ "q\u0002\u0002\u0122\u0123\u0007v\u0002\u0002\u0123\u0018\u0003\u0002",
240
+ "\u0002\u0002\u0124\u0125\u0007n\u0002\u0002\u0125\u0126\u0007g\u0002",
241
+ "\u0002\u0126\u0127\u0007u\u0002\u0002\u0127\u0128\u0007u\u0002\u0002",
242
+ "\u0128\u001a\u0003\u0002\u0002\u0002\u0129\u012a\u0007d\u0002\u0002",
243
+ "\u012a\u012b\u0007g\u0002\u0002\u012b\u012c\u0007h\u0002\u0002\u012c",
244
+ "\u012d\u0007q\u0002\u0002\u012d\u012e\u0007t\u0002\u0002\u012e\u012f",
245
+ "\u0007g\u0002\u0002\u012f\u001c\u0003\u0002\u0002\u0002\u0130\u0131",
246
+ "\u0007n\u0002\u0002\u0131\u0132\u0007g\u0002\u0002\u0132\u0133\u0007",
247
+ "u\u0002\u0002\u0133\u0134\u0007u\u0002\u0002\u0134\u0135\u0007Q\u0002",
248
+ "\u0002\u0135\u0136\u0007t\u0002\u0002\u0136\u0137\u0007G\u0002\u0002",
249
+ "\u0137\u0138\u0007s\u0002\u0002\u0138\u0139\u0007w\u0002\u0002\u0139",
250
+ "\u013a\u0007c\u0002\u0002\u013a\u013b\u0007n\u0002\u0002\u013b\u001e",
251
+ "\u0003\u0002\u0002\u0002\u013c\u013d\u0007i\u0002\u0002\u013d\u013e",
252
+ "\u0007t\u0002\u0002\u013e\u013f\u0007g\u0002\u0002\u013f\u0140\u0007",
253
+ "c\u0002\u0002\u0140\u0141\u0007v\u0002\u0002\u0141\u0142\u0007g\u0002",
254
+ "\u0002\u0142\u0143\u0007t\u0002\u0002\u0143 \u0003\u0002\u0002\u0002",
255
+ "\u0144\u0145\u0007c\u0002\u0002\u0145\u0146\u0007h\u0002\u0002\u0146",
256
+ "\u0147\u0007v\u0002\u0002\u0147\u0148\u0007g\u0002\u0002\u0148\u0149",
257
+ "\u0007t\u0002\u0002\u0149\"\u0003\u0002\u0002\u0002\u014a\u014b\u0007",
258
+ "i\u0002\u0002\u014b\u014c\u0007t\u0002\u0002\u014c\u014d\u0007g\u0002",
259
+ "\u0002\u014d\u014e\u0007c\u0002\u0002\u014e\u014f\u0007v\u0002\u0002",
260
+ "\u014f\u0150\u0007g\u0002\u0002\u0150\u0151\u0007t\u0002\u0002\u0151",
261
+ "\u0152\u0007Q\u0002\u0002\u0152\u0153\u0007t\u0002\u0002\u0153\u0154",
262
+ "\u0007G\u0002\u0002\u0154\u0155\u0007s\u0002\u0002\u0155\u0156\u0007",
263
+ "w\u0002\u0002\u0156\u0157\u0007c\u0002\u0002\u0157\u0158\u0007n\u0002",
264
+ "\u0002\u0158$\u0003\u0002\u0002\u0002\u0159\u015a\u0007g\u0002\u0002",
265
+ "\u015a\u015b\u0007s\u0002\u0002\u015b\u015c\u0007w\u0002\u0002\u015c",
266
+ "\u015d\u0007c\u0002\u0002\u015d\u015e\u0007n\u0002\u0002\u015e&\u0003",
267
+ "\u0002\u0002\u0002\u015f\u0160\u0007p\u0002\u0002\u0160\u0161\u0007",
268
+ "q\u0002\u0002\u0161\u0162\u0007v\u0002\u0002\u0162\u0163\u0007G\u0002",
269
+ "\u0002\u0163\u0164\u0007s\u0002\u0002\u0164\u0165\u0007w\u0002\u0002",
270
+ "\u0165\u0166\u0007c\u0002\u0002\u0166\u0167\u0007n\u0002\u0002\u0167",
271
+ "(\u0003\u0002\u0002\u0002\u0168\u0169\u0007k\u0002\u0002\u0169\u016a",
272
+ "\u0007p\u0002\u0002\u016a*\u0003\u0002\u0002\u0002\u016b\u016c\u0007",
273
+ "P\u0002\u0002\u016c\u016d\u0007q\u0002\u0002\u016d\u016e\u0007p\u0002",
274
+ "\u0002\u016e\u016f\u0007g\u0002\u0002\u016f,\u0003\u0002\u0002\u0002",
275
+ "\u0170\u0171\u0007R\u0002\u0002\u0171\u0172\u0007c\u0002\u0002\u0172",
276
+ "\u0173\u0007t\u0002\u0002\u0173\u0174\u0007v\u0002\u0002\u0174\u0175",
277
+ "\u0007k\u0002\u0002\u0175\u0176\u0007c\u0002\u0002\u0176\u0177\u0007",
278
+ "n\u0002\u0002\u0177.\u0003\u0002\u0002\u0002\u0178\u0179\u0007H\u0002",
279
+ "\u0002\u0179\u017a\u0007w\u0002\u0002\u017a\u017b\u0007n\u0002\u0002",
280
+ "\u017b\u017c\u0007n\u0002\u0002\u017c0\u0003\u0002\u0002\u0002\u017d",
281
+ "\u017e\u0007n\u0002\u0002\u017e\u017f\u0007g\u0002\u0002\u017f\u0180",
282
+ "\u0007v\u0002\u0002\u01802\u0003\u0002\u0002\u0002\u0181\u0182\u0007",
283
+ "G\u0002\u0002\u0182\u0183\u0007x\u0002\u0002\u0183\u0184\u0007g\u0002",
284
+ "\u0002\u0184\u0185\u0007p\u0002\u0002\u0185\u0186\u0007v\u0002\u0002",
285
+ "\u01864\u0003\u0002\u0002\u0002\u0187\u0188\u0007&\u0002\u0002\u0188",
286
+ "\u0189\u0007g\u0002\u0002\u0189\u018a\u0007x\u0002\u0002\u018a\u018b",
287
+ "\u0007g\u0002\u0002\u018b\u018c\u0007p\u0002\u0002\u018c\u018d\u0007",
288
+ "v\u0002\u0002\u018d6\u0003\u0002\u0002\u0002\u018e\u018f\u0007v\u0002",
289
+ "\u0002\u018f\u0190\u0007g\u0002\u0002\u0190\u0191\u0007t\u0002\u0002",
290
+ "\u0191\u0192\u0007o\u0002\u0002\u0192\u0193\u0007k\u0002\u0002\u0193",
291
+ "\u0194\u0007p\u0002\u0002\u0194\u0195\u0007c\u0002\u0002\u0195\u0196",
292
+ "\u0007v\u0002\u0002\u0196\u0197\u0007g\u0002\u0002\u01978\u0003\u0002",
293
+ "\u0002\u0002\u0198\u0199\u0007.\u0002\u0002\u0199:\u0003\u0002\u0002",
294
+ "\u0002\u019a\u019b\u00070\u0002\u0002\u019b<\u0003\u0002\u0002\u0002",
295
+ "\u019c\u019d\u0007<\u0002\u0002\u019d>\u0003\u0002\u0002\u0002\u019e",
296
+ "\u019f\u0007=\u0002\u0002\u019f@\u0003\u0002\u0002\u0002\u01a0\u01a1",
297
+ "\u0007>\u0002\u0002\u01a1B\u0003\u0002\u0002\u0002\u01a2\u01a3\u0007",
298
+ "@\u0002\u0002\u01a3D\u0003\u0002\u0002\u0002\u01a4\u01a5\u0007*\u0002",
299
+ "\u0002\u01a5F\u0003\u0002\u0002\u0002\u01a6\u01a7\u0007+\u0002\u0002",
300
+ "\u01a7H\u0003\u0002\u0002\u0002\u01a8\u01a9\u0007]\u0002\u0002\u01a9",
301
+ "J\u0003\u0002\u0002\u0002\u01aa\u01ab\u0007_\u0002\u0002\u01abL\u0003",
302
+ "\u0002\u0002\u0002\u01ac\u01ad\u0007}\u0002\u0002\u01adN\u0003\u0002",
303
+ "\u0002\u0002\u01ae\u01af\u0007\u007f\u0002\u0002\u01afP\u0003\u0002",
304
+ "\u0002\u0002\u01b0\u01b1\u0007-\u0002\u0002\u01b1R\u0003\u0002\u0002",
305
+ "\u0002\u01b2\u01b3\u0007/\u0002\u0002\u01b3T\u0003\u0002\u0002\u0002",
306
+ "\u01b4\u01b5\u0007,\u0002\u0002\u01b5V\u0003\u0002\u0002\u0002\u01b6",
307
+ "\u01b7\u00071\u0002\u0002\u01b7X\u0003\u0002\u0002\u0002\u01b8\u01b9",
308
+ "\u0007`\u0002\u0002\u01b9Z\u0003\u0002\u0002\u0002\u01ba\u01bb\u0007",
309
+ "?\u0002\u0002\u01bb\\\u0003\u0002\u0002\u0002\u01bc\u01bd\u0007?\u0002",
310
+ "\u0002\u01bd\u01be\u0007?\u0002\u0002\u01be^\u0003\u0002\u0002\u0002",
311
+ "\u01bf\u01c0\u0007\u0080\u0002\u0002\u01c0`\u0003\u0002\u0002\u0002",
312
+ "\u01c1\u01c2\u0007>\u0002\u0002\u01c2\u01c3\u0007?\u0002\u0002\u01c3",
313
+ "b\u0003\u0002\u0002\u0002\u01c4\u01c5\u0007@\u0002\u0002\u01c5\u01c6",
314
+ "\u0007?\u0002\u0002\u01c6d\u0003\u0002\u0002\u0002\u01c7\u01c8\u0007",
315
+ "#\u0002\u0002\u01c8\u01c9\u0007?\u0002\u0002\u01c9f\u0003\u0002\u0002",
316
+ "\u0002\u01ca\u01cb\u0007/\u0002\u0002\u01cb\u01cc\u0007@\u0002\u0002",
317
+ "\u01cch\u0003\u0002\u0002\u0002\u01cd\u01ce\u0007>\u0002\u0002\u01ce",
318
+ "\u01cf\u0007/\u0002\u0002\u01cfj\u0003\u0002\u0002\u0002\u01d0\u01d6",
319
+ "\u0005\u00a7T\u0002\u01d1\u01d3\t\u0002\u0002\u0002\u01d2\u01d4\u0005",
320
+ "\u00a5S\u0002\u01d3\u01d2\u0003\u0002\u0002\u0002\u01d3\u01d4\u0003",
321
+ "\u0002\u0002\u0002\u01d4\u01d5\u0003\u0002\u0002\u0002\u01d5\u01d7\u0005",
322
+ "\u00a7T\u0002\u01d6\u01d1\u0003\u0002\u0002\u0002\u01d6\u01d7\u0003",
323
+ "\u0002\u0002\u0002\u01d7l\u0003\u0002\u0002\u0002\u01d8\u01d9\u0007",
324
+ "v\u0002\u0002\u01d9\u01da\u0007t\u0002\u0002\u01da\u01db\u0007w\u0002",
325
+ "\u0002\u01db\u01dc\u0007g\u0002\u0002\u01dcn\u0003\u0002\u0002\u0002",
326
+ "\u01dd\u01de\u0007h\u0002\u0002\u01de\u01df\u0007c\u0002\u0002\u01df",
327
+ "\u01e0\u0007n\u0002\u0002\u01e0\u01e1\u0007u\u0002\u0002\u01e1\u01e2",
328
+ "\u0007g\u0002\u0002\u01e2p\u0003\u0002\u0002\u0002\u01e3\u01e4\u0007",
329
+ "r\u0002\u0002\u01e4\u01e5\u0007k\u0002\u0002\u01e5r\u0003\u0002\u0002",
330
+ "\u0002\u01e6\u01e7\u0007g\u0002\u0002\u01e7t\u0003\u0002\u0002\u0002",
331
+ "\u01e8\u01eb\u0005w<\u0002\u01e9\u01eb\u0005y=\u0002\u01ea\u01e8\u0003",
332
+ "\u0002\u0002\u0002\u01ea\u01e9\u0003\u0002\u0002\u0002\u01ebv\u0003",
333
+ "\u0002\u0002\u0002\u01ec\u01ed\u0005\u009fP\u0002\u01edx\u0003\u0002",
334
+ "\u0002\u0002\u01ee\u01f0\u0005\u0093J\u0002\u01ef\u01ee\u0003\u0002",
335
+ "\u0002\u0002\u01f0\u01f1\u0003\u0002\u0002\u0002\u01f1\u01ef\u0003\u0002",
336
+ "\u0002\u0002\u01f1\u01f2\u0003\u0002\u0002\u0002\u01f2\u01f3\u0003\u0002",
337
+ "\u0002\u0002\u01f3\u01f4\u0007B\u0002\u0002\u01f4\u01f9\u0005\u0095",
338
+ "K\u0002\u01f5\u01f6\u00070\u0002\u0002\u01f6\u01f8\u0005\u0095K\u0002",
339
+ "\u01f7\u01f5\u0003\u0002\u0002\u0002\u01f8\u01fb\u0003\u0002\u0002\u0002",
340
+ "\u01f9\u01f7\u0003\u0002\u0002\u0002\u01f9\u01fa\u0003\u0002\u0002\u0002",
341
+ "\u01faz\u0003\u0002\u0002\u0002\u01fb\u01f9\u0003\u0002\u0002\u0002",
342
+ "\u01fc\u01fe\u0005\u00a9U\u0002\u01fd\u01fc\u0003\u0002\u0002\u0002",
343
+ "\u01fe\u01ff\u0003\u0002\u0002\u0002\u01ff\u01fd\u0003\u0002\u0002\u0002",
344
+ "\u01ff\u0200\u0003\u0002\u0002\u0002\u0200|\u0003\u0002\u0002\u0002",
345
+ "\u0201\u0207\u0005\u00adW\u0002\u0202\u0206\u0005\u00adW\u0002\u0203",
346
+ "\u0206\u0005\u00a9U\u0002\u0204\u0206\u0007a\u0002\u0002\u0205\u0202",
347
+ "\u0003\u0002\u0002\u0002\u0205\u0203\u0003\u0002\u0002\u0002\u0205\u0204",
348
+ "\u0003\u0002\u0002\u0002\u0206\u0209\u0003\u0002\u0002\u0002\u0207\u0205",
349
+ "\u0003\u0002\u0002\u0002\u0207\u0208\u0003\u0002\u0002\u0002\u0208~",
350
+ "\u0003\u0002\u0002\u0002\u0209\u0207\u0003\u0002\u0002\u0002\u020a\u020f",
351
+ "\u0007$\u0002\u0002\u020b\u020e\u0005\u00a1Q\u0002\u020c\u020e\n\u0003",
352
+ "\u0002\u0002\u020d\u020b\u0003\u0002\u0002\u0002\u020d\u020c\u0003\u0002",
353
+ "\u0002\u0002\u020e\u0211\u0003\u0002\u0002\u0002\u020f\u020d\u0003\u0002",
354
+ "\u0002\u0002\u020f\u0210\u0003\u0002\u0002\u0002\u0210\u0212\u0003\u0002",
355
+ "\u0002\u0002\u0211\u020f\u0003\u0002\u0002\u0002\u0212\u0213\u0007$",
356
+ "\u0002\u0002\u0213\u0080\u0003\u0002\u0002\u0002\u0214\u0217\u0007>",
357
+ "\u0002\u0002\u0215\u0218\u0005\u00a1Q\u0002\u0216\u0218\n\u0004\u0002",
358
+ "\u0002\u0217\u0215\u0003\u0002\u0002\u0002\u0217\u0216\u0003\u0002\u0002",
359
+ "\u0002\u0218\u0219\u0003\u0002\u0002\u0002\u0219\u0217\u0003\u0002\u0002",
360
+ "\u0002\u0219\u021a\u0003\u0002\u0002\u0002\u021a\u021b\u0003\u0002\u0002",
361
+ "\u0002\u021b\u021c\u0007@\u0002\u0002\u021c\u0082\u0003\u0002\u0002",
362
+ "\u0002\u021d\u021f\u0005\u00a9U\u0002\u021e\u021d\u0003\u0002\u0002",
363
+ "\u0002\u021f\u0220\u0003\u0002\u0002\u0002\u0220\u021e\u0003\u0002\u0002",
364
+ "\u0002\u0220\u0221\u0003\u0002\u0002\u0002\u0221\u0228\u0003\u0002\u0002",
365
+ "\u0002\u0222\u0224\u00070\u0002\u0002\u0223\u0225\u0005\u00a9U\u0002",
366
+ "\u0224\u0223\u0003\u0002\u0002\u0002\u0225\u0226\u0003\u0002\u0002\u0002",
367
+ "\u0226\u0224\u0003\u0002\u0002\u0002\u0226\u0227\u0003\u0002\u0002\u0002",
368
+ "\u0227\u0229\u0003\u0002\u0002\u0002\u0228\u0222\u0003\u0002\u0002\u0002",
369
+ "\u0228\u0229\u0003\u0002\u0002\u0002\u0229\u0233\u0003\u0002\u0002\u0002",
370
+ "\u022a\u022c\u0005\u00b9]\u0002\u022b\u022d\t\u0005\u0002\u0002\u022c",
371
+ "\u022b\u0003\u0002\u0002\u0002\u022c\u022d\u0003\u0002\u0002\u0002\u022d",
372
+ "\u022f\u0003\u0002\u0002\u0002\u022e\u0230\u0005\u00a9U\u0002\u022f",
373
+ "\u022e\u0003\u0002\u0002\u0002\u0230\u0231\u0003\u0002\u0002\u0002\u0231",
374
+ "\u022f\u0003\u0002\u0002\u0002\u0231\u0232\u0003\u0002\u0002\u0002\u0232",
375
+ "\u0234\u0003\u0002\u0002\u0002\u0233\u022a\u0003\u0002\u0002\u0002\u0233",
376
+ "\u0234\u0003\u0002\u0002\u0002\u0234\u0236\u0003\u0002\u0002\u0002\u0235",
377
+ "\u0237\t\u0006\u0002\u0002\u0236\u0235\u0003\u0002\u0002\u0002\u0236",
378
+ "\u0237\u0003\u0002\u0002\u0002\u0237\u024d\u0003\u0002\u0002\u0002\u0238",
379
+ "\u023a\u00070\u0002\u0002\u0239\u023b\u0005\u00a9U\u0002\u023a\u0239",
380
+ "\u0003\u0002\u0002\u0002\u023b\u023c\u0003\u0002\u0002\u0002\u023c\u023a",
381
+ "\u0003\u0002\u0002\u0002\u023c\u023d\u0003\u0002\u0002\u0002\u023d\u0247",
382
+ "\u0003\u0002\u0002\u0002\u023e\u0240\u0005\u00b9]\u0002\u023f\u0241",
383
+ "\t\u0005\u0002\u0002\u0240\u023f\u0003\u0002\u0002\u0002\u0240\u0241",
384
+ "\u0003\u0002\u0002\u0002\u0241\u0243\u0003\u0002\u0002\u0002\u0242\u0244",
385
+ "\u0005\u00a9U\u0002\u0243\u0242\u0003\u0002\u0002\u0002\u0244\u0245",
386
+ "\u0003\u0002\u0002\u0002\u0245\u0243\u0003\u0002\u0002\u0002\u0245\u0246",
387
+ "\u0003\u0002\u0002\u0002\u0246\u0248\u0003\u0002\u0002\u0002\u0247\u023e",
388
+ "\u0003\u0002\u0002\u0002\u0247\u0248\u0003\u0002\u0002\u0002\u0248\u024a",
389
+ "\u0003\u0002\u0002\u0002\u0249\u024b\t\u0006\u0002\u0002\u024a\u0249",
390
+ "\u0003\u0002\u0002\u0002\u024a\u024b\u0003\u0002\u0002\u0002\u024b\u024d",
391
+ "\u0003\u0002\u0002\u0002\u024c\u021e\u0003\u0002\u0002\u0002\u024c\u0238",
392
+ "\u0003\u0002\u0002\u0002\u024d\u0084\u0003\u0002\u0002\u0002\u024e\u024f",
393
+ "\u0007e\u0002\u0002\u024f\u0250\u0007{\u0002\u0002\u0250\u0251\u0007",
394
+ "e\u0002\u0002\u0251\u0252\u0007n\u0002\u0002\u0252\u025a\u0007g\u0002",
395
+ "\u0002\u0253\u0254\u0007e\u0002\u0002\u0254\u0255\u0007{\u0002\u0002",
396
+ "\u0255\u0256\u0007e\u0002\u0002\u0256\u0257\u0007n\u0002\u0002\u0257",
397
+ "\u0258\u0007g\u0002\u0002\u0258\u025a\u0007u\u0002\u0002\u0259\u024e",
398
+ "\u0003\u0002\u0002\u0002\u0259\u0253\u0003\u0002\u0002\u0002\u025a\u027f",
399
+ "\u0003\u0002\u0002\u0002\u025b\u025c\u0007y\u0002\u0002\u025c\u025d",
400
+ "\u0007g\u0002\u0002\u025d\u025e\u0007g\u0002\u0002\u025e\u0265\u0007",
401
+ "m\u0002\u0002\u025f\u0260\u0007y\u0002\u0002\u0260\u0261\u0007g\u0002",
402
+ "\u0002\u0261\u0262\u0007g\u0002\u0002\u0262\u0263\u0007m\u0002\u0002",
403
+ "\u0263\u0265\u0007u\u0002\u0002\u0264\u025b\u0003\u0002\u0002\u0002",
404
+ "\u0264\u025f\u0003\u0002\u0002\u0002\u0265\u027f\u0003\u0002\u0002\u0002",
405
+ "\u0266\u0267\u0007o\u0002\u0002\u0267\u0268\u0007q\u0002\u0002\u0268",
406
+ "\u0269\u0007p\u0002\u0002\u0269\u026a\u0007v\u0002\u0002\u026a\u0272",
407
+ "\u0007j\u0002\u0002\u026b\u026c\u0007o\u0002\u0002\u026c\u026d\u0007",
408
+ "q\u0002\u0002\u026d\u026e\u0007p\u0002\u0002\u026e\u026f\u0007v\u0002",
409
+ "\u0002\u026f\u0270\u0007j\u0002\u0002\u0270\u0272\u0007u\u0002\u0002",
410
+ "\u0271\u0266\u0003\u0002\u0002\u0002\u0271\u026b\u0003\u0002\u0002\u0002",
411
+ "\u0272\u027f\u0003\u0002\u0002\u0002\u0273\u0274\u0007{\u0002\u0002",
412
+ "\u0274\u0275\u0007g\u0002\u0002\u0275\u0276\u0007c\u0002\u0002\u0276",
413
+ "\u027d\u0007t\u0002\u0002\u0277\u0278\u0007{\u0002\u0002\u0278\u0279",
414
+ "\u0007g\u0002\u0002\u0279\u027a\u0007c\u0002\u0002\u027a\u027b\u0007",
415
+ "t\u0002\u0002\u027b\u027d\u0007u\u0002\u0002\u027c\u0273\u0003\u0002",
416
+ "\u0002\u0002\u027c\u0277\u0003\u0002\u0002\u0002\u027d\u027f\u0003\u0002",
417
+ "\u0002\u0002\u027e\u0259\u0003\u0002\u0002\u0002\u027e\u0264\u0003\u0002",
418
+ "\u0002\u0002\u027e\u0271\u0003\u0002\u0002\u0002\u027e\u027c\u0003\u0002",
419
+ "\u0002\u0002\u027f\u0086\u0003\u0002\u0002\u0002\u0280\u0281\u0005\u009b",
420
+ "N\u0002\u0281\u0282\u0007/\u0002\u0002\u0282\u0283\u0005\u0097L\u0002",
421
+ "\u0283\u0284\u0007/\u0002\u0002\u0284\u0285\u0005\u0097L\u0002\u0285",
422
+ "\u0088\u0003\u0002\u0002\u0002\u0286\u0287\u0005\u0097L\u0002\u0287",
423
+ "\u0288\u0007<\u0002\u0002\u0288\u028b\u0005\u0097L\u0002\u0289\u028a",
424
+ "\u0007<\u0002\u0002\u028a\u028c\u0005\u0097L\u0002\u028b\u0289\u0003",
425
+ "\u0002\u0002\u0002\u028b\u028c\u0003\u0002\u0002\u0002\u028c\u008a\u0003",
426
+ "\u0002\u0002\u0002\u028d\u028f\u0007&\u0002\u0002\u028e\u0290\u0005",
427
+ "\u00a9U\u0002\u028f\u028e\u0003\u0002\u0002\u0002\u0290\u0291\u0003",
428
+ "\u0002\u0002\u0002\u0291\u028f\u0003\u0002\u0002\u0002\u0291\u0292\u0003",
429
+ "\u0002\u0002\u0002\u0292\u0298\u0003\u0002\u0002\u0002\u0293\u0294\u0007",
430
+ "0\u0002\u0002\u0294\u0296\u0005\u00a9U\u0002\u0295\u0297\u0005\u00a9",
431
+ "U\u0002\u0296\u0295\u0003\u0002\u0002\u0002\u0296\u0297\u0003\u0002",
432
+ "\u0002\u0002\u0297\u0299\u0003\u0002\u0002\u0002\u0298\u0293\u0003\u0002",
433
+ "\u0002\u0002\u0298\u0299\u0003\u0002\u0002\u0002\u0299\u008c\u0003\u0002",
434
+ "\u0002\u0002\u029a\u029b\u00071\u0002\u0002\u029b\u029c\u0007,\u0002",
435
+ "\u0002\u029c\u02a0\u0003\u0002\u0002\u0002\u029d\u029f\u000b\u0002\u0002",
436
+ "\u0002\u029e\u029d\u0003\u0002\u0002\u0002\u029f\u02a2\u0003\u0002\u0002",
437
+ "\u0002\u02a0\u02a1\u0003\u0002\u0002\u0002\u02a0\u029e\u0003\u0002\u0002",
438
+ "\u0002\u02a1\u02a3\u0003\u0002\u0002\u0002\u02a2\u02a0\u0003\u0002\u0002",
439
+ "\u0002\u02a3\u02a4\u0007,\u0002\u0002\u02a4\u02a5\u00071\u0002\u0002",
440
+ "\u02a5\u02a6\u0003\u0002\u0002\u0002\u02a6\u02a7\bG\u0002\u0002\u02a7",
441
+ "\u008e\u0003\u0002\u0002\u0002\u02a8\u02a9\u00071\u0002\u0002\u02a9",
442
+ "\u02aa\u00071\u0002\u0002\u02aa\u02ae\u0003\u0002\u0002\u0002\u02ab",
443
+ "\u02ad\u000b\u0002\u0002\u0002\u02ac\u02ab\u0003\u0002\u0002\u0002\u02ad",
444
+ "\u02b0\u0003\u0002\u0002\u0002\u02ae\u02af\u0003\u0002\u0002\u0002\u02ae",
445
+ "\u02ac\u0003\u0002\u0002\u0002\u02af\u02b2\u0003\u0002\u0002\u0002\u02b0",
446
+ "\u02ae\u0003\u0002\u0002\u0002\u02b1\u02b3\u0007\u000f\u0002\u0002\u02b2",
447
+ "\u02b1\u0003\u0002\u0002\u0002\u02b2\u02b3\u0003\u0002\u0002\u0002\u02b3",
448
+ "\u02b4\u0003\u0002\u0002\u0002\u02b4\u02b5\u0007\f\u0002\u0002\u02b5",
449
+ "\u02b6\u0003\u0002\u0002\u0002\u02b6\u02b7\bH\u0002\u0002\u02b7\u0090",
450
+ "\u0003\u0002\u0002\u0002\u02b8\u02ba\t\u0007\u0002\u0002\u02b9\u02b8",
451
+ "\u0003\u0002\u0002\u0002\u02ba\u02bb\u0003\u0002\u0002\u0002\u02bb\u02b9",
452
+ "\u0003\u0002\u0002\u0002\u02bb\u02bc\u0003\u0002\u0002\u0002\u02bc\u02bd",
453
+ "\u0003\u0002\u0002\u0002\u02bd\u02be\bI\u0002\u0002\u02be\u0092\u0003",
454
+ "\u0002\u0002\u0002\u02bf\u02c1\t\b\u0002\u0002\u02c0\u02bf\u0003\u0002",
455
+ "\u0002\u0002\u02c1\u02c2\u0003\u0002\u0002\u0002\u02c2\u02c0\u0003\u0002",
456
+ "\u0002\u0002\u02c2\u02c3\u0003\u0002\u0002\u0002\u02c3\u0094\u0003\u0002",
457
+ "\u0002\u0002\u02c4\u02c6\t\b\u0002\u0002\u02c5\u02c4\u0003\u0002\u0002",
458
+ "\u0002\u02c6\u02c7\u0003\u0002\u0002\u0002\u02c7\u02c5\u0003\u0002\u0002",
459
+ "\u0002\u02c7\u02c8\u0003\u0002\u0002\u0002\u02c8\u0096\u0003\u0002\u0002",
460
+ "\u0002\u02c9\u02ca\u0005\u00a9U\u0002\u02ca\u02cb\u0005\u00a9U\u0002",
461
+ "\u02cb\u0098\u0003\u0002\u0002\u0002\u02cc\u02cd\u0005\u0097L\u0002",
462
+ "\u02cd\u02ce\u0005\u00a9U\u0002\u02ce\u009a\u0003\u0002\u0002\u0002",
463
+ "\u02cf\u02d0\u0005\u0097L\u0002\u02d0\u02d1\u0005\u0097L\u0002\u02d1",
464
+ "\u009c\u0003\u0002\u0002\u0002\u02d2\u02d3\u0005\u009bN\u0002\u02d3",
465
+ "\u02d4\u0005\u009bN\u0002\u02d4\u02d5\u0005\u00a9U\u0002\u02d5\u009e",
466
+ "\u0003\u0002\u0002\u0002\u02d6\u02d7\u0005\u009bN\u0002\u02d7\u02d8",
467
+ "\u0005\u009bN\u0002\u02d8\u02d9\u0005\u0099M\u0002\u02d9\u00a0\u0003",
468
+ "\u0002\u0002\u0002\u02da\u02dd\u0007^\u0002\u0002\u02db\u02de\t\t\u0002",
469
+ "\u0002\u02dc\u02de\u0005\u00a3R\u0002\u02dd\u02db\u0003\u0002\u0002",
470
+ "\u0002\u02dd\u02dc\u0003\u0002\u0002\u0002\u02de\u00a2\u0003\u0002\u0002",
471
+ "\u0002\u02df\u02e0\u0007w\u0002\u0002\u02e0\u02e1\u0005\u00abV\u0002",
472
+ "\u02e1\u02e2\u0005\u00abV\u0002\u02e2\u02e3\u0005\u00abV\u0002\u02e3",
473
+ "\u02e4\u0005\u00abV\u0002\u02e4\u00a4\u0003\u0002\u0002\u0002\u02e5",
474
+ "\u02e6\t\u0005\u0002\u0002\u02e6\u00a6\u0003\u0002\u0002\u0002\u02e7",
475
+ "\u02e9\u0005\u00a9U\u0002\u02e8\u02e7\u0003\u0002\u0002\u0002\u02e9",
476
+ "\u02ea\u0003\u0002\u0002\u0002\u02ea\u02e8\u0003\u0002\u0002\u0002\u02ea",
477
+ "\u02eb\u0003\u0002\u0002\u0002\u02eb\u02f2\u0003\u0002\u0002\u0002\u02ec",
478
+ "\u02ee\u00070\u0002\u0002\u02ed\u02ef\u0005\u00a9U\u0002\u02ee\u02ed",
479
+ "\u0003\u0002\u0002\u0002\u02ef\u02f0\u0003\u0002\u0002\u0002\u02f0\u02ee",
480
+ "\u0003\u0002\u0002\u0002\u02f0\u02f1\u0003\u0002\u0002\u0002\u02f1\u02f3",
481
+ "\u0003\u0002\u0002\u0002\u02f2\u02ec\u0003\u0002\u0002\u0002\u02f2\u02f3",
482
+ "\u0003\u0002\u0002\u0002\u02f3\u00a8\u0003\u0002\u0002\u0002\u02f4\u02f5",
483
+ "\t\n\u0002\u0002\u02f5\u00aa\u0003\u0002\u0002\u0002\u02f6\u02f7\t\u000b",
484
+ "\u0002\u0002\u02f7\u00ac\u0003\u0002\u0002\u0002\u02f8\u02f9\t\f\u0002",
485
+ "\u0002\u02f9\u00ae\u0003\u0002\u0002\u0002\u02fa\u02fb\u0004\u4e02\u9ff1",
486
+ "\u0002\u02fb\u00b0\u0003\u0002\u0002\u0002\u02fc\u02fd\t\r\u0002\u0002",
487
+ "\u02fd\u00b2\u0003\u0002\u0002\u0002\u02fe\u02ff\t\u000e\u0002\u0002",
488
+ "\u02ff\u00b4\u0003\u0002\u0002\u0002\u0300\u0301\t\u000f\u0002\u0002",
489
+ "\u0301\u00b6\u0003\u0002\u0002\u0002\u0302\u0303\t\u0010\u0002\u0002",
490
+ "\u0303\u00b8\u0003\u0002\u0002\u0002\u0304\u0305\t\u0002\u0002\u0002",
491
+ "\u0305\u00ba\u0003\u0002\u0002\u0002\u0306\u0307\t\u0011\u0002\u0002",
492
+ "\u0307\u00bc\u0003\u0002\u0002\u0002\u0308\u0309\t\u0012\u0002\u0002",
493
+ "\u0309\u00be\u0003\u0002\u0002\u0002\u030a\u030b\t\u0013\u0002\u0002",
494
+ "\u030b\u00c0\u0003\u0002\u0002\u0002\u030c\u030d\t\u0014\u0002\u0002",
495
+ "\u030d\u00c2\u0003\u0002\u0002\u0002\u030e\u030f\t\u0015\u0002\u0002",
496
+ "\u030f\u00c4\u0003\u0002\u0002\u0002\u0310\u0311\t\u0016\u0002\u0002",
497
+ "\u0311\u00c6\u0003\u0002\u0002\u0002\u0312\u0313\t\u0017\u0002\u0002",
498
+ "\u0313\u00c8\u0003\u0002\u0002\u0002\u0314\u0315\t\u0018\u0002\u0002",
499
+ "\u0315\u00ca\u0003\u0002\u0002\u0002\u0316\u0317\t\u0019\u0002\u0002",
500
+ "\u0317\u00cc\u0003\u0002\u0002\u0002\u0318\u0319\t\u001a\u0002\u0002",
501
+ "\u0319\u00ce\u0003\u0002\u0002\u0002\u031a\u031b\t\u001b\u0002\u0002",
502
+ "\u031b\u00d0\u0003\u0002\u0002\u0002\u031c\u031d\t\u001c\u0002\u0002",
503
+ "\u031d\u00d2\u0003\u0002\u0002\u0002\u031e\u031f\t\u001d\u0002\u0002",
504
+ "\u031f\u00d4\u0003\u0002\u0002\u0002\u0320\u0321\t\u001e\u0002\u0002",
505
+ "\u0321\u00d6\u0003\u0002\u0002\u0002\u0322\u0323\t\u001f\u0002\u0002",
506
+ "\u0323\u00d8\u0003\u0002\u0002\u0002\u0324\u0325\t \u0002\u0002\u0325",
507
+ "\u00da\u0003\u0002\u0002\u0002\u0326\u0327\t!\u0002\u0002\u0327\u00dc",
508
+ "\u0003\u0002\u0002\u0002\u0328\u0329\t\"\u0002\u0002\u0329\u00de\u0003",
509
+ "\u0002\u0002\u0002\u032a\u032b\t#\u0002\u0002\u032b\u00e0\u0003\u0002",
510
+ "\u0002\u0002\u032c\u032d\t$\u0002\u0002\u032d\u00e2\u0003\u0002\u0002",
511
+ "\u0002\u032e\u032f\t%\u0002\u0002\u032f\u00e4\u0003\u0002\u0002\u0002",
512
+ "/\u0002\u01d3\u01d6\u01ea\u01f1\u01f9\u01ff\u0205\u0207\u020d\u020f",
513
+ "\u0217\u0219\u0220\u0226\u0228\u022c\u0231\u0233\u0236\u023c\u0240\u0245",
514
+ "\u0247\u024a\u024c\u0259\u0264\u0271\u027c\u027e\u028b\u0291\u0296\u0298",
515
+ "\u02a0\u02ae\u02b2\u02bb\u02c2\u02c7\u02dd\u02ea\u02f0\u02f2\u0003\b",
516
+ "\u0002\u0002"].join("");
517
+
518
+
519
+ var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
520
+
521
+ var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
522
+
523
+ function CollectionPolicyLexer(input) {
524
+ antlr4.Lexer.call(this, input);
525
+ this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
526
+ return this;
527
+ }
528
+
529
+ CollectionPolicyLexer.prototype = Object.create(antlr4.Lexer.prototype);
530
+ CollectionPolicyLexer.prototype.constructor = CollectionPolicyLexer;
531
+
532
+ Object.defineProperty(CollectionPolicyLexer.prototype, "atn", {
533
+ get : function() {
534
+ return atn;
535
+ }
536
+ });
537
+
538
+ CollectionPolicyLexer.EOF = antlr4.Token.EOF;
539
+ CollectionPolicyLexer.FOR = 1;
540
+ CollectionPolicyLexer.PUBLIC = 2;
541
+ CollectionPolicyLexer.NODE = 3;
542
+ CollectionPolicyLexer.USER = 4;
543
+ CollectionPolicyLexer.POLICY = 5;
544
+ CollectionPolicyLexer.CONTRACT = 6;
545
+ CollectionPolicyLexer.ENTITY = 7;
546
+ CollectionPolicyLexer.DEF_EXPR = 8;
547
+ CollectionPolicyLexer.AND = 9;
548
+ CollectionPolicyLexer.OR = 10;
549
+ CollectionPolicyLexer.NOT = 11;
550
+ CollectionPolicyLexer.LESS = 12;
551
+ CollectionPolicyLexer.BEFORE = 13;
552
+ CollectionPolicyLexer.LESS_OR_EQUAL = 14;
553
+ CollectionPolicyLexer.GREATER = 15;
554
+ CollectionPolicyLexer.AFTER = 16;
555
+ CollectionPolicyLexer.GREATER_OR_EQUAL = 17;
556
+ CollectionPolicyLexer.EQUAL = 18;
557
+ CollectionPolicyLexer.NOT_EQUAL = 19;
558
+ CollectionPolicyLexer.IN = 20;
559
+ CollectionPolicyLexer.NONE = 21;
560
+ CollectionPolicyLexer.PARTIAL = 22;
561
+ CollectionPolicyLexer.FULL = 23;
562
+ CollectionPolicyLexer.LET = 24;
563
+ CollectionPolicyLexer.EVENT = 25;
564
+ CollectionPolicyLexer.EVNET_VARIABLE = 26;
565
+ CollectionPolicyLexer.TERMINATE = 27;
566
+ CollectionPolicyLexer.COMMA = 28;
567
+ CollectionPolicyLexer.DOT = 29;
568
+ CollectionPolicyLexer.COLON = 30;
569
+ CollectionPolicyLexer.SEMICOLON = 31;
570
+ CollectionPolicyLexer.LT = 32;
571
+ CollectionPolicyLexer.GT = 33;
572
+ CollectionPolicyLexer.LPAREN = 34;
573
+ CollectionPolicyLexer.RPAREN = 35;
574
+ CollectionPolicyLexer.LBRACKET = 36;
575
+ CollectionPolicyLexer.RBRACKET = 37;
576
+ CollectionPolicyLexer.LBRACE = 38;
577
+ CollectionPolicyLexer.RBRACE = 39;
578
+ CollectionPolicyLexer.PLUS = 40;
579
+ CollectionPolicyLexer.MINUS = 41;
580
+ CollectionPolicyLexer.TIMES = 42;
581
+ CollectionPolicyLexer.DIV = 43;
582
+ CollectionPolicyLexer.POW = 44;
583
+ CollectionPolicyLexer.EQ = 45;
584
+ CollectionPolicyLexer.EQ_DOUBLE = 46;
585
+ CollectionPolicyLexer.TILDE = 47;
586
+ CollectionPolicyLexer.LTE = 48;
587
+ CollectionPolicyLexer.GTE = 49;
588
+ CollectionPolicyLexer.NEQ = 50;
589
+ CollectionPolicyLexer.XFER = 51;
590
+ CollectionPolicyLexer.ASSIGMENT_SYMBOL = 52;
591
+ CollectionPolicyLexer.SCIENTIFIC_NUMBER = 53;
592
+ CollectionPolicyLexer.TRUE = 54;
593
+ CollectionPolicyLexer.FALSE = 55;
594
+ CollectionPolicyLexer.PI = 56;
595
+ CollectionPolicyLexer.EULER = 57;
596
+ CollectionPolicyLexer.USER_ID = 58;
597
+ CollectionPolicyLexer.PHONE_NUMBER_CN_MOBILE = 59;
598
+ CollectionPolicyLexer.EMAIL = 60;
599
+ CollectionPolicyLexer.INT = 61;
600
+ CollectionPolicyLexer.ID = 62;
601
+ CollectionPolicyLexer.STRING = 63;
602
+ CollectionPolicyLexer.ENTITY_NAME = 64;
603
+ CollectionPolicyLexer.NUMERIC_LITERAL = 65;
604
+ CollectionPolicyLexer.PERIOD = 66;
605
+ CollectionPolicyLexer.DATE = 67;
606
+ CollectionPolicyLexer.TIME = 68;
607
+ CollectionPolicyLexer.MONEY_AMOUNT = 69;
608
+ CollectionPolicyLexer.COMMENT = 70;
609
+ CollectionPolicyLexer.COMMENT_LINE = 71;
610
+ CollectionPolicyLexer.WS = 72;
611
+
612
+ CollectionPolicyLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
613
+
614
+ CollectionPolicyLexer.prototype.modeNames = [ "DEFAULT_MODE" ];
615
+
616
+ CollectionPolicyLexer.prototype.literalNames = [ null, "'FOR'", "'PUBLIC'",
617
+ "'NODE'", "'USER'", "'policy'",
618
+ "'contract'", "'Entity'",
619
+ "'defExpr'", "'and'", "'or'",
620
+ "'not'", "'less'", "'before'",
621
+ "'lessOrEqual'", "'greater'",
622
+ "'after'", "'greaterOrEqual'",
623
+ "'equal'", "'notEqual'",
624
+ "'in'", "'None'", "'Partial'",
625
+ "'Full'", "'let'", "'Event'",
626
+ "'$event'", "'terminate'",
627
+ "','", "'.'", "':'", "';'",
628
+ "'<'", "'>'", "'('", "')'",
629
+ "'['", "']'", "'{'", "'}'",
630
+ "'+'", "'-'", "'*'", "'/'",
631
+ "'^'", "'='", "'=='", "'~'",
632
+ "'<='", "'>='", "'!='",
633
+ "'->'", "'<-'", null, "'true'",
634
+ "'false'", "'pi'", "'e'" ];
635
+
636
+ CollectionPolicyLexer.prototype.symbolicNames = [ null, "FOR", "PUBLIC",
637
+ "NODE", "USER", "POLICY",
638
+ "CONTRACT", "ENTITY",
639
+ "DEF_EXPR", "AND", "OR",
640
+ "NOT", "LESS", "BEFORE",
641
+ "LESS_OR_EQUAL", "GREATER",
642
+ "AFTER", "GREATER_OR_EQUAL",
643
+ "EQUAL", "NOT_EQUAL",
644
+ "IN", "NONE", "PARTIAL",
645
+ "FULL", "LET", "EVENT",
646
+ "EVNET_VARIABLE", "TERMINATE",
647
+ "COMMA", "DOT", "COLON",
648
+ "SEMICOLON", "LT", "GT",
649
+ "LPAREN", "RPAREN", "LBRACKET",
650
+ "RBRACKET", "LBRACE",
651
+ "RBRACE", "PLUS", "MINUS",
652
+ "TIMES", "DIV", "POW",
653
+ "EQ", "EQ_DOUBLE", "TILDE",
654
+ "LTE", "GTE", "NEQ", "XFER",
655
+ "ASSIGMENT_SYMBOL", "SCIENTIFIC_NUMBER",
656
+ "TRUE", "FALSE", "PI",
657
+ "EULER", "USER_ID", "PHONE_NUMBER_CN_MOBILE",
658
+ "EMAIL", "INT", "ID",
659
+ "STRING", "ENTITY_NAME",
660
+ "NUMERIC_LITERAL", "PERIOD",
661
+ "DATE", "TIME", "MONEY_AMOUNT",
662
+ "COMMENT", "COMMENT_LINE",
663
+ "WS" ];
664
+
665
+ CollectionPolicyLexer.prototype.ruleNames = [ "FOR", "PUBLIC", "NODE", "USER",
666
+ "POLICY", "CONTRACT", "ENTITY",
667
+ "DEF_EXPR", "AND", "OR", "NOT",
668
+ "LESS", "BEFORE", "LESS_OR_EQUAL",
669
+ "GREATER", "AFTER", "GREATER_OR_EQUAL",
670
+ "EQUAL", "NOT_EQUAL", "IN",
671
+ "NONE", "PARTIAL", "FULL",
672
+ "LET", "EVENT", "EVNET_VARIABLE",
673
+ "TERMINATE", "COMMA", "DOT",
674
+ "COLON", "SEMICOLON", "LT",
675
+ "GT", "LPAREN", "RPAREN",
676
+ "LBRACKET", "RBRACKET", "LBRACE",
677
+ "RBRACE", "PLUS", "MINUS",
678
+ "TIMES", "DIV", "POW", "EQ",
679
+ "EQ_DOUBLE", "TILDE", "LTE",
680
+ "GTE", "NEQ", "XFER", "ASSIGMENT_SYMBOL",
681
+ "SCIENTIFIC_NUMBER", "TRUE",
682
+ "FALSE", "PI", "EULER", "USER_ID",
683
+ "PHONE_NUMBER_CN_MOBILE",
684
+ "EMAIL", "INT", "ID", "STRING",
685
+ "ENTITY_NAME", "NUMERIC_LITERAL",
686
+ "PERIOD", "DATE", "TIME",
687
+ "MONEY_AMOUNT", "COMMENT",
688
+ "COMMENT_LINE", "WS", "LOCAL_SUBPART",
689
+ "DOMAIN_SUBPART", "TWO_DIGITS",
690
+ "THREE_DIGITS", "FOUR_DIGITS",
691
+ "NIGHT_DIGITS", "ELEVEN_DIGITS",
692
+ "ESC", "UNICODE", "SIGN",
693
+ "NUMBER", "DIGIT", "HEX_DIGIT",
694
+ "ALPHABET", "CHINESE_WORD",
695
+ "A", "B", "C", "D", "E", "F",
696
+ "G", "H", "I", "J", "K", "L",
697
+ "M", "N", "O", "P", "Q", "R",
698
+ "S", "T", "U", "V", "W", "X",
699
+ "Y", "Z" ];
700
+
701
+ CollectionPolicyLexer.prototype.grammarFileName = "CollectionPolicy.g4";
702
+
703
+
704
+ exports.CollectionPolicyLexer = CollectionPolicyLexer;
705
+