@cparra/apex-reflection 0.1.0-alpha.0 → 0.1.1-alpha.10

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 (158) hide show
  1. package/__tests__/end-to-end.test.ts +256 -0
  2. package/coverage/clover.xml +12857 -0
  3. package/coverage/coverage-final.json +3 -0
  4. package/coverage/lcov-report/base.css +224 -0
  5. package/coverage/lcov-report/block-navigation.js +79 -0
  6. package/coverage/lcov-report/favicon.png +0 -0
  7. package/coverage/lcov-report/index.html +126 -0
  8. package/coverage/lcov-report/index.js.html +104 -0
  9. package/coverage/lcov-report/out.js.html +41126 -0
  10. package/coverage/lcov-report/prettify.css +1 -0
  11. package/coverage/lcov-report/prettify.js +2 -0
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +170 -0
  14. package/coverage/lcov.info +24801 -0
  15. package/index.d.ts +118 -0
  16. package/index.js +8 -0
  17. package/index.ts +141 -0
  18. package/jest.config.js +11 -0
  19. package/out.js +13708 -0
  20. package/package.json +22 -17
  21. package/tsconfig.json +5 -3
  22. package/.idea/apexdocs-dart.iml +0 -18
  23. package/.idea/jsLibraryMappings.xml +0 -6
  24. package/.idea/libraries/Dart_Packages.xml +0 -556
  25. package/.idea/libraries/Dart_SDK.xml +0 -28
  26. package/.idea/misc.xml +0 -6
  27. package/.idea/modules.xml +0 -8
  28. package/.idea/runConfigurations/_template__of_Dart_Test.xml +0 -6
  29. package/.idea/vcs.xml +0 -6
  30. package/CHANGELOG.md +0 -3
  31. package/README.md +0 -26
  32. package/TODO.md +0 -5
  33. package/analysis_options.yaml +0 -30
  34. package/antlr4-4.9.2/CHANGELOG.md +0 -4
  35. package/antlr4-4.9.2/LICENSE +0 -52
  36. package/antlr4-4.9.2/README.md +0 -11
  37. package/antlr4-4.9.2/analysis_options.yaml +0 -1
  38. package/antlr4-4.9.2/lib/antlr4.dart +0 -21
  39. package/antlr4-4.9.2/lib/src/atn/atn.dart +0 -18
  40. package/antlr4-4.9.2/lib/src/atn/src/atn.dart +0 -170
  41. package/antlr4-4.9.2/lib/src/atn/src/atn_config.dart +0 -242
  42. package/antlr4-4.9.2/lib/src/atn/src/atn_config_set.dart +0 -283
  43. package/antlr4-4.9.2/lib/src/atn/src/atn_deserializer.dart +0 -809
  44. package/antlr4-4.9.2/lib/src/atn/src/atn_simulator.dart +0 -95
  45. package/antlr4-4.9.2/lib/src/atn/src/atn_state.dart +0 -296
  46. package/antlr4-4.9.2/lib/src/atn/src/atn_type.dart +0 -14
  47. package/antlr4-4.9.2/lib/src/atn/src/info.dart +0 -553
  48. package/antlr4-4.9.2/lib/src/atn/src/lexer_action.dart +0 -601
  49. package/antlr4-4.9.2/lib/src/atn/src/lexer_action_executor.dart +0 -167
  50. package/antlr4-4.9.2/lib/src/atn/src/lexer_atn_simulator.dart +0 -731
  51. package/antlr4-4.9.2/lib/src/atn/src/parser_atn_simulator.dart +0 -2630
  52. package/antlr4-4.9.2/lib/src/atn/src/profiling_atn_simulator.dart +0 -229
  53. package/antlr4-4.9.2/lib/src/atn/src/semantic_context.dart +0 -404
  54. package/antlr4-4.9.2/lib/src/atn/src/transition.dart +0 -305
  55. package/antlr4-4.9.2/lib/src/dfa/dfa.dart +0 -8
  56. package/antlr4-4.9.2/lib/src/dfa/src/dfa.dart +0 -138
  57. package/antlr4-4.9.2/lib/src/dfa/src/dfa_serializer.dart +0 -76
  58. package/antlr4-4.9.2/lib/src/dfa/src/dfa_state.dart +0 -151
  59. package/antlr4-4.9.2/lib/src/error/error.dart +0 -10
  60. package/antlr4-4.9.2/lib/src/error/src/diagnostic_error_listener.dart +0 -116
  61. package/antlr4-4.9.2/lib/src/error/src/error_listener.dart +0 -241
  62. package/antlr4-4.9.2/lib/src/error/src/error_strategy.dart +0 -902
  63. package/antlr4-4.9.2/lib/src/error/src/errors.dart +0 -204
  64. package/antlr4-4.9.2/lib/src/input_stream.dart +0 -335
  65. package/antlr4-4.9.2/lib/src/interval_set.dart +0 -735
  66. package/antlr4-4.9.2/lib/src/lexer.dart +0 -343
  67. package/antlr4-4.9.2/lib/src/ll1_analyzer.dart +0 -204
  68. package/antlr4-4.9.2/lib/src/misc/multi_map.dart +0 -32
  69. package/antlr4-4.9.2/lib/src/misc/pair.dart +0 -34
  70. package/antlr4-4.9.2/lib/src/parser.dart +0 -777
  71. package/antlr4-4.9.2/lib/src/parser_interpreter.dart +0 -393
  72. package/antlr4-4.9.2/lib/src/parser_rule_context.dart +0 -275
  73. package/antlr4-4.9.2/lib/src/prediction_context.dart +0 -877
  74. package/antlr4-4.9.2/lib/src/recognizer.dart +0 -182
  75. package/antlr4-4.9.2/lib/src/rule_context.dart +0 -192
  76. package/antlr4-4.9.2/lib/src/runtime_meta_data.dart +0 -188
  77. package/antlr4-4.9.2/lib/src/token.dart +0 -431
  78. package/antlr4-4.9.2/lib/src/token_factory.dart +0 -88
  79. package/antlr4-4.9.2/lib/src/token_source.dart +0 -241
  80. package/antlr4-4.9.2/lib/src/token_stream.dart +0 -627
  81. package/antlr4-4.9.2/lib/src/tree/src/pattern/chunk.dart +0 -90
  82. package/antlr4-4.9.2/lib/src/tree/src/pattern/parse_tree_match.dart +0 -635
  83. package/antlr4-4.9.2/lib/src/tree/src/tree.dart +0 -370
  84. package/antlr4-4.9.2/lib/src/tree/src/trees.dart +0 -226
  85. package/antlr4-4.9.2/lib/src/tree/tree.dart +0 -10
  86. package/antlr4-4.9.2/lib/src/util/bit_set.dart +0 -308
  87. package/antlr4-4.9.2/lib/src/util/murmur_hash.dart +0 -77
  88. package/antlr4-4.9.2/lib/src/util/utils.dart +0 -31
  89. package/antlr4-4.9.2/lib/src/vocabulary.dart +0 -254
  90. package/antlr4-4.9.2/pubspec.yaml +0 -13
  91. package/example/node_example/index.js +0 -8
  92. package/example/node_example/package.json +0 -12
  93. package/example/node_example_ts/package-lock.json +0 -70
  94. package/example/node_example_ts/package.json +0 -19
  95. package/example/node_example_ts/src/index.js +0 -5
  96. package/example/node_example_ts/src/index.ts +0 -9
  97. package/example/node_example_ts/tsconfig.json +0 -79
  98. package/js/dart2jsout.js +0 -25898
  99. package/js/dart2jsout.js.map +0 -16
  100. package/js/index.d.ts +0 -1
  101. package/js/index.js +0 -4
  102. package/js/out.js +0 -26023
  103. package/js/out.js.map +0 -16
  104. package/js/package-lock.json +0 -57
  105. package/js/preamble.js +0 -125
  106. package/lib/apexdocs_dart.dart +0 -28
  107. package/lib/src/antlr/grammars/Apexdoc/ApexdocLexer.g4 +0 -120
  108. package/lib/src/antlr/grammars/Apexdoc/ApexdocParser.g4 +0 -158
  109. package/lib/src/antlr/grammars/Apexdoc/gen/ApexdocLexer.interp +0 -95
  110. package/lib/src/antlr/grammars/Apexdoc/gen/ApexdocLexer.java +0 -238
  111. package/lib/src/antlr/grammars/Apexdoc/gen/ApexdocLexer.tokens +0 -23
  112. package/lib/src/antlr/grammars/apex/ApexLexer.g4 +0 -255
  113. package/lib/src/antlr/grammars/apex/ApexParser.g4 +0 -567
  114. package/lib/src/antlr/grammars/apex/examples/ApexClass.cls +0 -6
  115. package/lib/src/antlr/lib/apex/ApexLexer.dart +0 -1223
  116. package/lib/src/antlr/lib/apex/ApexLexer.interp +0 -393
  117. package/lib/src/antlr/lib/apex/ApexLexer.tokens +0 -212
  118. package/lib/src/antlr/lib/apex/ApexParser.dart +0 -9349
  119. package/lib/src/antlr/lib/apex/ApexParser.interp +0 -326
  120. package/lib/src/antlr/lib/apex/ApexParser.tokens +0 -212
  121. package/lib/src/antlr/lib/apex/ApexParserBaseListener.dart +0 -1036
  122. package/lib/src/antlr/lib/apex/ApexParserListener.dart +0 -975
  123. package/lib/src/antlr/lib/apexdoc/ApexdocLexer.dart +0 -373
  124. package/lib/src/antlr/lib/apexdoc/ApexdocLexer.interp +0 -95
  125. package/lib/src/antlr/lib/apexdoc/ApexdocLexer.tokens +0 -23
  126. package/lib/src/antlr/lib/apexdoc/ApexdocParser.dart +0 -2471
  127. package/lib/src/antlr/lib/apexdoc/ApexdocParser.interp +0 -69
  128. package/lib/src/antlr/lib/apexdoc/ApexdocParser.tokens +0 -23
  129. package/lib/src/antlr/lib/apexdoc/ApexdocParserBaseListener.dart +0 -252
  130. package/lib/src/antlr/lib/apexdoc/ApexdocParserListener.dart +0 -215
  131. package/lib/src/builders/builders.dart +0 -32
  132. package/lib/src/model/apex_file_manifest.dart +0 -37
  133. package/lib/src/model/apex_file_manifest.g.dart +0 -18
  134. package/lib/src/model/declaration.dart +0 -50
  135. package/lib/src/model/doc_comment.dart +0 -117
  136. package/lib/src/model/doc_comment.g.dart +0 -118
  137. package/lib/src/model/members.dart +0 -143
  138. package/lib/src/model/members.g.dart +0 -105
  139. package/lib/src/model/types.dart +0 -159
  140. package/lib/src/model/types.g.dart +0 -111
  141. package/lib/src/service/apex_listener.dart +0 -226
  142. package/lib/src/service/apexdoc_listener.dart +0 -82
  143. package/lib/src/service/parsers.dart +0 -33
  144. package/lib/src/service/utils/parsing/access_modifiers_parser.dart +0 -33
  145. package/lib/src/service/utils/parsing/parameters_parser.dart +0 -18
  146. package/lib/src/service/utils/parsing/parsing_utils.dart +0 -2
  147. package/lib/src/service/walker.dart +0 -82
  148. package/pubspec.yaml +0 -19
  149. package/test/apex_file_manifest_test.dart +0 -16
  150. package/test/apex_listener_test.dart +0 -703
  151. package/test/apexdoc_parser_test.dart +0 -179
  152. package/test/doc_comment_test.dart +0 -89
  153. package/test/members_serialization_test.dart +0 -158
  154. package/test/members_test.dart +0 -178
  155. package/test/types_serialization_test.dart +0 -191
  156. package/test/types_test.dart +0 -311
  157. package/test/walker_test.dart +0 -58
  158. package/tool/grind.dart +0 -20
@@ -1,393 +0,0 @@
1
- token literal names:
2
- null
3
- 'abstract'
4
- 'after'
5
- 'before'
6
- 'break'
7
- 'catch'
8
- 'class'
9
- 'continue'
10
- 'delete'
11
- 'do'
12
- 'else'
13
- null
14
- 'extends'
15
- 'final'
16
- 'finally'
17
- 'for'
18
- 'get'
19
- 'global'
20
- 'if'
21
- 'implements'
22
- 'inherited'
23
- 'insert'
24
- null
25
- 'interface'
26
- 'merge'
27
- 'new'
28
- 'null'
29
- 'on'
30
- 'override'
31
- 'private'
32
- 'protected'
33
- 'public'
34
- 'return'
35
- null
36
- 'set'
37
- 'sharing'
38
- 'static'
39
- 'super'
40
- 'switch'
41
- null
42
- 'this'
43
- 'throw'
44
- 'transient'
45
- 'trigger'
46
- 'try'
47
- 'undelete'
48
- 'update'
49
- 'upsert'
50
- 'virtual'
51
- 'void'
52
- 'webservice'
53
- 'when'
54
- 'while'
55
- 'with'
56
- 'without'
57
- 'list'
58
- 'map'
59
- null
60
- null
61
- null
62
- null
63
- null
64
- '('
65
- ')'
66
- '{'
67
- '}'
68
- '['
69
- ']'
70
- ';'
71
- ','
72
- '.'
73
- '='
74
- '>'
75
- '<'
76
- '!'
77
- '~'
78
- '?.'
79
- '?'
80
- ':'
81
- '=='
82
- '==='
83
- '!='
84
- '<>'
85
- '!=='
86
- '&&'
87
- '||'
88
- '++'
89
- '--'
90
- '+'
91
- '-'
92
- '*'
93
- '/'
94
- '&'
95
- '|'
96
- '^'
97
- '%'
98
- '=>'
99
- '+='
100
- '-='
101
- '*='
102
- '/='
103
- '&='
104
- '|='
105
- '^='
106
- '%='
107
- '<<='
108
- '>>='
109
- '>>>='
110
- '@'
111
- null
112
- null
113
- null
114
- null
115
- null
116
-
117
- token symbolic names:
118
- null
119
- ABSTRACT
120
- AFTER
121
- BEFORE
122
- BREAK
123
- CATCH
124
- CLASS
125
- CONTINUE
126
- DELETE
127
- DO
128
- ELSE
129
- ENUM
130
- EXTENDS
131
- FINAL
132
- FINALLY
133
- FOR
134
- GET
135
- GLOBAL
136
- IF
137
- IMPLEMENTS
138
- INHERITED
139
- INSERT
140
- INSTANCEOF
141
- INTERFACE
142
- MERGE
143
- NEW
144
- NULL
145
- ON
146
- OVERRIDE
147
- PRIVATE
148
- PROTECTED
149
- PUBLIC
150
- RETURN
151
- SYSTEMRUNAS
152
- SET
153
- SHARING
154
- STATIC
155
- SUPER
156
- SWITCH
157
- TESTMETHOD
158
- THIS
159
- THROW
160
- TRANSIENT
161
- TRIGGER
162
- TRY
163
- UNDELETE
164
- UPDATE
165
- UPSERT
166
- VIRTUAL
167
- VOID
168
- WEBSERVICE
169
- WHEN
170
- WHILE
171
- WITH
172
- WITHOUT
173
- LIST
174
- MAP
175
- IntegerLiteral
176
- NumberLiteral
177
- BooleanLiteral
178
- StringLiteral
179
- NullLiteral
180
- LPAREN
181
- RPAREN
182
- LBRACE
183
- RBRACE
184
- LBRACK
185
- RBRACK
186
- SEMI
187
- COMMA
188
- DOT
189
- ASSIGN
190
- GT
191
- LT
192
- BANG
193
- TILDE
194
- QUESTIONDOT
195
- QUESTION
196
- COLON
197
- EQUAL
198
- TRIPLEEQUAL
199
- NOTEQUAL
200
- LESSANDGREATER
201
- TRIPLENOTEQUAL
202
- AND
203
- OR
204
- INC
205
- DEC
206
- ADD
207
- SUB
208
- MUL
209
- DIV
210
- BITAND
211
- BITOR
212
- CARET
213
- MOD
214
- MAPTO
215
- ADD_ASSIGN
216
- SUB_ASSIGN
217
- MUL_ASSIGN
218
- DIV_ASSIGN
219
- AND_ASSIGN
220
- OR_ASSIGN
221
- XOR_ASSIGN
222
- MOD_ASSIGN
223
- LSHIFT_ASSIGN
224
- RSHIFT_ASSIGN
225
- URSHIFT_ASSIGN
226
- AT
227
- Identifier
228
- DOC_COMMENT
229
- WS
230
- COMMENT
231
- LINE_COMMENT
232
-
233
- rule names:
234
- ABSTRACT
235
- AFTER
236
- BEFORE
237
- BREAK
238
- CATCH
239
- CLASS
240
- CONTINUE
241
- DELETE
242
- DO
243
- ELSE
244
- ENUM
245
- EXTENDS
246
- FINAL
247
- FINALLY
248
- FOR
249
- GET
250
- GLOBAL
251
- IF
252
- IMPLEMENTS
253
- INHERITED
254
- INSERT
255
- INSTANCEOF
256
- INTERFACE
257
- MERGE
258
- NEW
259
- NULL
260
- ON
261
- OVERRIDE
262
- PRIVATE
263
- PROTECTED
264
- PUBLIC
265
- RETURN
266
- SYSTEMRUNAS
267
- SET
268
- SHARING
269
- STATIC
270
- SUPER
271
- SWITCH
272
- TESTMETHOD
273
- THIS
274
- THROW
275
- TRANSIENT
276
- TRIGGER
277
- TRY
278
- UNDELETE
279
- UPDATE
280
- UPSERT
281
- VIRTUAL
282
- VOID
283
- WEBSERVICE
284
- WHEN
285
- WHILE
286
- WITH
287
- WITHOUT
288
- LIST
289
- MAP
290
- IntegerLiteral
291
- NumberLiteral
292
- HexCharacter
293
- Digit
294
- BooleanLiteral
295
- StringLiteral
296
- StringCharacters
297
- StringCharacter
298
- EscapeSequence
299
- NullLiteral
300
- LPAREN
301
- RPAREN
302
- LBRACE
303
- RBRACE
304
- LBRACK
305
- RBRACK
306
- SEMI
307
- COMMA
308
- DOT
309
- ASSIGN
310
- GT
311
- LT
312
- BANG
313
- TILDE
314
- QUESTIONDOT
315
- QUESTION
316
- COLON
317
- EQUAL
318
- TRIPLEEQUAL
319
- NOTEQUAL
320
- LESSANDGREATER
321
- TRIPLENOTEQUAL
322
- AND
323
- OR
324
- INC
325
- DEC
326
- ADD
327
- SUB
328
- MUL
329
- DIV
330
- BITAND
331
- BITOR
332
- CARET
333
- MOD
334
- MAPTO
335
- ADD_ASSIGN
336
- SUB_ASSIGN
337
- MUL_ASSIGN
338
- DIV_ASSIGN
339
- AND_ASSIGN
340
- OR_ASSIGN
341
- XOR_ASSIGN
342
- MOD_ASSIGN
343
- LSHIFT_ASSIGN
344
- RSHIFT_ASSIGN
345
- URSHIFT_ASSIGN
346
- AT
347
- Identifier
348
- JavaLetter
349
- JavaLetterOrDigit
350
- DOC_COMMENT
351
- WS
352
- COMMENT
353
- LINE_COMMENT
354
- A
355
- B
356
- C
357
- D
358
- E
359
- F
360
- G
361
- H
362
- I
363
- J
364
- K
365
- L
366
- M
367
- N
368
- O
369
- P
370
- Q
371
- R
372
- S
373
- T
374
- U
375
- V
376
- W
377
- X
378
- Y
379
- Z
380
-
381
- channel names:
382
- DEFAULT_TOKEN_CHANNEL
383
- HIDDEN
384
- null
385
- null
386
- WHITESPACE_CHANNEL
387
- COMMENT_CHANNEL
388
-
389
- mode names:
390
- DEFAULT_MODE
391
-
392
- atn:
393
- [3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 115, 999, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147, 9, 147, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 7, 58, 684, 10, 58, 12, 58, 14, 58, 687, 11, 58, 3, 58, 5, 58, 690, 10, 58, 3, 59, 7, 59, 693, 10, 59, 12, 59, 14, 59, 696, 11, 59, 3, 59, 3, 59, 3, 59, 7, 59, 701, 10, 59, 12, 59, 14, 59, 704, 11, 59, 3, 59, 5, 59, 707, 10, 59, 3, 60, 3, 60, 5, 60, 711, 10, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 62, 5, 62, 724, 10, 62, 3, 63, 3, 63, 5, 63, 728, 10, 63, 3, 63, 3, 63, 3, 64, 6, 64, 733, 10, 64, 13, 64, 14, 64, 734, 3, 65, 3, 65, 5, 65, 739, 10, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 5, 66, 751, 10, 66, 3, 67, 3, 67, 3, 68, 3, 68, 3, 69, 3, 69, 3, 70, 3, 70, 3, 71, 3, 71, 3, 72, 3, 72, 3, 73, 3, 73, 3, 74, 3, 74, 3, 75, 3, 75, 3, 76, 3, 76, 3, 77, 3, 77, 3, 78, 3, 78, 3, 79, 3, 79, 3, 80, 3, 80, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 95, 3, 95, 3, 96, 3, 96, 3, 97, 3, 97, 3, 98, 3, 98, 3, 99, 3, 99, 3, 100, 3, 100, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 115, 3, 115, 7, 115, 879, 10, 115, 12, 115, 14, 115, 882, 11, 115, 3, 116, 3, 116, 3, 116, 3, 116, 5, 116, 888, 10, 116, 3, 117, 3, 117, 3, 117, 3, 117, 5, 117, 894, 10, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118, 7, 118, 901, 10, 118, 12, 118, 14, 118, 904, 11, 118, 3, 118, 3, 118, 7, 118, 908, 10, 118, 12, 118, 14, 118, 911, 11, 118, 3, 118, 3, 118, 3, 118, 3, 119, 6, 119, 917, 10, 119, 13, 119, 14, 119, 918, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 7, 120, 927, 10, 120, 12, 120, 14, 120, 930, 11, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121, 3, 121, 3, 121, 7, 121, 941, 10, 121, 12, 121, 14, 121, 944, 11, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 123, 3, 123, 3, 124, 3, 124, 3, 125, 3, 125, 3, 126, 3, 126, 3, 127, 3, 127, 3, 128, 3, 128, 3, 129, 3, 129, 3, 130, 3, 130, 3, 131, 3, 131, 3, 132, 3, 132, 3, 133, 3, 133, 3, 134, 3, 134, 3, 135, 3, 135, 3, 136, 3, 136, 3, 137, 3, 137, 3, 138, 3, 138, 3, 139, 3, 139, 3, 140, 3, 140, 3, 141, 3, 141, 3, 142, 3, 142, 3, 143, 3, 143, 3, 144, 3, 144, 3, 145, 3, 145, 3, 146, 3, 146, 3, 147, 3, 147, 4, 909, 928, 2, 148, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53, 105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 2, 121, 2, 123, 61, 125, 62, 127, 2, 129, 2, 131, 2, 133, 63, 135, 64, 137, 65, 139, 66, 141, 67, 143, 68, 145, 69, 147, 70, 149, 71, 151, 72, 153, 73, 155, 74, 157, 75, 159, 76, 161, 77, 163, 78, 165, 79, 167, 80, 169, 81, 171, 82, 173, 83, 175, 84, 177, 85, 179, 86, 181, 87, 183, 88, 185, 89, 187, 90, 189, 91, 191, 92, 193, 93, 195, 94, 197, 95, 199, 96, 201, 97, 203, 98, 205, 99, 207, 100, 209, 101, 211, 102, 213, 103, 215, 104, 217, 105, 219, 106, 221, 107, 223, 108, 225, 109, 227, 110, 229, 111, 231, 2, 233, 2, 235, 112, 237, 113, 239, 114, 241, 115, 243, 2, 245, 2, 247, 2, 249, 2, 251, 2, 253, 2, 255, 2, 257, 2, 259, 2, 261, 2, 263, 2, 265, 2, 267, 2, 269, 2, 271, 2, 273, 2, 275, 2, 277, 2, 279, 2, 281, 2, 283, 2, 285, 2, 287, 2, 289, 2, 291, 2, 293, 2, 3, 2, 38, 4, 2, 78, 78, 110, 110, 4, 2, 70, 70, 102, 102, 3, 2, 50, 59, 4, 2, 41, 41, 94, 94, 10, 2, 36, 36, 41, 41, 94, 94, 100, 100, 104, 104, 112, 112, 116, 116, 118, 118, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124, 4, 2, 2, 257, 55298, 56321, 3, 2, 55298, 56321, 3, 2, 56322, 57345, 7, 2, 38, 38, 50, 59, 67, 92, 97, 97, 99, 124, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 14, 15, 34, 34, 4, 2, 67, 67, 99, 99, 4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105, 4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108, 4, 2, 77, 77, 109, 109, 4, 2, 79, 79, 111, 111, 4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114, 4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117, 4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120, 4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123, 4, 2, 92, 92, 124, 124, 2, 986, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2, 145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2, 2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159, 3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2, 2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3, 2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2, 181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2, 2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195, 3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2, 2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3, 2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2, 217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2, 2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2, 2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 3, 295, 3, 2, 2, 2, 5, 304, 3, 2, 2, 2, 7, 310, 3, 2, 2, 2, 9, 317, 3, 2, 2, 2, 11, 323, 3, 2, 2, 2, 13, 329, 3, 2, 2, 2, 15, 335, 3, 2, 2, 2, 17, 344, 3, 2, 2, 2, 19, 351, 3, 2, 2, 2, 21, 354, 3, 2, 2, 2, 23, 359, 3, 2, 2, 2, 25, 364, 3, 2, 2, 2, 27, 372, 3, 2, 2, 2, 29, 378, 3, 2, 2, 2, 31, 386, 3, 2, 2, 2, 33, 390, 3, 2, 2, 2, 35, 394, 3, 2, 2, 2, 37, 401, 3, 2, 2, 2, 39, 404, 3, 2, 2, 2, 41, 415, 3, 2, 2, 2, 43, 425, 3, 2, 2, 2, 45, 432, 3, 2, 2, 2, 47, 443, 3, 2, 2, 2, 49, 453, 3, 2, 2, 2, 51, 459, 3, 2, 2, 2, 53, 463, 3, 2, 2, 2, 55, 468, 3, 2, 2, 2, 57, 471, 3, 2, 2, 2, 59, 480, 3, 2, 2, 2, 61, 488, 3, 2, 2, 2, 63, 498, 3, 2, 2, 2, 65, 505, 3, 2, 2, 2, 67, 512, 3, 2, 2, 2, 69, 525, 3, 2, 2, 2, 71, 529, 3, 2, 2, 2, 73, 537, 3, 2, 2, 2, 75, 544, 3, 2, 2, 2, 77, 550, 3, 2, 2, 2, 79, 557, 3, 2, 2, 2, 81, 568, 3, 2, 2, 2, 83, 573, 3, 2, 2, 2, 85, 579, 3, 2, 2, 2, 87, 589, 3, 2, 2, 2, 89, 597, 3, 2, 2, 2, 91, 601, 3, 2, 2, 2, 93, 610, 3, 2, 2, 2, 95, 617, 3, 2, 2, 2, 97, 624, 3, 2, 2, 2, 99, 632, 3, 2, 2, 2, 101, 637, 3, 2, 2, 2, 103, 648, 3, 2, 2, 2, 105, 653, 3, 2, 2, 2, 107, 659, 3, 2, 2, 2, 109, 664, 3, 2, 2, 2, 111, 672, 3, 2, 2, 2, 113, 677, 3, 2, 2, 2, 115, 681, 3, 2, 2, 2, 117, 694, 3, 2, 2, 2, 119, 710, 3, 2, 2, 2, 121, 712, 3, 2, 2, 2, 123, 723, 3, 2, 2, 2, 125, 725, 3, 2, 2, 2, 127, 732, 3, 2, 2, 2, 129, 738, 3, 2, 2, 2, 131, 750, 3, 2, 2, 2, 133, 752, 3, 2, 2, 2, 135, 754, 3, 2, 2, 2, 137, 756, 3, 2, 2, 2, 139, 758, 3, 2, 2, 2, 141, 760, 3, 2, 2, 2, 143, 762, 3, 2, 2, 2, 145, 764, 3, 2, 2, 2, 147, 766, 3, 2, 2, 2, 149, 768, 3, 2, 2, 2, 151, 770, 3, 2, 2, 2, 153, 772, 3, 2, 2, 2, 155, 774, 3, 2, 2, 2, 157, 776, 3, 2, 2, 2, 159, 778, 3, 2, 2, 2, 161, 780, 3, 2, 2, 2, 163, 782, 3, 2, 2, 2, 165, 785, 3, 2, 2, 2, 167, 787, 3, 2, 2, 2, 169, 789, 3, 2, 2, 2, 171, 792, 3, 2, 2, 2, 173, 796, 3, 2, 2, 2, 175, 799, 3, 2, 2, 2, 177, 802, 3, 2, 2, 2, 179, 806, 3, 2, 2, 2, 181, 809, 3, 2, 2, 2, 183, 812, 3, 2, 2, 2, 185, 815, 3, 2, 2, 2, 187, 818, 3, 2, 2, 2, 189, 820, 3, 2, 2, 2, 191, 822, 3, 2, 2, 2, 193, 824, 3, 2, 2, 2, 195, 826, 3, 2, 2, 2, 197, 828, 3, 2, 2, 2, 199, 830, 3, 2, 2, 2, 201, 832, 3, 2, 2, 2, 203, 834, 3, 2, 2, 2, 205, 837, 3, 2, 2, 2, 207, 840, 3, 2, 2, 2, 209, 843, 3, 2, 2, 2, 211, 846, 3, 2, 2, 2, 213, 849, 3, 2, 2, 2, 215, 852, 3, 2, 2, 2, 217, 855, 3, 2, 2, 2, 219, 858, 3, 2, 2, 2, 221, 861, 3, 2, 2, 2, 223, 865, 3, 2, 2, 2, 225, 869, 3, 2, 2, 2, 227, 874, 3, 2, 2, 2, 229, 876, 3, 2, 2, 2, 231, 887, 3, 2, 2, 2, 233, 893, 3, 2, 2, 2, 235, 895, 3, 2, 2, 2, 237, 916, 3, 2, 2, 2, 239, 922, 3, 2, 2, 2, 241, 936, 3, 2, 2, 2, 243, 947, 3, 2, 2, 2, 245, 949, 3, 2, 2, 2, 247, 951, 3, 2, 2, 2, 249, 953, 3, 2, 2, 2, 251, 955, 3, 2, 2, 2, 253, 957, 3, 2, 2, 2, 255, 959, 3, 2, 2, 2, 257, 961, 3, 2, 2, 2, 259, 963, 3, 2, 2, 2, 261, 965, 3, 2, 2, 2, 263, 967, 3, 2, 2, 2, 265, 969, 3, 2, 2, 2, 267, 971, 3, 2, 2, 2, 269, 973, 3, 2, 2, 2, 271, 975, 3, 2, 2, 2, 273, 977, 3, 2, 2, 2, 275, 979, 3, 2, 2, 2, 277, 981, 3, 2, 2, 2, 279, 983, 3, 2, 2, 2, 281, 985, 3, 2, 2, 2, 283, 987, 3, 2, 2, 2, 285, 989, 3, 2, 2, 2, 287, 991, 3, 2, 2, 2, 289, 993, 3, 2, 2, 2, 291, 995, 3, 2, 2, 2, 293, 997, 3, 2, 2, 2, 295, 296, 7, 99, 2, 2, 296, 297, 7, 100, 2, 2, 297, 298, 7, 117, 2, 2, 298, 299, 7, 118, 2, 2, 299, 300, 7, 116, 2, 2, 300, 301, 7, 99, 2, 2, 301, 302, 7, 101, 2, 2, 302, 303, 7, 118, 2, 2, 303, 4, 3, 2, 2, 2, 304, 305, 7, 99, 2, 2, 305, 306, 7, 104, 2, 2, 306, 307, 7, 118, 2, 2, 307, 308, 7, 103, 2, 2, 308, 309, 7, 116, 2, 2, 309, 6, 3, 2, 2, 2, 310, 311, 7, 100, 2, 2, 311, 312, 7, 103, 2, 2, 312, 313, 7, 104, 2, 2, 313, 314, 7, 113, 2, 2, 314, 315, 7, 116, 2, 2, 315, 316, 7, 103, 2, 2, 316, 8, 3, 2, 2, 2, 317, 318, 7, 100, 2, 2, 318, 319, 7, 116, 2, 2, 319, 320, 7, 103, 2, 2, 320, 321, 7, 99, 2, 2, 321, 322, 7, 109, 2, 2, 322, 10, 3, 2, 2, 2, 323, 324, 7, 101, 2, 2, 324, 325, 7, 99, 2, 2, 325, 326, 7, 118, 2, 2, 326, 327, 7, 101, 2, 2, 327, 328, 7, 106, 2, 2, 328, 12, 3, 2, 2, 2, 329, 330, 7, 101, 2, 2, 330, 331, 7, 110, 2, 2, 331, 332, 7, 99, 2, 2, 332, 333, 7, 117, 2, 2, 333, 334, 7, 117, 2, 2, 334, 14, 3, 2, 2, 2, 335, 336, 7, 101, 2, 2, 336, 337, 7, 113, 2, 2, 337, 338, 7, 112, 2, 2, 338, 339, 7, 118, 2, 2, 339, 340, 7, 107, 2, 2, 340, 341, 7, 112, 2, 2, 341, 342, 7, 119, 2, 2, 342, 343, 7, 103, 2, 2, 343, 16, 3, 2, 2, 2, 344, 345, 7, 102, 2, 2, 345, 346, 7, 103, 2, 2, 346, 347, 7, 110, 2, 2, 347, 348, 7, 103, 2, 2, 348, 349, 7, 118, 2, 2, 349, 350, 7, 103, 2, 2, 350, 18, 3, 2, 2, 2, 351, 352, 7, 102, 2, 2, 352, 353, 7, 113, 2, 2, 353, 20, 3, 2, 2, 2, 354, 355, 7, 103, 2, 2, 355, 356, 7, 110, 2, 2, 356, 357, 7, 117, 2, 2, 357, 358, 7, 103, 2, 2, 358, 22, 3, 2, 2, 2, 359, 360, 5, 251, 126, 2, 360, 361, 5, 269, 135, 2, 361, 362, 5, 283, 142, 2, 362, 363, 5, 267, 134, 2, 363, 24, 3, 2, 2, 2, 364, 365, 7, 103, 2, 2, 365, 366, 7, 122, 2, 2, 366, 367, 7, 118, 2, 2, 367, 368, 7, 103, 2, 2, 368, 369, 7, 112, 2, 2, 369, 370, 7, 102, 2, 2, 370, 371, 7, 117, 2, 2, 371, 26, 3, 2, 2, 2, 372, 373, 7, 104, 2, 2, 373, 374, 7, 107, 2, 2, 374, 375, 7, 112, 2, 2, 375, 376, 7, 99, 2, 2, 376, 377, 7, 110, 2, 2, 377, 28, 3, 2, 2, 2, 378, 379, 7, 104, 2, 2, 379, 380, 7, 107, 2, 2, 380, 381, 7, 112, 2, 2, 381, 382, 7, 99, 2, 2, 382, 383, 7, 110, 2, 2, 383, 384, 7, 110, 2, 2, 384, 385, 7, 123, 2, 2, 385, 30, 3, 2, 2, 2, 386, 387, 7, 104, 2, 2, 387, 388, 7, 113, 2, 2, 388, 389, 7, 116, 2, 2, 389, 32, 3, 2, 2, 2, 390, 391, 7, 105, 2, 2, 391, 392, 7, 103, 2, 2, 392, 393, 7, 118, 2, 2, 393, 34, 3, 2, 2, 2, 394, 395, 7, 105, 2, 2, 395, 396, 7, 110, 2, 2, 396, 397, 7, 113, 2, 2, 397, 398, 7, 100, 2, 2, 398, 399, 7, 99, 2, 2, 399, 400, 7, 110, 2, 2, 400, 36, 3, 2, 2, 2, 401, 402, 7, 107, 2, 2, 402, 403, 7, 104, 2, 2, 403, 38, 3, 2, 2, 2, 404, 405, 7, 107, 2, 2, 405, 406, 7, 111, 2, 2, 406, 407, 7, 114, 2, 2, 407, 408, 7, 110, 2, 2, 408, 409, 7, 103, 2, 2, 409, 410, 7, 111, 2, 2, 410, 411, 7, 103, 2, 2, 411, 412, 7, 112, 2, 2, 412, 413, 7, 118, 2, 2, 413, 414, 7, 117, 2, 2, 414, 40, 3, 2, 2, 2, 415, 416, 7, 107, 2, 2, 416, 417, 7, 112, 2, 2, 417, 418, 7, 106, 2, 2, 418, 419, 7, 103, 2, 2, 419, 420, 7, 116, 2, 2, 420, 421, 7, 107, 2, 2, 421, 422, 7, 118, 2, 2, 422, 423, 7, 103, 2, 2, 423, 424, 7, 102, 2, 2, 424, 42, 3, 2, 2, 2, 425, 426, 7, 107, 2, 2, 426, 427, 7, 112, 2, 2, 427, 428, 7, 117, 2, 2, 428, 429, 7, 103, 2, 2, 429, 430, 7, 116, 2, 2, 430, 431, 7, 118, 2, 2, 431, 44, 3, 2, 2, 2, 432, 433, 5, 259, 130, 2, 433, 434, 5, 269, 135, 2, 434, 435, 5, 279, 140, 2, 435, 436, 5, 281, 141, 2, 436, 437, 5, 243, 122, 2, 437, 438, 5, 269, 135, 2, 438, 439, 5, 247, 124, 2, 439, 440, 5, 251, 126, 2, 440, 441, 5, 271, 136, 2, 441, 442, 5, 253, 127, 2, 442, 46, 3, 2, 2, 2, 443, 444, 7, 107, 2, 2, 444, 445, 7, 112, 2, 2, 445, 446, 7, 118, 2, 2, 446, 447, 7, 103, 2, 2, 447, 448, 7, 116, 2, 2, 448, 449, 7, 104, 2, 2, 449, 450, 7, 99, 2, 2, 450, 451, 7, 101, 2, 2, 451, 452, 7, 103, 2, 2, 452, 48, 3, 2, 2, 2, 453, 454, 7, 111, 2, 2, 454, 455, 7, 103, 2, 2, 455, 456, 7, 116, 2, 2, 456, 457, 7, 105, 2, 2, 457, 458, 7, 103, 2, 2, 458, 50, 3, 2, 2, 2, 459, 460, 7, 112, 2, 2, 460, 461, 7, 103, 2, 2, 461, 462, 7, 121, 2, 2, 462, 52, 3, 2, 2, 2, 463, 464, 7, 112, 2, 2, 464, 465, 7, 119, 2, 2, 465, 466, 7, 110, 2, 2, 466, 467, 7, 110, 2, 2, 467, 54, 3, 2, 2, 2, 468, 469, 7, 113, 2, 2, 469, 470, 7, 112, 2, 2, 470, 56, 3, 2, 2, 2, 471, 472, 7, 113, 2, 2, 472, 473, 7, 120, 2, 2, 473, 474, 7, 103, 2, 2, 474, 475, 7, 116, 2, 2, 475, 476, 7, 116, 2, 2, 476, 477, 7, 107, 2, 2, 477, 478, 7, 102, 2, 2, 478, 479, 7, 103, 2, 2, 479, 58, 3, 2, 2, 2, 480, 481, 7, 114, 2, 2, 481, 482, 7, 116, 2, 2, 482, 483, 7, 107, 2, 2, 483, 484, 7, 120, 2, 2, 484, 485, 7, 99, 2, 2, 485, 486, 7, 118, 2, 2, 486, 487, 7, 103, 2, 2, 487, 60, 3, 2, 2, 2, 488, 489, 7, 114, 2, 2, 489, 490, 7, 116, 2, 2, 490, 491, 7, 113, 2, 2, 491, 492, 7, 118, 2, 2, 492, 493, 7, 103, 2, 2, 493, 494, 7, 101, 2, 2, 494, 495, 7, 118, 2, 2, 495, 496, 7, 103, 2, 2, 496, 497, 7, 102, 2, 2, 497, 62, 3, 2, 2, 2, 498, 499, 7, 114, 2, 2, 499, 500, 7, 119, 2, 2, 500, 501, 7, 100, 2, 2, 501, 502, 7, 110, 2, 2, 502, 503, 7, 107, 2, 2, 503, 504, 7, 101, 2, 2, 504, 64, 3, 2, 2, 2, 505, 506, 7, 116, 2, 2, 506, 507, 7, 103, 2, 2, 507, 508, 7, 118, 2, 2, 508, 509, 7, 119, 2, 2, 509, 510, 7, 116, 2, 2, 510, 511, 7, 112, 2, 2, 511, 66, 3, 2, 2, 2, 512, 513, 5, 279, 140, 2, 513, 514, 5, 291, 146, 2, 514, 515, 5, 279, 140, 2, 515, 516, 5, 281, 141, 2, 516, 517, 5, 251, 126, 2, 517, 518, 5, 267, 134, 2, 518, 519, 5, 151, 76, 2, 519, 520, 5, 277, 139, 2, 520, 521, 5, 283, 142, 2, 521, 522, 5, 269, 135, 2, 522, 523, 5, 243, 122, 2, 523, 524, 5, 279, 140, 2, 524, 68, 3, 2, 2, 2, 525, 526, 7, 117, 2, 2, 526, 527, 7, 103, 2, 2, 527, 528, 7, 118, 2, 2, 528, 70, 3, 2, 2, 2, 529, 530, 7, 117, 2, 2, 530, 531, 7, 106, 2, 2, 531, 532, 7, 99, 2, 2, 532, 533, 7, 116, 2, 2, 533, 534, 7, 107, 2, 2, 534, 535, 7, 112, 2, 2, 535, 536, 7, 105, 2, 2, 536, 72, 3, 2, 2, 2, 537, 538, 7, 117, 2, 2, 538, 539, 7, 118, 2, 2, 539, 540, 7, 99, 2, 2, 540, 541, 7, 118, 2, 2, 541, 542, 7, 107, 2, 2, 542, 543, 7, 101, 2, 2, 543, 74, 3, 2, 2, 2, 544, 545, 7, 117, 2, 2, 545, 546, 7, 119, 2, 2, 546, 547, 7, 114, 2, 2, 547, 548, 7, 103, 2, 2, 548, 549, 7, 116, 2, 2, 549, 76, 3, 2, 2, 2, 550, 551, 7, 117, 2, 2, 551, 552, 7, 121, 2, 2, 552, 553, 7, 107, 2, 2, 553, 554, 7, 118, 2, 2, 554, 555, 7, 101, 2, 2, 555, 556, 7, 106, 2, 2, 556, 78, 3, 2, 2, 2, 557, 558, 5, 281, 141, 2, 558, 559, 5, 251, 126, 2, 559, 560, 5, 279, 140, 2, 560, 561, 5, 281, 141, 2, 561, 562, 5, 267, 134, 2, 562, 563, 5, 251, 126, 2, 563, 564, 5, 281, 141, 2, 564, 565, 5, 257, 129, 2, 565, 566, 5, 271, 136, 2, 566, 567, 5, 249, 125, 2, 567, 80, 3, 2, 2, 2, 568, 569, 7, 118, 2, 2, 569, 570, 7, 106, 2, 2, 570, 571, 7, 107, 2, 2, 571, 572, 7, 117, 2, 2, 572, 82, 3, 2, 2, 2, 573, 574, 7, 118, 2, 2, 574, 575, 7, 106, 2, 2, 575, 576, 7, 116, 2, 2, 576, 577, 7, 113, 2, 2, 577, 578, 7, 121, 2, 2, 578, 84, 3, 2, 2, 2, 579, 580, 7, 118, 2, 2, 580, 581, 7, 116, 2, 2, 581, 582, 7, 99, 2, 2, 582, 583, 7, 112, 2, 2, 583, 584, 7, 117, 2, 2, 584, 585, 7, 107, 2, 2, 585, 586, 7, 103, 2, 2, 586, 587, 7, 112, 2, 2, 587, 588, 7, 118, 2, 2, 588, 86, 3, 2, 2, 2, 589, 590, 7, 118, 2, 2, 590, 591, 7, 116, 2, 2, 591, 592, 7, 107, 2, 2, 592, 593, 7, 105, 2, 2, 593, 594, 7, 105, 2, 2, 594, 595, 7, 103, 2, 2, 595, 596, 7, 116, 2, 2, 596, 88, 3, 2, 2, 2, 597, 598, 7, 118, 2, 2, 598, 599, 7, 116, 2, 2, 599, 600, 7, 123, 2, 2, 600, 90, 3, 2, 2, 2, 601, 602, 7, 119, 2, 2, 602, 603, 7, 112, 2, 2, 603, 604, 7, 102, 2, 2, 604, 605, 7, 103, 2, 2, 605, 606, 7, 110, 2, 2, 606, 607, 7, 103, 2, 2, 607, 608, 7, 118, 2, 2, 608, 609, 7, 103, 2, 2, 609, 92, 3, 2, 2, 2, 610, 611, 7, 119, 2, 2, 611, 612, 7, 114, 2, 2, 612, 613, 7, 102, 2, 2, 613, 614, 7, 99, 2, 2, 614, 615, 7, 118, 2, 2, 615, 616, 7, 103, 2, 2, 616, 94, 3, 2, 2, 2, 617, 618, 7, 119, 2, 2, 618, 619, 7, 114, 2, 2, 619, 620, 7, 117, 2, 2, 620, 621, 7, 103, 2, 2, 621, 622, 7, 116, 2, 2, 622, 623, 7, 118, 2, 2, 623, 96, 3, 2, 2, 2, 624, 625, 7, 120, 2, 2, 625, 626, 7, 107, 2, 2, 626, 627, 7, 116, 2, 2, 627, 628, 7, 118, 2, 2, 628, 629, 7, 119, 2, 2, 629, 630, 7, 99, 2, 2, 630, 631, 7, 110, 2, 2, 631, 98, 3, 2, 2, 2, 632, 633, 7, 120, 2, 2, 633, 634, 7, 113, 2, 2, 634, 635, 7, 107, 2, 2, 635, 636, 7, 102, 2, 2, 636, 100, 3, 2, 2, 2, 637, 638, 7, 121, 2, 2, 638, 639, 7, 103, 2, 2, 639, 640, 7, 100, 2, 2, 640, 641, 7, 117, 2, 2, 641, 642, 7, 103, 2, 2, 642, 643, 7, 116, 2, 2, 643, 644, 7, 120, 2, 2, 644, 645, 7, 107, 2, 2, 645, 646, 7, 101, 2, 2, 646, 647, 7, 103, 2, 2, 647, 102, 3, 2, 2, 2, 648, 649, 7, 121, 2, 2, 649, 650, 7, 106, 2, 2, 650, 651, 7, 103, 2, 2, 651, 652, 7, 112, 2, 2, 652, 104, 3, 2, 2, 2, 653, 654, 7, 121, 2, 2, 654, 655, 7, 106, 2, 2, 655, 656, 7, 107, 2, 2, 656, 657, 7, 110, 2, 2, 657, 658, 7, 103, 2, 2, 658, 106, 3, 2, 2, 2, 659, 660, 7, 121, 2, 2, 660, 661, 7, 107, 2, 2, 661, 662, 7, 118, 2, 2, 662, 663, 7, 106, 2, 2, 663, 108, 3, 2, 2, 2, 664, 665, 7, 121, 2, 2, 665, 666, 7, 107, 2, 2, 666, 667, 7, 118, 2, 2, 667, 668, 7, 106, 2, 2, 668, 669, 7, 113, 2, 2, 669, 670, 7, 119, 2, 2, 670, 671, 7, 118, 2, 2, 671, 110, 3, 2, 2, 2, 672, 673, 7, 110, 2, 2, 673, 674, 7, 107, 2, 2, 674, 675, 7, 117, 2, 2, 675, 676, 7, 118, 2, 2, 676, 112, 3, 2, 2, 2, 677, 678, 7, 111, 2, 2, 678, 679, 7, 99, 2, 2, 679, 680, 7, 114, 2, 2, 680, 114, 3, 2, 2, 2, 681, 685, 5, 121, 61, 2, 682, 684, 5, 121, 61, 2, 683, 682, 3, 2, 2, 2, 684, 687, 3, 2, 2, 2, 685, 683, 3, 2, 2, 2, 685, 686, 3, 2, 2, 2, 686, 689, 3, 2, 2, 2, 687, 685, 3, 2, 2, 2, 688, 690, 9, 2, 2, 2, 689, 688, 3, 2, 2, 2, 689, 690, 3, 2, 2, 2, 690, 116, 3, 2, 2, 2, 691, 693, 5, 121, 61, 2, 692, 691, 3, 2, 2, 2, 693, 696, 3, 2, 2, 2, 694, 692, 3, 2, 2, 2, 694, 695, 3, 2, 2, 2, 695, 697, 3, 2, 2, 2, 696, 694, 3, 2, 2, 2, 697, 698, 7, 48, 2, 2, 698, 702, 5, 121, 61, 2, 699, 701, 5, 121, 61, 2, 700, 699, 3, 2, 2, 2, 701, 704, 3, 2, 2, 2, 702, 700, 3, 2, 2, 2, 702, 703, 3, 2, 2, 2, 703, 706, 3, 2, 2, 2, 704, 702, 3, 2, 2, 2, 705, 707, 9, 3, 2, 2, 706, 705, 3, 2, 2, 2, 706, 707, 3, 2, 2, 2, 707, 118, 3, 2, 2, 2, 708, 711, 5, 121, 61, 2, 709, 711, 4, 99, 104, 2, 710, 708, 3, 2, 2, 2, 710, 709, 3, 2, 2, 2, 711, 120, 3, 2, 2, 2, 712, 713, 9, 4, 2, 2, 713, 122, 3, 2, 2, 2, 714, 715, 7, 118, 2, 2, 715, 716, 7, 116, 2, 2, 716, 717, 7, 119, 2, 2, 717, 724, 7, 103, 2, 2, 718, 719, 7, 104, 2, 2, 719, 720, 7, 99, 2, 2, 720, 721, 7, 110, 2, 2, 721, 722, 7, 117, 2, 2, 722, 724, 7, 103, 2, 2, 723, 714, 3, 2, 2, 2, 723, 718, 3, 2, 2, 2, 724, 124, 3, 2, 2, 2, 725, 727, 7, 41, 2, 2, 726, 728, 5, 127, 64, 2, 727, 726, 3, 2, 2, 2, 727, 728, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729, 730, 7, 41, 2, 2, 730, 126, 3, 2, 2, 2, 731, 733, 5, 129, 65, 2, 732, 731, 3, 2, 2, 2, 733, 734, 3, 2, 2, 2, 734, 732, 3, 2, 2, 2, 734, 735, 3, 2, 2, 2, 735, 128, 3, 2, 2, 2, 736, 739, 10, 5, 2, 2, 737, 739, 5, 131, 66, 2, 738, 736, 3, 2, 2, 2, 738, 737, 3, 2, 2, 2, 739, 130, 3, 2, 2, 2, 740, 741, 7, 94, 2, 2, 741, 751, 9, 6, 2, 2, 742, 743, 7, 94, 2, 2, 743, 744, 7, 119, 2, 2, 744, 745, 3, 2, 2, 2, 745, 746, 5, 119, 60, 2, 746, 747, 5, 119, 60, 2, 747, 748, 5, 119, 60, 2, 748, 749, 5, 119, 60, 2, 749, 751, 3, 2, 2, 2, 750, 740, 3, 2, 2, 2, 750, 742, 3, 2, 2, 2, 751, 132, 3, 2, 2, 2, 752, 753, 5, 53, 27, 2, 753, 134, 3, 2, 2, 2, 754, 755, 7, 42, 2, 2, 755, 136, 3, 2, 2, 2, 756, 757, 7, 43, 2, 2, 757, 138, 3, 2, 2, 2, 758, 759, 7, 125, 2, 2, 759, 140, 3, 2, 2, 2, 760, 761, 7, 127, 2, 2, 761, 142, 3, 2, 2, 2, 762, 763, 7, 93, 2, 2, 763, 144, 3, 2, 2, 2, 764, 765, 7, 95, 2, 2, 765, 146, 3, 2, 2, 2, 766, 767, 7, 61, 2, 2, 767, 148, 3, 2, 2, 2, 768, 769, 7, 46, 2, 2, 769, 150, 3, 2, 2, 2, 770, 771, 7, 48, 2, 2, 771, 152, 3, 2, 2, 2, 772, 773, 7, 63, 2, 2, 773, 154, 3, 2, 2, 2, 774, 775, 7, 64, 2, 2, 775, 156, 3, 2, 2, 2, 776, 777, 7, 62, 2, 2, 777, 158, 3, 2, 2, 2, 778, 779, 7, 35, 2, 2, 779, 160, 3, 2, 2, 2, 780, 781, 7, 128, 2, 2, 781, 162, 3, 2, 2, 2, 782, 783, 7, 65, 2, 2, 783, 784, 7, 48, 2, 2, 784, 164, 3, 2, 2, 2, 785, 786, 7, 65, 2, 2, 786, 166, 3, 2, 2, 2, 787, 788, 7, 60, 2, 2, 788, 168, 3, 2, 2, 2, 789, 790, 7, 63, 2, 2, 790, 791, 7, 63, 2, 2, 791, 170, 3, 2, 2, 2, 792, 793, 7, 63, 2, 2, 793, 794, 7, 63, 2, 2, 794, 795, 7, 63, 2, 2, 795, 172, 3, 2, 2, 2, 796, 797, 7, 35, 2, 2, 797, 798, 7, 63, 2, 2, 798, 174, 3, 2, 2, 2, 799, 800, 7, 62, 2, 2, 800, 801, 7, 64, 2, 2, 801, 176, 3, 2, 2, 2, 802, 803, 7, 35, 2, 2, 803, 804, 7, 63, 2, 2, 804, 805, 7, 63, 2, 2, 805, 178, 3, 2, 2, 2, 806, 807, 7, 40, 2, 2, 807, 808, 7, 40, 2, 2, 808, 180, 3, 2, 2, 2, 809, 810, 7, 126, 2, 2, 810, 811, 7, 126, 2, 2, 811, 182, 3, 2, 2, 2, 812, 813, 7, 45, 2, 2, 813, 814, 7, 45, 2, 2, 814, 184, 3, 2, 2, 2, 815, 816, 7, 47, 2, 2, 816, 817, 7, 47, 2, 2, 817, 186, 3, 2, 2, 2, 818, 819, 7, 45, 2, 2, 819, 188, 3, 2, 2, 2, 820, 821, 7, 47, 2, 2, 821, 190, 3, 2, 2, 2, 822, 823, 7, 44, 2, 2, 823, 192, 3, 2, 2, 2, 824, 825, 7, 49, 2, 2, 825, 194, 3, 2, 2, 2, 826, 827, 7, 40, 2, 2, 827, 196, 3, 2, 2, 2, 828, 829, 7, 126, 2, 2, 829, 198, 3, 2, 2, 2, 830, 831, 7, 96, 2, 2, 831, 200, 3, 2, 2, 2, 832, 833, 7, 39, 2, 2, 833, 202, 3, 2, 2, 2, 834, 835, 7, 63, 2, 2, 835, 836, 7, 64, 2, 2, 836, 204, 3, 2, 2, 2, 837, 838, 7, 45, 2, 2, 838, 839, 7, 63, 2, 2, 839, 206, 3, 2, 2, 2, 840, 841, 7, 47, 2, 2, 841, 842, 7, 63, 2, 2, 842, 208, 3, 2, 2, 2, 843, 844, 7, 44, 2, 2, 844, 845, 7, 63, 2, 2, 845, 210, 3, 2, 2, 2, 846, 847, 7, 49, 2, 2, 847, 848, 7, 63, 2, 2, 848, 212, 3, 2, 2, 2, 849, 850, 7, 40, 2, 2, 850, 851, 7, 63, 2, 2, 851, 214, 3, 2, 2, 2, 852, 853, 7, 126, 2, 2, 853, 854, 7, 63, 2, 2, 854, 216, 3, 2, 2, 2, 855, 856, 7, 96, 2, 2, 856, 857, 7, 63, 2, 2, 857, 218, 3, 2, 2, 2, 858, 859, 7, 39, 2, 2, 859, 860, 7, 63, 2, 2, 860, 220, 3, 2, 2, 2, 861, 862, 7, 62, 2, 2, 862, 863, 7, 62, 2, 2, 863, 864, 7, 63, 2, 2, 864, 222, 3, 2, 2, 2, 865, 866, 7, 64, 2, 2, 866, 867, 7, 64, 2, 2, 867, 868, 7, 63, 2, 2, 868, 224, 3, 2, 2, 2, 869, 870, 7, 64, 2, 2, 870, 871, 7, 64, 2, 2, 871, 872, 7, 64, 2, 2, 872, 873, 7, 63, 2, 2, 873, 226, 3, 2, 2, 2, 874, 875, 7, 66, 2, 2, 875, 228, 3, 2, 2, 2, 876, 880, 5, 231, 116, 2, 877, 879, 5, 233, 117, 2, 878, 877, 3, 2, 2, 2, 879, 882, 3, 2, 2, 2, 880, 878, 3, 2, 2, 2, 880, 881, 3, 2, 2, 2, 881, 230, 3, 2, 2, 2, 882, 880, 3, 2, 2, 2, 883, 888, 9, 7, 2, 2, 884, 888, 10, 8, 2, 2, 885, 886, 9, 9, 2, 2, 886, 888, 9, 10, 2, 2, 887, 883, 3, 2, 2, 2, 887, 884, 3, 2, 2, 2, 887, 885, 3, 2, 2, 2, 888, 232, 3, 2, 2, 2, 889, 894, 9, 11, 2, 2, 890, 894, 10, 8, 2, 2, 891, 892, 9, 9, 2, 2, 892, 894, 9, 10, 2, 2, 893, 889, 3, 2, 2, 2, 893, 890, 3, 2, 2, 2, 893, 891, 3, 2, 2, 2, 894, 234, 3, 2, 2, 2, 895, 896, 7, 49, 2, 2, 896, 897, 7, 44, 2, 2, 897, 898, 7, 44, 2, 2, 898, 902, 3, 2, 2, 2, 899, 901, 5, 237, 119, 2, 900, 899, 3, 2, 2, 2, 901, 904, 3, 2, 2, 2, 902, 900, 3, 2, 2, 2, 902, 903, 3, 2, 2, 2, 903, 905, 3, 2, 2, 2, 904, 902, 3, 2, 2, 2, 905, 909, 9, 12, 2, 2, 906, 908, 11, 2, 2, 2, 907, 906, 3, 2, 2, 2, 908, 911, 3, 2, 2, 2, 909, 910, 3, 2, 2, 2, 909, 907, 3, 2, 2, 2, 910, 912, 3, 2, 2, 2, 911, 909, 3, 2, 2, 2, 912, 913, 7, 44, 2, 2, 913, 914, 7, 49, 2, 2, 914, 236, 3, 2, 2, 2, 915, 917, 9, 13, 2, 2, 916, 915, 3, 2, 2, 2, 917, 918, 3, 2, 2, 2, 918, 916, 3, 2, 2, 2, 918, 919, 3, 2, 2, 2, 919, 920, 3, 2, 2, 2, 920, 921, 8, 119, 2, 2, 921, 238, 3, 2, 2, 2, 922, 923, 7, 49, 2, 2, 923, 924, 7, 44, 2, 2, 924, 928, 3, 2, 2, 2, 925, 927, 11, 2, 2, 2, 926, 925, 3, 2, 2, 2, 927, 930, 3, 2, 2, 2, 928, 929, 3, 2, 2, 2, 928, 926, 3, 2, 2, 2, 929, 931, 3, 2, 2, 2, 930, 928, 3, 2, 2, 2, 931, 932, 7, 44, 2, 2, 932, 933, 7, 49, 2, 2, 933, 934, 3, 2, 2, 2, 934, 935, 8, 120, 3, 2, 935, 240, 3, 2, 2, 2, 936, 937, 7, 49, 2, 2, 937, 938, 7, 49, 2, 2, 938, 942, 3, 2, 2, 2, 939, 941, 10, 12, 2, 2, 940, 939, 3, 2, 2, 2, 941, 944, 3, 2, 2, 2, 942, 940, 3, 2, 2, 2, 942, 943, 3, 2, 2, 2, 943, 945, 3, 2, 2, 2, 944, 942, 3, 2, 2, 2, 945, 946, 8, 121, 3, 2, 946, 242, 3, 2, 2, 2, 947, 948, 9, 14, 2, 2, 948, 244, 3, 2, 2, 2, 949, 950, 9, 15, 2, 2, 950, 246, 3, 2, 2, 2, 951, 952, 9, 16, 2, 2, 952, 248, 3, 2, 2, 2, 953, 954, 9, 3, 2, 2, 954, 250, 3, 2, 2, 2, 955, 956, 9, 17, 2, 2, 956, 252, 3, 2, 2, 2, 957, 958, 9, 18, 2, 2, 958, 254, 3, 2, 2, 2, 959, 960, 9, 19, 2, 2, 960, 256, 3, 2, 2, 2, 961, 962, 9, 20, 2, 2, 962, 258, 3, 2, 2, 2, 963, 964, 9, 21, 2, 2, 964, 260, 3, 2, 2, 2, 965, 966, 9, 22, 2, 2, 966, 262, 3, 2, 2, 2, 967, 968, 9, 23, 2, 2, 968, 264, 3, 2, 2, 2, 969, 970, 9, 2, 2, 2, 970, 266, 3, 2, 2, 2, 971, 972, 9, 24, 2, 2, 972, 268, 3, 2, 2, 2, 973, 974, 9, 25, 2, 2, 974, 270, 3, 2, 2, 2, 975, 976, 9, 26, 2, 2, 976, 272, 3, 2, 2, 2, 977, 978, 9, 27, 2, 2, 978, 274, 3, 2, 2, 2, 979, 980, 9, 28, 2, 2, 980, 276, 3, 2, 2, 2, 981, 982, 9, 29, 2, 2, 982, 278, 3, 2, 2, 2, 983, 984, 9, 30, 2, 2, 984, 280, 3, 2, 2, 2, 985, 986, 9, 31, 2, 2, 986, 282, 3, 2, 2, 2, 987, 988, 9, 32, 2, 2, 988, 284, 3, 2, 2, 2, 989, 990, 9, 33, 2, 2, 990, 286, 3, 2, 2, 2, 991, 992, 9, 34, 2, 2, 992, 288, 3, 2, 2, 2, 993, 994, 9, 35, 2, 2, 994, 290, 3, 2, 2, 2, 995, 996, 9, 36, 2, 2, 996, 292, 3, 2, 2, 2, 997, 998, 9, 37, 2, 2, 998, 294, 3, 2, 2, 2, 22, 2, 685, 689, 694, 702, 706, 710, 723, 727, 734, 738, 750, 880, 887, 893, 902, 909, 918, 928, 942, 4, 2, 4, 2, 2, 5, 2]
@@ -1,212 +0,0 @@
1
- ABSTRACT=1
2
- AFTER=2
3
- BEFORE=3
4
- BREAK=4
5
- CATCH=5
6
- CLASS=6
7
- CONTINUE=7
8
- DELETE=8
9
- DO=9
10
- ELSE=10
11
- ENUM=11
12
- EXTENDS=12
13
- FINAL=13
14
- FINALLY=14
15
- FOR=15
16
- GET=16
17
- GLOBAL=17
18
- IF=18
19
- IMPLEMENTS=19
20
- INHERITED=20
21
- INSERT=21
22
- INSTANCEOF=22
23
- INTERFACE=23
24
- MERGE=24
25
- NEW=25
26
- NULL=26
27
- ON=27
28
- OVERRIDE=28
29
- PRIVATE=29
30
- PROTECTED=30
31
- PUBLIC=31
32
- RETURN=32
33
- SYSTEMRUNAS=33
34
- SET=34
35
- SHARING=35
36
- STATIC=36
37
- SUPER=37
38
- SWITCH=38
39
- TESTMETHOD=39
40
- THIS=40
41
- THROW=41
42
- TRANSIENT=42
43
- TRIGGER=43
44
- TRY=44
45
- UNDELETE=45
46
- UPDATE=46
47
- UPSERT=47
48
- VIRTUAL=48
49
- VOID=49
50
- WEBSERVICE=50
51
- WHEN=51
52
- WHILE=52
53
- WITH=53
54
- WITHOUT=54
55
- LIST=55
56
- MAP=56
57
- IntegerLiteral=57
58
- NumberLiteral=58
59
- BooleanLiteral=59
60
- StringLiteral=60
61
- NullLiteral=61
62
- LPAREN=62
63
- RPAREN=63
64
- LBRACE=64
65
- RBRACE=65
66
- LBRACK=66
67
- RBRACK=67
68
- SEMI=68
69
- COMMA=69
70
- DOT=70
71
- ASSIGN=71
72
- GT=72
73
- LT=73
74
- BANG=74
75
- TILDE=75
76
- QUESTIONDOT=76
77
- QUESTION=77
78
- COLON=78
79
- EQUAL=79
80
- TRIPLEEQUAL=80
81
- NOTEQUAL=81
82
- LESSANDGREATER=82
83
- TRIPLENOTEQUAL=83
84
- AND=84
85
- OR=85
86
- INC=86
87
- DEC=87
88
- ADD=88
89
- SUB=89
90
- MUL=90
91
- DIV=91
92
- BITAND=92
93
- BITOR=93
94
- CARET=94
95
- MOD=95
96
- MAPTO=96
97
- ADD_ASSIGN=97
98
- SUB_ASSIGN=98
99
- MUL_ASSIGN=99
100
- DIV_ASSIGN=100
101
- AND_ASSIGN=101
102
- OR_ASSIGN=102
103
- XOR_ASSIGN=103
104
- MOD_ASSIGN=104
105
- LSHIFT_ASSIGN=105
106
- RSHIFT_ASSIGN=106
107
- URSHIFT_ASSIGN=107
108
- AT=108
109
- Identifier=109
110
- DOC_COMMENT=110
111
- WS=111
112
- COMMENT=112
113
- LINE_COMMENT=113
114
- 'abstract'=1
115
- 'after'=2
116
- 'before'=3
117
- 'break'=4
118
- 'catch'=5
119
- 'class'=6
120
- 'continue'=7
121
- 'delete'=8
122
- 'do'=9
123
- 'else'=10
124
- 'extends'=12
125
- 'final'=13
126
- 'finally'=14
127
- 'for'=15
128
- 'get'=16
129
- 'global'=17
130
- 'if'=18
131
- 'implements'=19
132
- 'inherited'=20
133
- 'insert'=21
134
- 'interface'=23
135
- 'merge'=24
136
- 'new'=25
137
- 'null'=26
138
- 'on'=27
139
- 'override'=28
140
- 'private'=29
141
- 'protected'=30
142
- 'public'=31
143
- 'return'=32
144
- 'set'=34
145
- 'sharing'=35
146
- 'static'=36
147
- 'super'=37
148
- 'switch'=38
149
- 'this'=40
150
- 'throw'=41
151
- 'transient'=42
152
- 'trigger'=43
153
- 'try'=44
154
- 'undelete'=45
155
- 'update'=46
156
- 'upsert'=47
157
- 'virtual'=48
158
- 'void'=49
159
- 'webservice'=50
160
- 'when'=51
161
- 'while'=52
162
- 'with'=53
163
- 'without'=54
164
- 'list'=55
165
- 'map'=56
166
- '('=62
167
- ')'=63
168
- '{'=64
169
- '}'=65
170
- '['=66
171
- ']'=67
172
- ';'=68
173
- ','=69
174
- '.'=70
175
- '='=71
176
- '>'=72
177
- '<'=73
178
- '!'=74
179
- '~'=75
180
- '?.'=76
181
- '?'=77
182
- ':'=78
183
- '=='=79
184
- '==='=80
185
- '!='=81
186
- '<>'=82
187
- '!=='=83
188
- '&&'=84
189
- '||'=85
190
- '++'=86
191
- '--'=87
192
- '+'=88
193
- '-'=89
194
- '*'=90
195
- '/'=91
196
- '&'=92
197
- '|'=93
198
- '^'=94
199
- '%'=95
200
- '=>'=96
201
- '+='=97
202
- '-='=98
203
- '*='=99
204
- '/='=100
205
- '&='=101
206
- '|='=102
207
- '^='=103
208
- '%='=104
209
- '<<='=105
210
- '>>='=106
211
- '>>>='=107
212
- '@'=108