occam-verify-cli 1.0.184 → 1.0.192

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 (196) hide show
  1. package/lib/constants.js +5 -1
  2. package/lib/dom/assertion/property.js +2 -4
  3. package/lib/dom/assertion/subproof.js +3 -5
  4. package/lib/dom/assertion/type.js +6 -8
  5. package/lib/dom/axiom.js +15 -100
  6. package/lib/dom/conjecture.js +5 -4
  7. package/lib/dom/constructor/bracketed.js +6 -7
  8. package/lib/dom/declaration/complexType.js +6 -6
  9. package/lib/dom/declaration/metavariable.js +3 -5
  10. package/lib/dom/declaration/type.js +2 -2
  11. package/lib/dom/declaration.js +2 -4
  12. package/lib/dom/derivation.js +2 -4
  13. package/lib/dom/equality.js +9 -11
  14. package/lib/dom/frame.js +8 -12
  15. package/lib/dom/judgement.js +2 -4
  16. package/lib/dom/lemma.js +5 -4
  17. package/lib/dom/metaLemma.js +5 -4
  18. package/lib/dom/metaType.js +2 -4
  19. package/lib/dom/metatheorem.js +5 -4
  20. package/lib/dom/metavariable.js +12 -15
  21. package/lib/dom/parameter.js +2 -4
  22. package/lib/dom/procedureCall.js +6 -10
  23. package/lib/dom/proof.js +2 -4
  24. package/lib/dom/property.js +16 -51
  25. package/lib/dom/propertyRelation.js +8 -10
  26. package/lib/dom/reference.js +7 -11
  27. package/lib/dom/rule.js +6 -8
  28. package/lib/dom/statement.js +27 -31
  29. package/lib/dom/step.js +4 -6
  30. package/lib/dom/subDerivation.js +2 -4
  31. package/lib/dom/subproof.js +6 -8
  32. package/lib/dom/term.js +14 -20
  33. package/lib/dom/theorem.js +5 -4
  34. package/lib/dom/topLevelAssertion.js +30 -24
  35. package/lib/dom/topLevelMetaAssertion.js +5 -15
  36. package/lib/dom/type.js +8 -25
  37. package/lib/dom/variable.js +5 -11
  38. package/lib/node/assertion/contained.js +45 -58
  39. package/lib/node/assertion/defined.js +33 -58
  40. package/lib/node/assertion/property.js +33 -58
  41. package/lib/node/assertion/satisfies.js +21 -58
  42. package/lib/node/assertion/subproof.js +21 -58
  43. package/lib/node/assertion/type.js +33 -58
  44. package/lib/node/axiom.js +6 -52
  45. package/lib/node/combinator.js +6 -57
  46. package/lib/node/conclusion.js +21 -58
  47. package/lib/node/conjecture.js +6 -52
  48. package/lib/node/constructor.js +6 -57
  49. package/lib/node/declaration/combinator.js +13 -61
  50. package/lib/node/declaration/complexType.js +27 -75
  51. package/lib/node/declaration/constructor.js +24 -70
  52. package/lib/node/declaration/metavariable.js +40 -58
  53. package/lib/node/declaration/property.js +27 -72
  54. package/lib/node/declaration/type.js +23 -69
  55. package/lib/node/declaration/variable.js +28 -83
  56. package/lib/node/declaration.js +33 -58
  57. package/lib/node/deduction.js +21 -58
  58. package/lib/node/derivation.js +21 -58
  59. package/lib/node/equality.js +34 -58
  60. package/lib/node/error.js +6 -57
  61. package/lib/node/frame.js +52 -58
  62. package/lib/node/judgement.js +33 -58
  63. package/lib/node/label.js +21 -58
  64. package/lib/{node.js → node/labels.js} +25 -27
  65. package/lib/node/lemma.js +6 -52
  66. package/lib/node/metaLemma.js +6 -52
  67. package/lib/node/metaType.js +18 -60
  68. package/lib/node/metatheorem.js +6 -52
  69. package/lib/node/metavariable.js +40 -61
  70. package/lib/node/parameter.js +22 -58
  71. package/lib/node/parenthesisedLabels.js +123 -0
  72. package/lib/node/premise.js +33 -58
  73. package/lib/node/procedureCall.js +33 -58
  74. package/lib/node/proof.js +21 -58
  75. package/lib/node/property.js +18 -62
  76. package/lib/node/propertyRelation.js +40 -58
  77. package/lib/node/reference.js +21 -58
  78. package/lib/node/rule.js +6 -52
  79. package/lib/node/statement.js +105 -58
  80. package/lib/node/step.js +47 -58
  81. package/lib/node/subDerivation.js +21 -58
  82. package/lib/node/subproof.js +47 -58
  83. package/lib/node/supposition.js +33 -58
  84. package/lib/node/term.js +57 -58
  85. package/lib/node/theorem.js +6 -52
  86. package/lib/node/topLevelAssertion.js +86 -59
  87. package/lib/node/topLevelMetaAssertion.js +65 -59
  88. package/lib/node/type.js +14 -60
  89. package/lib/node/variable.js +14 -60
  90. package/lib/nominal/parser.js +3 -3
  91. package/lib/nonTerminalNodeMap.js +5 -3
  92. package/lib/ruleNames.js +10 -2
  93. package/lib/utilities/node.js +283 -7
  94. package/lib/utilities/type.js +16 -4
  95. package/lib/verifier/topLevel.js +6 -6
  96. package/package.json +8 -8
  97. package/src/constants.js +1 -0
  98. package/src/dom/assertion/property.js +1 -4
  99. package/src/dom/assertion/subproof.js +2 -6
  100. package/src/dom/assertion/type.js +7 -10
  101. package/src/dom/axiom.js +7 -77
  102. package/src/dom/conjecture.js +6 -1
  103. package/src/dom/constructor/bracketed.js +6 -8
  104. package/src/dom/declaration/complexType.js +7 -6
  105. package/src/dom/declaration/metavariable.js +2 -6
  106. package/src/dom/declaration/type.js +4 -2
  107. package/src/dom/declaration.js +1 -5
  108. package/src/dom/derivation.js +1 -4
  109. package/src/dom/equality.js +13 -17
  110. package/src/dom/frame.js +7 -19
  111. package/src/dom/judgement.js +1 -4
  112. package/src/dom/lemma.js +6 -1
  113. package/src/dom/metaLemma.js +6 -1
  114. package/src/dom/metaType.js +1 -5
  115. package/src/dom/metatheorem.js +6 -1
  116. package/src/dom/metavariable.js +11 -25
  117. package/src/dom/parameter.js +2 -6
  118. package/src/dom/procedureCall.js +5 -14
  119. package/src/dom/proof.js +1 -4
  120. package/src/dom/property.js +21 -78
  121. package/src/dom/propertyRelation.js +10 -14
  122. package/src/dom/reference.js +6 -18
  123. package/src/dom/rule.js +6 -12
  124. package/src/dom/statement.js +26 -46
  125. package/src/dom/step.js +3 -5
  126. package/src/dom/subDerivation.js +1 -4
  127. package/src/dom/subproof.js +8 -12
  128. package/src/dom/term.js +16 -32
  129. package/src/dom/theorem.js +6 -1
  130. package/src/dom/topLevelAssertion.js +30 -25
  131. package/src/dom/topLevelMetaAssertion.js +16 -28
  132. package/src/dom/type.js +9 -35
  133. package/src/dom/variable.js +4 -12
  134. package/src/node/assertion/contained.js +41 -3
  135. package/src/node/assertion/defined.js +29 -3
  136. package/src/node/assertion/property.js +29 -3
  137. package/src/node/assertion/satisfies.js +17 -3
  138. package/src/node/assertion/subproof.js +17 -3
  139. package/src/node/assertion/type.js +29 -3
  140. package/src/node/axiom.js +3 -3
  141. package/src/node/combinator.js +3 -3
  142. package/src/node/conclusion.js +17 -3
  143. package/src/node/conjecture.js +3 -3
  144. package/src/node/constructor.js +3 -3
  145. package/src/node/declaration/combinator.js +11 -7
  146. package/src/node/declaration/complexType.js +25 -24
  147. package/src/node/declaration/constructor.js +22 -17
  148. package/src/node/declaration/metavariable.js +36 -3
  149. package/src/node/declaration/property.js +21 -17
  150. package/src/node/declaration/type.js +22 -17
  151. package/src/node/declaration/variable.js +24 -32
  152. package/src/node/declaration.js +29 -3
  153. package/src/node/deduction.js +17 -3
  154. package/src/node/derivation.js +18 -3
  155. package/src/node/equality.js +31 -3
  156. package/src/node/error.js +3 -3
  157. package/src/node/frame.js +53 -3
  158. package/src/node/judgement.js +29 -3
  159. package/src/node/label.js +17 -3
  160. package/src/node/labels.js +21 -0
  161. package/src/node/lemma.js +3 -3
  162. package/src/node/metaLemma.js +3 -3
  163. package/src/node/metaType.js +19 -8
  164. package/src/node/metatheorem.js +3 -3
  165. package/src/node/metavariable.js +42 -9
  166. package/src/node/parameter.js +20 -3
  167. package/src/node/parenthesisedLabels.js +28 -0
  168. package/src/node/premise.js +29 -3
  169. package/src/node/procedureCall.js +29 -3
  170. package/src/node/proof.js +17 -3
  171. package/src/node/property.js +18 -12
  172. package/src/node/propertyRelation.js +35 -3
  173. package/src/node/reference.js +17 -3
  174. package/src/node/rule.js +3 -3
  175. package/src/node/statement.js +108 -3
  176. package/src/node/step.js +41 -3
  177. package/src/node/subDerivation.js +18 -3
  178. package/src/node/subproof.js +41 -3
  179. package/src/node/supposition.js +29 -3
  180. package/src/node/term.js +62 -3
  181. package/src/node/theorem.js +3 -3
  182. package/src/node/topLevelAssertion.js +89 -3
  183. package/src/node/topLevelMetaAssertion.js +59 -3
  184. package/src/node/type.js +15 -8
  185. package/src/node/variable.js +15 -8
  186. package/src/nominal/parser.js +1 -1
  187. package/src/nonTerminalNodeMap.js +9 -3
  188. package/src/ruleNames.js +3 -1
  189. package/src/utilities/node.js +147 -6
  190. package/src/utilities/type.js +9 -0
  191. package/src/verifier/topLevel.js +5 -10
  192. package/lib/defaultTerminalNode.js +0 -20
  193. package/lib/mixins/node.js +0 -145
  194. package/src/defaultTerminalNode.js +0 -7
  195. package/src/mixins/node.js +0 -201
  196. package/src/node.js +0 -29
@@ -9,15 +9,153 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ get isNodeAxiomNode () {
13
+ return isNodeAxiomNode;
14
+ },
15
+ get isNodeCombinatorDeclarationNode () {
16
+ return isNodeCombinatorDeclarationNode;
17
+ },
18
+ get isNodeCombinatorNode () {
19
+ return isNodeCombinatorNode;
20
+ },
21
+ get isNodeComplexTypeDeclarationNode () {
22
+ return isNodeComplexTypeDeclarationNode;
23
+ },
24
+ get isNodeConclusionNode () {
25
+ return isNodeConclusionNode;
26
+ },
27
+ get isNodeConjectureNode () {
28
+ return isNodeConjectureNode;
29
+ },
30
+ get isNodeConstructorDeclarationNode () {
31
+ return isNodeConstructorDeclarationNode;
32
+ },
33
+ get isNodeConstructorNode () {
34
+ return isNodeConstructorNode;
35
+ },
36
+ get isNodeContainedAssertionNode () {
37
+ return isNodeContainedAssertionNode;
38
+ },
39
+ get isNodeDeclarationNode () {
40
+ return isNodeDeclarationNode;
41
+ },
42
+ get isNodeDeductionNode () {
43
+ return isNodeDeductionNode;
44
+ },
45
+ get isNodeDefinedAssertionNode () {
46
+ return isNodeDefinedAssertionNode;
47
+ },
48
+ get isNodeDerivationNode () {
49
+ return isNodeDerivationNode;
50
+ },
51
+ get isNodeEqualityNode () {
52
+ return isNodeEqualityNode;
53
+ },
54
+ get isNodeErrorNode () {
55
+ return isNodeErrorNode;
56
+ },
57
+ get isNodeFrameNode () {
58
+ return isNodeFrameNode;
59
+ },
60
+ get isNodeJudgementNode () {
61
+ return isNodeJudgementNode;
62
+ },
63
+ get isNodeLabelNode () {
64
+ return isNodeLabelNode;
65
+ },
66
+ get isNodeLabelsNode () {
67
+ return isNodeLabelsNode;
68
+ },
69
+ get isNodeLemmaNode () {
70
+ return isNodeLemmaNode;
71
+ },
72
+ get isNodeMetaLemmaNode () {
73
+ return isNodeMetaLemmaNode;
74
+ },
75
+ get isNodeMetaTypeNode () {
76
+ return isNodeMetaTypeNode;
77
+ },
78
+ get isNodeMetatheoremNode () {
79
+ return isNodeMetatheoremNode;
80
+ },
81
+ get isNodeMetavariableDeclarationNode () {
82
+ return isNodeMetavariableDeclarationNode;
83
+ },
84
+ get isNodeMetavariableNode () {
85
+ return isNodeMetavariableNode;
86
+ },
87
+ get isNodeParameterNode () {
88
+ return isNodeParameterNode;
89
+ },
90
+ get isNodeParenthesisedLabelsNode () {
91
+ return isNodeParenthesisedLabelsNode;
92
+ },
93
+ get isNodePremiseNode () {
94
+ return isNodePremiseNode;
95
+ },
96
+ get isNodeProcedureCallNode () {
97
+ return isNodeProcedureCallNode;
98
+ },
99
+ get isNodeProofNode () {
100
+ return isNodeProofNode;
101
+ },
102
+ get isNodePropertyAssertionNode () {
103
+ return isNodePropertyAssertionNode;
104
+ },
12
105
  get isNodePropertyDeclarationNode () {
13
106
  return isNodePropertyDeclarationNode;
14
107
  },
15
108
  get isNodePropertyNode () {
16
109
  return isNodePropertyNode;
17
110
  },
111
+ get isNodePropertyRelationNode () {
112
+ return isNodePropertyRelationNode;
113
+ },
114
+ get isNodeReferenceNode () {
115
+ return isNodeReferenceNode;
116
+ },
117
+ get isNodeRuleNode () {
118
+ return isNodeRuleNode;
119
+ },
120
+ get isNodeSatisfiesAssertionNode () {
121
+ return isNodeSatisfiesAssertionNode;
122
+ },
123
+ get isNodeStatementNode () {
124
+ return isNodeStatementNode;
125
+ },
126
+ get isNodeStepNode () {
127
+ return isNodeStepNode;
128
+ },
129
+ get isNodeSubDerivationNode () {
130
+ return isNodeSubDerivationNode;
131
+ },
132
+ get isNodeSubproofAssertionNode () {
133
+ return isNodeSubproofAssertionNode;
134
+ },
135
+ get isNodeSubproofNode () {
136
+ return isNodeSubproofNode;
137
+ },
138
+ get isNodeSuppositionNode () {
139
+ return isNodeSuppositionNode;
140
+ },
141
+ get isNodeTermNode () {
142
+ return isNodeTermNode;
143
+ },
144
+ get isNodeTheoremNode () {
145
+ return isNodeTheoremNode;
146
+ },
147
+ get isNodeTypeAssertionNode () {
148
+ return isNodeTypeAssertionNode;
149
+ },
150
+ get isNodeTypeDeclarationNode () {
151
+ return isNodeTypeDeclarationNode;
152
+ },
18
153
  get isNodeTypeNode () {
19
154
  return isNodeTypeNode;
20
155
  },
156
+ get isNodeVariableDeclarationNode () {
157
+ return isNodeVariableDeclarationNode;
158
+ },
21
159
  get isNodeVariableNode () {
22
160
  return isNodeVariableNode;
23
161
  },
@@ -39,17 +177,155 @@ function _interop_require_default(obj) {
39
177
  default: obj
40
178
  };
41
179
  }
180
+ function isNodeRuleNode(node) {
181
+ return isNodeRuleNodeByRuleName(node, _ruleNames.RULE_RULE_NAME);
182
+ }
183
+ function isNodeStepNode(node) {
184
+ return isNodeRuleNodeByRuleName(node, _ruleNames.STEP_RULE_NAME);
185
+ }
186
+ function isNodeTermNode(node) {
187
+ return isNodeRuleNodeByRuleName(node, _ruleNames.TERM_RULE_NAME);
188
+ }
42
189
  function isNodeTypeNode(node) {
43
- return isNodeRuleNode(node, _ruleNames.TYPE_RULE_NAME);
190
+ return isNodeRuleNodeByRuleName(node, _ruleNames.TYPE_RULE_NAME);
44
191
  }
45
- function isNodeVariableNode(node) {
46
- return isNodeRuleNode(node, _ruleNames.VARIABLE_RULE_NAME);
192
+ function isNodeLemmaNode(node) {
193
+ return isNodeRuleNodeByRuleName(node, _ruleNames.LEMMA_RULE_NAME);
194
+ }
195
+ function isNodeAxiomNode(node) {
196
+ return isNodeRuleNodeByRuleName(node, _ruleNames.AXIOM_RULE_NAME);
197
+ }
198
+ function isNodeErrorNode(node) {
199
+ return isNodeRuleNodeByRuleName(node, _ruleNames.ERROR_RULE_NAME);
200
+ }
201
+ function isNodeFrameNode(node) {
202
+ return isNodeRuleNodeByRuleName(node, _ruleNames.FRAME_RULE_NAME);
203
+ }
204
+ function isNodeProofNode(node) {
205
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PROOF_RULE_NAME);
206
+ }
207
+ function isNodeLabelNode(node) {
208
+ return isNodeRuleNodeByRuleName(node, _ruleNames.LABEL_RULE_NAME);
209
+ }
210
+ function isNodeLabelsNode(node) {
211
+ return isNodeRuleNodeByRuleName(node, _ruleNames.LABELS_RULE_NAME);
212
+ }
213
+ function isNodeTheoremNode(node) {
214
+ return isNodeRuleNodeByRuleName(node, _ruleNames.THEOREM_RULE_NAME);
215
+ }
216
+ function isNodePremiseNode(node) {
217
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PREMISE_RULE_NAME);
47
218
  }
48
219
  function isNodePropertyNode(node) {
49
- return isNodeRuleNode(node, _ruleNames.PROPERTY_RULE_NAME);
220
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PROPERTY_RULE_NAME);
221
+ }
222
+ function isNodeEqualityNode(node) {
223
+ return isNodeRuleNodeByRuleName(node, _ruleNames.EQUALITY_RULE_NAME);
224
+ }
225
+ function isNodeVariableNode(node) {
226
+ return isNodeRuleNodeByRuleName(node, _ruleNames.VARIABLE_RULE_NAME);
227
+ }
228
+ function isNodeSubproofNode(node) {
229
+ return isNodeRuleNodeByRuleName(node, _ruleNames.SUBPROOF_RULE_NAME);
230
+ }
231
+ function isNodeMetaTypeNode(node) {
232
+ return isNodeRuleNodeByRuleName(node, _ruleNames.META_TYPE_RULE_NAME);
233
+ }
234
+ function isNodeParameterNode(node) {
235
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PARAMETER_RULE_NAME);
236
+ }
237
+ function isNodeDeductionNode(node) {
238
+ return isNodeRuleNodeByRuleName(node, _ruleNames.DEDUCTION_RULE_NAME);
239
+ }
240
+ function isNodeJudgementNode(node) {
241
+ return isNodeRuleNodeByRuleName(node, _ruleNames.JUDGEMENT_RULE_NAME);
242
+ }
243
+ function isNodeReferenceNode(node) {
244
+ return isNodeRuleNodeByRuleName(node, _ruleNames.REFERENCE_RULE_NAME);
245
+ }
246
+ function isNodeStatementNode(node) {
247
+ return isNodeRuleNodeByRuleName(node, _ruleNames.STATEMENT_RULE_NAME);
248
+ }
249
+ function isNodeMetaLemmaNode(node) {
250
+ return isNodeRuleNodeByRuleName(node, _ruleNames.META_LEMMA_RULE_NAME);
251
+ }
252
+ function isNodeCombinatorNode(node) {
253
+ return isNodeRuleNodeByRuleName(node, _ruleNames.COMBINATOR_RULE_NAME);
254
+ }
255
+ function isNodeConclusionNode(node) {
256
+ return isNodeRuleNodeByRuleName(node, _ruleNames.CONCLUSION_RULE_NAME);
257
+ }
258
+ function isNodeConjectureNode(node) {
259
+ return isNodeRuleNodeByRuleName(node, _ruleNames.CONJECTURE_RULE_NAME);
260
+ }
261
+ function isNodeDerivationNode(node) {
262
+ return isNodeRuleNodeByRuleName(node, _ruleNames.DERIVATION_RULE_NAME);
263
+ }
264
+ function isNodeSuppositionNode(node) {
265
+ return isNodeRuleNodeByRuleName(node, _ruleNames.SUPPOSITION_RULE_NAME);
266
+ }
267
+ function isNodeConstructorNode(node) {
268
+ return isNodeRuleNodeByRuleName(node, _ruleNames.CONSTRUCTOR_RULE_NAME);
269
+ }
270
+ function isNodeDeclarationNode(node) {
271
+ return isNodeRuleNodeByRuleName(node, _ruleNames.DECLARATION_RULE_NAME);
272
+ }
273
+ function isNodeMetatheoremNode(node) {
274
+ return isNodeRuleNodeByRuleName(node, _ruleNames.METATHEOREM_RULE_NAME);
275
+ }
276
+ function isNodeMetavariableNode(node) {
277
+ return isNodeRuleNodeByRuleName(node, _ruleNames.METAVARIABLE_RULE_NAME);
278
+ }
279
+ function isNodeProcedureCallNode(node) {
280
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PROCEDURE_CALL_RULE_NAME);
281
+ }
282
+ function isNodeSubDerivationNode(node) {
283
+ return isNodeRuleNodeByRuleName(node, _ruleNames.SUB_DERIVATION_RULE_NAME);
284
+ }
285
+ function isNodeTypeAssertionNode(node) {
286
+ return isNodeRuleNodeByRuleName(node, _ruleNames.TYPE_ASSERTION_RULE_NAME);
287
+ }
288
+ function isNodeTypeDeclarationNode(node) {
289
+ return isNodeRuleNodeByRuleName(node, _ruleNames.TYPE_DECLARATION_RULE_NAME);
290
+ }
291
+ function isNodePropertyRelationNode(node) {
292
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PROPERTY_RELATION_RULE_NAME);
293
+ }
294
+ function isNodeDefinedAssertionNode(node) {
295
+ return isNodeRuleNodeByRuleName(node, _ruleNames.DEFINED_ASSERTION_RULE_NAME);
296
+ }
297
+ function isNodePropertyAssertionNode(node) {
298
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PROPERTY_ASSERTION_RULE_NAME);
299
+ }
300
+ function isNodeSubproofAssertionNode(node) {
301
+ return isNodeRuleNodeByRuleName(node, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME);
302
+ }
303
+ function isNodeContainedAssertionNode(node) {
304
+ return isNodeRuleNodeByRuleName(node, _ruleNames.CONTAINED_ASSERTION_RULE_NAME);
305
+ }
306
+ function isNodeSatisfiesAssertionNode(node) {
307
+ return isNodeRuleNodeByRuleName(node, _ruleNames.SATISFIES_ASSERTION_RULE_NAME);
50
308
  }
51
309
  function isNodePropertyDeclarationNode(node) {
52
- return isNodeRuleNode(node, _ruleNames.PROPERTY_DECLARATION_RULE_NAME);
310
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PROPERTY_DECLARATION_RULE_NAME);
311
+ }
312
+ function isNodeVariableDeclarationNode(node) {
313
+ return isNodeRuleNodeByRuleName(node, _ruleNames.VARIABLE_DECLARATION_RULE_NAME);
314
+ }
315
+ function isNodeParenthesisedLabelsNode(node) {
316
+ return isNodeRuleNodeByRuleName(node, _ruleNames.PARENTHESISED_LABELS_RULE_NAME);
317
+ }
318
+ function isNodeCombinatorDeclarationNode(node) {
319
+ return isNodeRuleNodeByRuleName(node, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME);
320
+ }
321
+ function isNodeConstructorDeclarationNode(node) {
322
+ return isNodeRuleNodeByRuleName(node, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME);
323
+ }
324
+ function isNodeComplexTypeDeclarationNode(node) {
325
+ return isNodeRuleNodeByRuleName(node, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME);
326
+ }
327
+ function isNodeMetavariableDeclarationNode(node) {
328
+ return isNodeRuleNodeByRuleName(node, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME);
53
329
  }
54
330
  function typeFromTypeNode(typeNode) {
55
331
  var type;
@@ -69,7 +345,7 @@ function statementFromStatementNode(statementNode, context) {
69
345
  var Statement = _dom.default.Statement, node = statementNode, tokens = context.nodeAsTokens(node), string = context.tokensAsString(tokens), statement = new Statement(string, node, tokens);
70
346
  return statement;
71
347
  }
72
- function isNodeRuleNode(node, ruleName) {
348
+ function isNodeRuleNodeByRuleName(node, ruleName) {
73
349
  var nodeRuleNode = false;
74
350
  var nodeNonTerminalNode = node.isNonTerminalNode();
75
351
  if (nodeNonTerminalNode) {
@@ -81,4 +357,4 @@ function isNodeRuleNode(node, ruleName) {
81
357
  return nodeRuleNode;
82
358
  }
83
359
 
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5cbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vZG9tL3R5cGVcIjtcbmltcG9ydCB7IFRZUEVfUlVMRV9OQU1FLCBWQVJJQUJMRV9SVUxFX05BTUUsIFBST1BFUlRZX1JVTEVfTkFNRSwgUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlVHlwZU5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGUobm9kZSwgVFlQRV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVWYXJpYWJsZU5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGUobm9kZSwgVkFSSUFCTEVfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlUHJvcGVydHlOb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlKG5vZGUsIFBST1BFUlRZX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlKG5vZGUsIFBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVGcm9tVHlwZU5vZGUodHlwZU5vZGUpIHtcbiAgbGV0IHR5cGU7XG5cbiAgaWYgKHR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgdHlwZSA9IG9iamVjdFR5cGU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgeyBUeXBlIH0gPSBkb20sXG4gICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTm9kZS5nZXRUeXBlTmFtZSgpLFxuICAgICAgICAgIG5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IG5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGVzID0gbnVsbCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gbnVsbCxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IG51bGw7XG5cbiAgICB0eXBlID0gbmV3IFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGVzLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG4gIH1cblxuICByZXR1cm4gdHlwZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Gcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBUZXJtIH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgdHlwZSA9IG51bGwsXG4gICAgICAgIHRlcm0gPSBuZXcgVGVybShzdHJpbmcsIG5vZGUsIHR5cGUpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50RnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFN0YXRlbWVudCB9ID0gZG9tLFxuICAgICAgICBub2RlID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIHRva2VucyA9IGNvbnRleHQubm9kZUFzVG9rZW5zKG5vZGUpLFxuICAgICAgICBzdHJpbmcgPSBjb250ZXh0LnRva2Vuc0FzU3RyaW5nKHRva2VucyksXG4gICAgICAgIHN0YXRlbWVudCA9IG5ldyBTdGF0ZW1lbnQoc3RyaW5nLCBub2RlLCB0b2tlbnMpO1xuXG4gIHJldHVybiBzdGF0ZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzTm9kZVJ1bGVOb2RlKG5vZGUsIHJ1bGVOYW1lKSB7XG4gIGxldCBub2RlUnVsZU5vZGUgPSBmYWxzZTtcblxuICBjb25zdCBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZVJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID09PSBydWxlTmFtZSk7XG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSkge1xuICAgICAgbm9kZVJ1bGVOb2RlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZVJ1bGVOb2RlO1xufVxuIl0sIm5hbWVzIjpbImlzTm9kZVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiaXNOb2RlUHJvcGVydHlOb2RlIiwiaXNOb2RlVHlwZU5vZGUiLCJpc05vZGVWYXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50Tm9kZSIsInRlcm1Gcm9tVGVybU5vZGUiLCJ0eXBlRnJvbVR5cGVOb2RlIiwibm9kZSIsImlzTm9kZVJ1bGVOb2RlIiwiVFlQRV9SVUxFX05BTUUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJQUk9QRVJUWV9SVUxFX05BTUUiLCJQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ0eXBlTm9kZSIsInR5cGUiLCJvYmplY3RUeXBlIiwiVHlwZSIsImRvbSIsInR5cGVOYW1lIiwiZ2V0VHlwZU5hbWUiLCJuYW1lIiwic3RyaW5nIiwic3VwZXJUeXBlcyIsInByb3BlcnRpZXMiLCJwcm92aXNpb25hbCIsInRlcm1Ob2RlIiwiY29udGV4dCIsIlRlcm0iLCJub2RlQXNTdHJpbmciLCJ0ZXJtIiwic3RhdGVtZW50Tm9kZSIsIlN0YXRlbWVudCIsInRva2VucyIsIm5vZGVBc1Rva2VucyIsInRva2Vuc0FzU3RyaW5nIiwic3RhdGVtZW50IiwicnVsZU5hbWUiLCJub2RlUnVsZU5vZGUiLCJub2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBYWdCQTtlQUFBQTs7UUFGQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFvQ0FDO2VBQUFBOztRQVZBQztlQUFBQTs7UUFwQkFDO2VBQUFBOzs7MERBYkE7b0JBRVc7eUJBQzRFOzs7Ozs7QUFFaEcsU0FBU0osZUFBZUssSUFBSTtJQUFJLE9BQU9DLGVBQWVELE1BQU1FLHlCQUFjO0FBQUc7QUFFN0UsU0FBU04sbUJBQW1CSSxJQUFJO0lBQUksT0FBT0MsZUFBZUQsTUFBTUcsNkJBQWtCO0FBQUc7QUFFckYsU0FBU1QsbUJBQW1CTSxJQUFJO0lBQUksT0FBT0MsZUFBZUQsTUFBTUksNkJBQWtCO0FBQUc7QUFFckYsU0FBU1gsOEJBQThCTyxJQUFJO0lBQUksT0FBT0MsZUFBZUQsTUFBTUsseUNBQThCO0FBQUc7QUFFNUcsU0FBU04saUJBQWlCTyxRQUFRO0lBQ3ZDLElBQUlDO0lBRUosSUFBSUQsYUFBYSxNQUFNO1FBQ3JCQyxPQUFPQyxnQkFBVTtJQUNuQixPQUFPO1FBQ0wsSUFBTSxBQUFFQyxPQUFTQyxZQUFHLENBQVpELE1BQ0ZFLFdBQVdMLFNBQVNNLFdBQVcsSUFDL0JDLE9BQU9GLFVBQ1BHLFNBQVNELE1BQ1RFLGFBQWEsTUFDYkMsYUFBYSxNQUNiQyxjQUFjO1FBRXBCVixPQUFPLElBQUlFLEtBQUtLLFFBQVFELE1BQU1FLFlBQVlDLFlBQVlDO0lBQ3hEO0lBRUEsT0FBT1Y7QUFDVDtBQUVPLFNBQVNULGlCQUFpQm9CLFFBQVEsRUFBRUMsT0FBTztJQUNoRCxJQUFNLEFBQUVDLE9BQVNWLFlBQUcsQ0FBWlUsTUFDRnBCLE9BQU9rQixVQUNQSixTQUFTSyxRQUFRRSxZQUFZLENBQUNyQixPQUM5Qk8sT0FBTyxNQUNQZSxPQUFPLElBQUlGLEtBQUtOLFFBQVFkLE1BQU1PO0lBRXBDLE9BQU9lO0FBQ1Q7QUFFTyxTQUFTekIsMkJBQTJCMEIsYUFBYSxFQUFFSixPQUFPO0lBQy9ELElBQU0sQUFBRUssWUFBY2QsWUFBRyxDQUFqQmMsV0FDRnhCLE9BQU91QixlQUNQRSxTQUFTTixRQUFRTyxZQUFZLENBQUMxQixPQUM5QmMsU0FBU0ssUUFBUVEsY0FBYyxDQUFDRixTQUNoQ0csWUFBWSxJQUFJSixVQUFVVixRQUFRZCxNQUFNeUI7SUFFOUMsT0FBT0c7QUFDVDtBQUVBLFNBQVMzQixlQUFlRCxJQUFJLEVBQUU2QixRQUFRO0lBQ3BDLElBQUlDLGVBQWU7SUFFbkIsSUFBTUMsc0JBQXNCL0IsS0FBS2dDLGlCQUFpQjtJQUVsRCxJQUFJRCxxQkFBcUI7UUFDdkIsSUFBTUUsa0JBQWtCakMsTUFDbEJrQywwQkFBMEJELGdCQUFnQkUsV0FBVyxJQUNyREMsa0NBQW1DRiw0QkFBNEJMO1FBRXJFLElBQUlPLGlDQUFpQztZQUNuQ04sZUFBZTtRQUNqQjtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
360
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5cbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vZG9tL3R5cGVcIjtcbmltcG9ydCB7IFJVTEVfUlVMRV9OQU1FLFxuICAgICAgICAgU1RFUF9SVUxFX05BTUUsXG4gICAgICAgICBURVJNX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgTEVNTUFfUlVMRV9OQU1FLFxuICAgICAgICAgQVhJT01fUlVMRV9OQU1FLFxuICAgICAgICAgRVJST1JfUlVMRV9OQU1FLFxuICAgICAgICAgRlJBTUVfUlVMRV9OQU1FLFxuICAgICAgICAgUFJPT0ZfUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxTX1JVTEVfTkFNRSxcbiAgICAgICAgIFRIRU9SRU1fUlVMRV9OQU1FLFxuICAgICAgICAgUFJFTUlTRV9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9SVUxFX05BTUUsXG4gICAgICAgICBFUVVBTElUWV9SVUxFX05BTUUsXG4gICAgICAgICBWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBTVUJQUk9PRl9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBX1RZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRFVDVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgUkVGRVJFTkNFX1JVTEVfTkFNRSxcbiAgICAgICAgIFNUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBX0xFTU1BX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OQ0xVU0lPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05KRUNUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIERFUklWQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgU1VQUE9TSVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OU1RSVUNUT1JfUlVMRV9OQU1FLFxuICAgICAgICAgREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQVRIRU9SRU1fUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FLFxuICAgICAgICAgQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQVZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVJ1bGVOb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBSVUxFX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVN0ZXBOb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBTVEVQX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVRlcm1Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBURVJNX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVR5cGVOb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBUWVBFX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUxlbW1hTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgTEVNTUFfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlQXhpb21Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBBWElPTV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVFcnJvck5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIEVSUk9SX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUZyYW1lTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgRlJBTUVfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlUHJvb2ZOb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBQUk9PRl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVMYWJlbE5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIExBQkVMX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUxhYmVsc05vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIExBQkVMU19SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVUaGVvcmVtTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgVEhFT1JFTV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVQcmVtaXNlTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgUFJFTUlTRV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVQcm9wZXJ0eU5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFBST1BFUlRZX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUVxdWFsaXR5Tm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgRVFVQUxJVFlfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlVmFyaWFibGVOb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBWQVJJQUJMRV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVTdWJwcm9vZk5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFNVQlBST09GX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZU1ldGFUeXBlTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgTUVUQV9UWVBFX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVBhcmFtZXRlck5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFBBUkFNRVRFUl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVEZWR1Y3Rpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBERURVQ1RJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlSnVkZ2VtZW50Tm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgSlVER0VNRU5UX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVJlZmVyZW5jZU5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFJFRkVSRU5DRV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVTdGF0ZW1lbnROb2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBTVEFURU1FTlRfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlTWV0YUxlbW1hTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgTUVUQV9MRU1NQV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVDb21iaW5hdG9yTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgQ09NQklOQVRPUl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVDb25jbHVzaW9uTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgQ09OQ0xVU0lPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVDb25qZWN0dXJlTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgQ09OSkVDVFVSRV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVEZXJpdmF0aW9uTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgREVSSVZBVElPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVTdXBwb3NpdGlvbk5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUNvbnN0cnVjdG9yTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgQ09OU1RSVUNUT1JfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlRGVjbGFyYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBERUNMQVJBVElPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVNZXRhdGhlb3JlbU5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIE1FVEFUSEVPUkVNX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZU1ldGF2YXJpYWJsZU5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVQcm9jZWR1cmVDYWxsTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlU3ViRGVyaXZhdGlvbk5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVR5cGVBc3NlcnRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVUeXBlRGVjbGFyYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVByb3BlcnR5UmVsYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVEZWZpbmVkQXNzZXJ0aW9uTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlUHJvcGVydHlBc3NlcnRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlU3VicHJvb2ZBc3NlcnRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBTVUJQUk9PRl9BU1NFUlRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlQ29udGFpbmVkQXNzZXJ0aW9uTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUUpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05vZGVWYXJpYWJsZURlY2xhcmF0aW9uTm9kZShub2RlKSB7IHJldHVybiBpc05vZGVSdWxlTm9kZUJ5UnVsZU5hbWUobm9kZSwgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlUGFyZW50aGVzaXNlZExhYmVsc05vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIFBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIENPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUobm9kZSkgeyByZXR1cm4gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOb2RlTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKG5vZGUpIHsgcmV0dXJuIGlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZShub2RlLCBNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21UeXBlTm9kZSh0eXBlTm9kZSkge1xuICBsZXQgdHlwZTtcblxuICBpZiAodHlwZU5vZGUgPT09IG51bGwpIHtcbiAgICB0eXBlID0gb2JqZWN0VHlwZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB7IFR5cGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlTmFtZSA9IHR5cGVOb2RlLmdldFR5cGVOYW1lKCksXG4gICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gbmFtZSwgIC8vL1xuICAgICAgICAgIHN1cGVyVHlwZXMgPSBudWxsLFxuICAgICAgICAgIHByb3BlcnRpZXMgPSBudWxsLFxuICAgICAgICAgIHByb3Zpc2lvbmFsID0gbnVsbDtcblxuICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZXMsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFRlcm0gfSA9IGRvbSxcbiAgICAgICAgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICB0eXBlID0gbnVsbCxcbiAgICAgICAgdGVybSA9IG5ldyBUZXJtKHN0cmluZywgbm9kZSwgdHlwZSk7XG5cbiAgcmV0dXJuIHRlcm07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZW1lbnRGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgdG9rZW5zID0gY29udGV4dC5ub2RlQXNUb2tlbnMobm9kZSksXG4gICAgICAgIHN0cmluZyA9IGNvbnRleHQudG9rZW5zQXNTdHJpbmcodG9rZW5zKSxcbiAgICAgICAgc3RhdGVtZW50ID0gbmV3IFN0YXRlbWVudChzdHJpbmcsIG5vZGUsIHRva2Vucyk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudDtcbn1cblxuZnVuY3Rpb24gaXNOb2RlUnVsZU5vZGVCeVJ1bGVOYW1lKG5vZGUsIHJ1bGVOYW1lKSB7XG4gIGxldCBub2RlUnVsZU5vZGUgPSBmYWxzZTtcblxuICBjb25zdCBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZVJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID09PSBydWxlTmFtZSk7XG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSkge1xuICAgICAgbm9kZVJ1bGVOb2RlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9kZVJ1bGVOb2RlO1xufVxuIl0sIm5hbWVzIjpbImlzTm9kZUF4aW9tTm9kZSIsImlzTm9kZUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJpc05vZGVDb21iaW5hdG9yTm9kZSIsImlzTm9kZUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiaXNOb2RlQ29uY2x1c2lvbk5vZGUiLCJpc05vZGVDb25qZWN0dXJlTm9kZSIsImlzTm9kZUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiaXNOb2RlQ29uc3RydWN0b3JOb2RlIiwiaXNOb2RlQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImlzTm9kZURlY2xhcmF0aW9uTm9kZSIsImlzTm9kZURlZHVjdGlvbk5vZGUiLCJpc05vZGVEZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImlzTm9kZURlcml2YXRpb25Ob2RlIiwiaXNOb2RlRXF1YWxpdHlOb2RlIiwiaXNOb2RlRXJyb3JOb2RlIiwiaXNOb2RlRnJhbWVOb2RlIiwiaXNOb2RlSnVkZ2VtZW50Tm9kZSIsImlzTm9kZUxhYmVsTm9kZSIsImlzTm9kZUxhYmVsc05vZGUiLCJpc05vZGVMZW1tYU5vZGUiLCJpc05vZGVNZXRhTGVtbWFOb2RlIiwiaXNOb2RlTWV0YVR5cGVOb2RlIiwiaXNOb2RlTWV0YXRoZW9yZW1Ob2RlIiwiaXNOb2RlTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiaXNOb2RlTWV0YXZhcmlhYmxlTm9kZSIsImlzTm9kZVBhcmFtZXRlck5vZGUiLCJpc05vZGVQYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSIsImlzTm9kZVByZW1pc2VOb2RlIiwiaXNOb2RlUHJvY2VkdXJlQ2FsbE5vZGUiLCJpc05vZGVQcm9vZk5vZGUiLCJpc05vZGVQcm9wZXJ0eUFzc2VydGlvbk5vZGUiLCJpc05vZGVQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSIsImlzTm9kZVByb3BlcnR5Tm9kZSIsImlzTm9kZVByb3BlcnR5UmVsYXRpb25Ob2RlIiwiaXNOb2RlUmVmZXJlbmNlTm9kZSIsImlzTm9kZVJ1bGVOb2RlIiwiaXNOb2RlU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSIsImlzTm9kZVN0YXRlbWVudE5vZGUiLCJpc05vZGVTdGVwTm9kZSIsImlzTm9kZVN1YkRlcml2YXRpb25Ob2RlIiwiaXNOb2RlU3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwiaXNOb2RlU3VicHJvb2ZOb2RlIiwiaXNOb2RlU3VwcG9zaXRpb25Ob2RlIiwiaXNOb2RlVGVybU5vZGUiLCJpc05vZGVUaGVvcmVtTm9kZSIsImlzTm9kZVR5cGVBc3NlcnRpb25Ob2RlIiwiaXNOb2RlVHlwZURlY2xhcmF0aW9uTm9kZSIsImlzTm9kZVR5cGVOb2RlIiwiaXNOb2RlVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJpc05vZGVWYXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50Tm9kZSIsInRlcm1Gcm9tVGVybU5vZGUiLCJ0eXBlRnJvbVR5cGVOb2RlIiwibm9kZSIsImlzTm9kZVJ1bGVOb2RlQnlSdWxlTmFtZSIsIlJVTEVfUlVMRV9OQU1FIiwiU1RFUF9SVUxFX05BTUUiLCJURVJNX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiTEVNTUFfUlVMRV9OQU1FIiwiQVhJT01fUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiRlJBTUVfUlVMRV9OQU1FIiwiUFJPT0ZfUlVMRV9OQU1FIiwiTEFCRUxfUlVMRV9OQU1FIiwiTEFCRUxTX1JVTEVfTkFNRSIsIlRIRU9SRU1fUlVMRV9OQU1FIiwiUFJFTUlTRV9SVUxFX05BTUUiLCJQUk9QRVJUWV9SVUxFX05BTUUiLCJFUVVBTElUWV9SVUxFX05BTUUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsIkRFRFVDVElPTl9SVUxFX05BTUUiLCJKVURHRU1FTlRfUlVMRV9OQU1FIiwiUkVGRVJFTkNFX1JVTEVfTkFNRSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJNRVRBX0xFTU1BX1JVTEVfTkFNRSIsIkNPTUJJTkFUT1JfUlVMRV9OQU1FIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDT05KRUNUVVJFX1JVTEVfTkFNRSIsIkRFUklWQVRJT05fUlVMRV9OQU1FIiwiU1VQUE9TSVRJT05fUlVMRV9OQU1FIiwiQ09OU1RSVUNUT1JfUlVMRV9OQU1FIiwiREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiTUVUQVRIRU9SRU1fUlVMRV9OQU1FIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlRZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FIiwiREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FIiwiUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FIiwiUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiTUVUQVZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsInR5cGVOb2RlIiwidHlwZSIsIm9iamVjdFR5cGUiLCJUeXBlIiwiZG9tIiwidHlwZU5hbWUiLCJnZXRUeXBlTmFtZSIsIm5hbWUiLCJzdHJpbmciLCJzdXBlclR5cGVzIiwicHJvcGVydGllcyIsInByb3Zpc2lvbmFsIiwidGVybU5vZGUiLCJjb250ZXh0IiwiVGVybSIsIm5vZGVBc1N0cmluZyIsInRlcm0iLCJzdGF0ZW1lbnROb2RlIiwiU3RhdGVtZW50IiwidG9rZW5zIiwibm9kZUFzVG9rZW5zIiwidG9rZW5zQXNTdHJpbmciLCJzdGF0ZW1lbnQiLCJydWxlTmFtZSIsIm5vZGVSdWxlTm9kZSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZVJ1bGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFrRWdCQTtlQUFBQTs7UUFrRkFDO2VBQUFBOztRQTVDQUM7ZUFBQUE7O1FBZ0RBQztlQUFBQTs7UUE5Q0FDO2VBQUFBOztRQUVBQztlQUFBQTs7UUEwQ0FDO2VBQUFBOztRQXBDQUM7ZUFBQUE7O1FBd0JBQztlQUFBQTs7UUF0QkFDO2VBQUFBOztRQXRCQUM7ZUFBQUE7O1FBc0NBQztlQUFBQTs7UUF0QkFDO2VBQUFBOztRQTFCQUM7ZUFBQUE7O1FBaEJBQztlQUFBQTs7UUFFQUM7ZUFBQUE7O1FBMEJBQztlQUFBQTs7UUF0QkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFaQUM7ZUFBQUE7O1FBc0NBQztlQUFBQTs7UUFaQUM7ZUFBQUE7O1FBNEJBQztlQUFBQTs7UUFvQ0FDO2VBQUFBOztRQWxDQUM7ZUFBQUE7O1FBNUJBQztlQUFBQTs7UUFzREFDO2VBQUFBOztRQWxFQUM7ZUFBQUE7O1FBMENBQztlQUFBQTs7UUFsREFDO2VBQUFBOztRQThEQUM7ZUFBQUE7O1FBUUFDO2VBQUFBOztRQTVEQUM7ZUFBQUE7O1FBZ0RBQztlQUFBQTs7UUFoQ0FDO2VBQUFBOztRQTFDQUM7ZUFBQUE7O1FBb0ZBQztlQUFBQTs7UUF4Q0FDO2VBQUFBOztRQTFDQUM7ZUFBQUE7O1FBa0VBQztlQUFB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
@@ -2,13 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "superTypesStringFromSuperTypes", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get stringFromTypeNameNameAndSuperTypes () {
13
+ return stringFromTypeNameNameAndSuperTypes;
14
+ },
15
+ get superTypesStringFromSuperTypes () {
8
16
  return superTypesStringFromSuperTypes;
9
17
  }
10
18
  });
11
19
  var _type = require("../dom/type");
20
+ function stringFromTypeNameNameAndSuperTypes(typeName, superTypes) {
21
+ var superTypesString = superTypesStringFromSuperTypes(superTypes), string = superTypesString !== null ? "".concat(typeName, ":").concat(superTypesString) : typeName; ///
22
+ return string;
23
+ }
12
24
  function superTypesStringFromSuperTypes(superTypes) {
13
25
  var superTypesString = superTypes.reduce(function(superTypesString, superType) {
14
26
  if (superType !== _type.objectType) {
@@ -20,4 +32,4 @@ function superTypesStringFromSuperTypes(superTypes) {
20
32
  return superTypesString;
21
33
  }
22
34
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgb2JqZWN0VHlwZSB9IGZyb20gXCIuLi9kb20vdHlwZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpIHtcbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXMucmVkdWNlKChzdXBlclR5cGVzU3RyaW5nLCBzdXBlclR5cGUpID0+IHtcbiAgICBpZiAoc3VwZXJUeXBlICE9PSBvYmplY3RUeXBlKSB7XG4gICAgICBjb25zdCBzdXBlclR5cGVTdHJpbmcgPSBzdXBlclR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIHN1cGVyVHlwZXNTdHJpbmcgPSAoc3VwZXJUeXBlc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgYCcke3N1cGVyVHlwZVN0cmluZ30nYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1cGVyVHlwZXNTdHJpbmd9LCAnJHtzdXBlclR5cGVTdHJpbmd9J2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyIsInN1cGVyVHlwZXMiLCJzdXBlclR5cGVzU3RyaW5nIiwicmVkdWNlIiwic3VwZXJUeXBlIiwib2JqZWN0VHlwZSIsInN1cGVyVHlwZVN0cmluZyIsImdldFN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7b0JBRlc7QUFFcEIsU0FBU0EsK0JBQStCQyxVQUFVO0lBQ3ZELElBQU1DLG1CQUFtQkQsV0FBV0UsTUFBTSxDQUFDLFNBQUNELGtCQUFrQkU7UUFDNUQsSUFBSUEsY0FBY0MsZ0JBQVUsRUFBRTtZQUM1QixJQUFNQyxrQkFBa0JGLFVBQVVHLFNBQVM7WUFFM0NMLG1CQUFtQixBQUFDQSxxQkFBcUIsT0FDcEIsQUFBQyxJQUFtQixPQUFoQkksaUJBQWdCLE9BQ2xCLEFBQUMsR0FBd0JBLE9BQXRCSixrQkFBaUIsT0FBcUIsT0FBaEJJLGlCQUFnQjtRQUNsRTtRQUVBLE9BQU9KO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1QifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgb2JqZWN0VHlwZSB9IGZyb20gXCIuLi9kb20vdHlwZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHN1cGVyVHlwZXMpIHtcbiAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKSxcbiAgICAgICAgc3RyaW5nID0gKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBgJHt0eXBlTmFtZX06JHtzdXBlclR5cGVzU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgdHlwZU5hbWU7IC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcykge1xuICBjb25zdCBzdXBlclR5cGVzU3RyaW5nID0gc3VwZXJUeXBlcy5yZWR1Y2UoKHN1cGVyVHlwZXNTdHJpbmcsIHN1cGVyVHlwZSkgPT4ge1xuICAgIGlmIChzdXBlclR5cGUgIT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVN0cmluZyA9IHN1cGVyVHlwZS5nZXRTdHJpbmcoKTtcblxuICAgICAgc3VwZXJUeXBlc1N0cmluZyA9IChzdXBlclR5cGVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgJyR7c3VwZXJUeXBlU3RyaW5nfSdgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwZXJUeXBlc1N0cmluZ30sICcke3N1cGVyVHlwZVN0cmluZ30nYDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXNTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsic3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXMiLCJzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMiLCJ0eXBlTmFtZSIsInN1cGVyVHlwZXMiLCJzdXBlclR5cGVzU3RyaW5nIiwic3RyaW5nIiwicmVkdWNlIiwic3VwZXJUeXBlIiwib2JqZWN0VHlwZSIsInN1cGVyVHlwZVN0cmluZyIsImdldFN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBSWdCQTtlQUFBQTs7UUFTQUM7ZUFBQUE7OztvQkFYVztBQUVwQixTQUFTRCxvQ0FBb0NFLFFBQVEsRUFBRUMsVUFBVTtJQUN0RSxJQUFNQyxtQkFBbUJILCtCQUErQkUsYUFDbERFLFNBQVMsQUFBQ0QscUJBQXFCLE9BQ3BCLEFBQUMsR0FBY0EsT0FBWkYsVUFBUyxLQUFvQixPQUFqQkUsb0JBQ2JGLFVBQVUsR0FBRztJQUVoQyxPQUFPRztBQUNUO0FBRU8sU0FBU0osK0JBQStCRSxVQUFVO0lBQ3ZELElBQU1DLG1CQUFtQkQsV0FBV0csTUFBTSxDQUFDLFNBQUNGLGtCQUFrQkc7UUFDNUQsSUFBSUEsY0FBY0MsZ0JBQVUsRUFBRTtZQUM1QixJQUFNQyxrQkFBa0JGLFVBQVVHLFNBQVM7WUFFM0NOLG1CQUFtQixBQUFDQSxxQkFBcUIsT0FDcEIsQUFBQyxJQUFtQixPQUFoQkssaUJBQWdCLE9BQ2xCLEFBQUMsR0FBd0JBLE9BQXRCTCxrQkFBaUIsT0FBcUIsT0FBaEJLLGlCQUFnQjtRQUNsRTtRQUVBLE9BQU9MO0lBQ1QsR0FBRztJQUVILE9BQU9BO0FBQ1QifQ==
@@ -147,35 +147,35 @@ _define_property(TopLevelVerifier, "maps", [
147
147
  {
148
148
  nodeQuery: lemmaNodeQuery,
149
149
  verify: function(lemmaNode, fileContext) {
150
- var Lemma = _dom.default.Lemma, node = lemmaNode, lemma = Lemma.fromNode(node, fileContext), lemmaVerified = lemma.verify();
150
+ var Lemma = _dom.default.Lemma, lemma = Lemma.fromLemmaNode(lemmaNode, fileContext), lemmaVerified = lemma.verify();
151
151
  return lemmaVerified;
152
152
  }
153
153
  },
154
154
  {
155
155
  nodeQuery: theoremNodeQuery,
156
156
  verify: function(theoremNode, fileContext) {
157
- var Theorem = _dom.default.Theorem, node = theoremNode, theorem = Theorem.fromNode(node, fileContext), theoremVerified = theorem.verify();
157
+ var Theorem = _dom.default.Theorem, theorem = Theorem.fromTheoremNode(theoremNode, fileContext), theoremVerified = theorem.verify();
158
158
  return theoremVerified;
159
159
  }
160
160
  },
161
161
  {
162
162
  nodeQuery: metaLemmaNodeQuery,
163
163
  verify: function(metaLemmaNode, fileContext) {
164
- var MetaLemma = _dom.default.MetaLemma, node = metaLemmaNode, metaLemma = MetaLemma.fromNode(node, fileContext), metaLemmaVerified = metaLemma.verify();
164
+ var MetaLemma = _dom.default.MetaLemma, metaLemma = MetaLemma.fromMetaLemmaNode(metaLemmaNode, fileContext), metaLemmaVerified = metaLemma.verify();
165
165
  return metaLemmaVerified;
166
166
  }
167
167
  },
168
168
  {
169
169
  nodeQuery: conjectureNodeQuery,
170
170
  verify: function(conjectureNode, fileContext) {
171
- var Conjecture = _dom.default.Conjecture, node = conjectureNode, conjecture = Conjecture.fromNode(node, fileContext), conjectureVerified = conjecture.verify();
171
+ var Conjecture = _dom.default.Conjecture, conjecture = Conjecture.fromConjectureNode(conjectureNode, fileContext), conjectureVerified = conjecture.verify();
172
172
  return conjectureVerified;
173
173
  }
174
174
  },
175
175
  {
176
176
  nodeQuery: metatheoremNodeQuery,
177
177
  verify: function(metatheoremNode, fileContext) {
178
- var Metatheorem = _dom.default.Metatheorem, node = metatheoremNode, metatheorem = Metatheorem.fromNode(node, fileContext), metatheoremVerified = metatheorem.verify();
178
+ var Metatheorem = _dom.default.Metatheorem, metatheorem = Metatheorem.fromMetatheoremNode(metatheoremNode, fileContext), metatheoremVerified = metatheorem.verify();
179
179
  return metatheoremVerified;
180
180
  }
181
181
  },
@@ -225,4 +225,4 @@ _define_property(TopLevelVerifier, "maps", [
225
225
  var topLevelVerifier = new TopLevelVerifier();
226
226
  var _default = topLevelVerifier;
227
227
 
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBheGlvbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbVwiKSxcbiAgICAgIGxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgbWV0YUxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYVwiKSxcbiAgICAgIGNvbmplY3R1cmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtXCIpLFxuICAgICAgdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBsZXhUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiKTtcblxuY2xhc3MgVG9wTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkQXRUb3BMZXZlbDtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkQXRUb3BMZXZlbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZXJyb3JOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChlcnJvck5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgRXJyb3IgfSA9IGRvbSxcbiAgICAgICAgICAgICAgZXJyb3IgPSBFcnJvci5mcm9tRXJyb3JOb2RlKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBlcnJvclZlcmlmaWVkID0gZXJyb3IudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBSdWxlIH0gPSBkb20sXG4gICAgICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21SdWxlTm9kZShydWxlTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBydWxlVmVyaWZpZWQgPSBydWxlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBydWxlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgICAgICAgIGF4aW9tID0gQXhpb20uZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgYXhpb21WZXJpZmllZCA9IGF4aW9tLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBheGlvbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBsZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBMZW1tYSB9ID0gZG9tLFxuICAgICAgICAgICAgICBub2RlID0gbGVtbWFOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbGVtbWEgPSBMZW1tYS5mcm9tTm9kZShub2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGxlbW1hVmVyaWZpZWQgPSBsZW1tYS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbGVtbWFWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRoZW9yZW0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgbm9kZSA9IHRoZW9yZW1Ob2RlLCAvLy9cbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbU5vZGUobm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICB0aGVvcmVtVmVyaWZpZWQgPSB0aGVvcmVtLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB0aGVvcmVtVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGFMZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YUxlbW1hIH0gPSBkb20sXG4gICAgICAgICAgICAgIG5vZGUgPSBtZXRhTGVtbWFOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YUxlbW1hID0gTWV0YUxlbW1hLmZyb21Ob2RlKG5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hVmVyaWZpZWQgPSBtZXRhTGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uamVjdHVyZSB9ID0gZG9tLFxuICAgICAgICAgICAgICBub2RlID0gY29uamVjdHVyZU5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY29uamVjdHVyZSA9IENvbmplY3R1cmUuZnJvbU5vZGUobm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25qZWN0dXJlVmVyaWZpZWQgPSBjb25qZWN0dXJlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25qZWN0dXJlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGF0aGVvcmVtIH0gPSBkb20sXG4gICAgICAgICAgICAgIG5vZGUgPSBtZXRhdGhlb3JlbU5vZGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21Ob2RlKG5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXRoZW9yZW1WZXJpZmllZCA9IG1ldGF0aGVvcmVtLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFR5cGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICB0eXBlRGVjbGFyYXRpb24gPSBUeXBlRGVjbGFyYXRpb24uZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICB0eXBlRGVjbGFyYXRpb25WZXJpZmllZCA9IHR5cGVEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBWYXJpYWJsZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb24gPSBWYXJpYWJsZURlY2xhcmF0aW9uLmZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29tYmluYXRvckRlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbiA9IENvbWJpbmF0b3JEZWNsYXJhdGlvbi5mcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gY29tYmluYXRvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbnN0cnVjdG9yRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbiA9IENvbnN0cnVjdG9yRGVjbGFyYXRpb24uZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbXBsZXhUeXBlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiA9IENvbXBsZXhUeXBlRGVjbGFyYXRpb24uZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gPSBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbi5mcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkID0gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCB0b3BMZXZlbFZlcmlmaWVyID0gbmV3IFRvcExldmVsVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgdG9wTGV2ZWxWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJlcnJvck5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVOb2RlUXVlcnkiLCJheGlvbU5vZGVRdWVyeSIsImxlbW1hTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGVRdWVyeSIsIm1ldGFMZW1tYU5vZGVRdWVyeSIsImNvbmplY3R1cmVOb2RlUXVlcnkiLCJtZXRhdGhlb3JlbU5vZGVRdWVyeSIsInR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiVG9wTGV2ZWxWZXJpZmllciIsInZlcmlmeSIsIm5vZGUiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkQXRUb3BMZXZlbCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwiVmVyaWZpZXIiLCJtYXBzIiwiZXJyb3JOb2RlIiwiRXJyb3IiLCJkb20iLCJlcnJvciIsImZyb21FcnJvck5vZGUiLCJlcnJvclZlcmlmaWVkIiwicnVsZU5vZGUiLCJSdWxlIiwicnVsZSIsImZyb21SdWxlTm9kZSIsInJ1bGVWZXJpZmllZCIsImF4aW9tTm9kZSIsIkF4aW9tIiwiYXhpb20iLCJmcm9tQXhpb21Ob2RlIiwiYXhpb21WZXJpZmllZCIsImxlbW1hTm9kZSIsIkxlbW1hIiwibGVtbWEiLCJmcm9tTm9kZSIsImxlbW1hVmVyaWZpZWQiLCJ0aGVvcmVtTm9kZSIsIlRoZW9yZW0iLCJ0aGVvcmVtIiwidGhlb3JlbVZlcmlmaWVkIiwibWV0YUxlbW1hTm9kZSIsIk1ldGFMZW1tYSIsIm1ldGFMZW1tYSIsIm1ldGFMZW1tYVZlcmlmaWVkIiwiY29uamVjdHVyZU5vZGUiLCJDb25qZWN0dXJlIiwiY29uamVjdHVyZSIsImNvbmplY3R1cmVWZXJpZmllZCIsIm1ldGF0aGVvcmVtTm9kZSIsIk1ldGF0aGVvcmVtIiwibWV0YXRoZW9yZW0iLCJtZXRhdGhlb3JlbVZlcmlmaWVkIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGVEZWNsYXJhdGlvbiIsInR5cGVEZWNsYXJhdGlvbiIsImZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlZhcmlhYmxlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsIkNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbiIsImZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZCIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIk1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInRvcExldmVsVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXlMQTs7O2VBQUE7OzswREF2TGdCOytEQUNLO3FCQUVLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsV0FDM0JDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQyxVQUMxQkUsaUJBQWlCRixJQUFBQSxnQkFBUyxFQUFDLFdBQzNCRyxpQkFBaUJILElBQUFBLGdCQUFTLEVBQUMsV0FDM0JJLG1CQUFtQkosSUFBQUEsZ0JBQVMsRUFBQyxhQUM3QksscUJBQXFCTCxJQUFBQSxnQkFBUyxFQUFDLGVBQy9CTSxzQkFBc0JOLElBQUFBLGdCQUFTLEVBQUMsZ0JBQ2hDTyx1QkFBdUJQLElBQUFBLGdCQUFTLEVBQUMsaUJBQ2pDUSwyQkFBMkJSLElBQUFBLGdCQUFTLEVBQUMscUJB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
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVcIiksXG4gICAgICBheGlvbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbVwiKSxcbiAgICAgIGxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtXCIpLFxuICAgICAgbWV0YUxlbW1hTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYVwiKSxcbiAgICAgIGNvbmplY3R1cmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtXCIpLFxuICAgICAgdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBsZXhUeXBlRGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiKTtcblxuY2xhc3MgVG9wTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkQXRUb3BMZXZlbDtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkQXRUb3BMZXZlbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZXJyb3JOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChlcnJvck5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgRXJyb3IgfSA9IGRvbSxcbiAgICAgICAgICAgICAgZXJyb3IgPSBFcnJvci5mcm9tRXJyb3JOb2RlKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBlcnJvclZlcmlmaWVkID0gZXJyb3IudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBSdWxlIH0gPSBkb20sXG4gICAgICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21SdWxlTm9kZShydWxlTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBydWxlVmVyaWZpZWQgPSBydWxlLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBydWxlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgICAgICAgIGF4aW9tID0gQXhpb20uZnJvbUF4aW9tTm9kZShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgYXhpb21WZXJpZmllZCA9IGF4aW9tLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBheGlvbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBsZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBMZW1tYSB9ID0gZG9tLFxuICAgICAgICAgICAgICBsZW1tYSA9IExlbW1hLmZyb21MZW1tYU5vZGUobGVtbWFOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGxlbW1hVmVyaWZpZWQgPSBsZW1tYS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbGVtbWFWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRoZW9yZW0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbVRoZW9yZW1Ob2RlKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIHRoZW9yZW1WZXJpZmllZCA9IHRoZW9yZW0udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YUxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhTGVtbWEgfSA9IGRvbSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hID0gTWV0YUxlbW1hLmZyb21NZXRhTGVtbWFOb2RlKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YUxlbW1hVmVyaWZpZWQgPSBtZXRhTGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uamVjdHVyZSB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb25qZWN0dXJlID0gQ29uamVjdHVyZS5mcm9tQ29uamVjdHVyZU5vZGUoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgY29uamVjdHVyZVZlcmlmaWVkID0gY29uamVjdHVyZS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29uamVjdHVyZVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBtZXRhdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhdGhlb3JlbSB9ID0gZG9tLFxuICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IE1ldGF0aGVvcmVtLmZyb21NZXRhdGhlb3JlbU5vZGUobWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGF0aGVvcmVtVmVyaWZpZWQgPSBtZXRhdGhlb3JlbS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gbWV0YXRoZW9yZW1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBUeXBlRGVjbGFyYXRpb24gfSA9IGRvbSxcbiAgICAgICAgICAgICAgdHlwZURlY2xhcmF0aW9uID0gVHlwZURlY2xhcmF0aW9uLmZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlRGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgVmFyaWFibGVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uID0gVmFyaWFibGVEZWNsYXJhdGlvbi5mcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkID0gdmFyaWFibGVEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbWJpbmF0b3JEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb24gPSBDb21iaW5hdG9yRGVjbGFyYXRpb24uZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbWJpbmF0b3JEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb24gPSBDb25zdHJ1Y3RvckRlY2xhcmF0aW9uLmZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBDb21wbGV4VHlwZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb24gPSBDb21wbGV4VHlwZURlY2xhcmF0aW9uLmZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uID0gTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24uZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgdG9wTGV2ZWxWZXJpZmllciA9IG5ldyBUb3BMZXZlbFZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRvcExldmVsVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsiZXJyb3JOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInRoZW9yZW1Ob2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlUXVlcnkiLCJjb25qZWN0dXJlTm9kZVF1ZXJ5IiwibWV0YXRoZW9yZW1Ob2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIlRvcExldmVsVmVyaWZpZXIiLCJ2ZXJpZnkiLCJub2RlIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZEF0VG9wTGV2ZWwiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIlZlcmlmaWVyIiwibWFwcyIsImVycm9yTm9kZSIsIkVycm9yIiwiZG9tIiwiZXJyb3IiLCJmcm9tRXJyb3JOb2RlIiwiZXJyb3JWZXJpZmllZCIsInJ1bGVOb2RlIiwiUnVsZSIsInJ1bGUiLCJmcm9tUnVsZU5vZGUiLCJydWxlVmVyaWZpZWQiLCJheGlvbU5vZGUiLCJBeGlvbSIsImF4aW9tIiwiZnJvbUF4aW9tTm9kZSIsImF4aW9tVmVyaWZpZWQiLCJsZW1tYU5vZGUiLCJMZW1tYSIsImxlbW1hIiwiZnJvbUxlbW1hTm9kZSIsImxlbW1hVmVyaWZpZWQiLCJ0aGVvcmVtTm9kZSIsIlRoZW9yZW0iLCJ0aGVvcmVtIiwiZnJvbVRoZW9yZW1Ob2RlIiwidGhlb3JlbVZlcmlmaWVkIiwibWV0YUxlbW1hTm9kZSIsIk1ldGFMZW1tYSIsIm1ldGFMZW1tYSIsImZyb21NZXRhTGVtbWFOb2RlIiwibWV0YUxlbW1hVmVyaWZpZWQiLCJjb25qZWN0dXJlTm9kZSIsIkNvbmplY3R1cmUiLCJjb25qZWN0dXJlIiwiZnJvbUNvbmplY3R1cmVOb2RlIiwiY29uamVjdHVyZVZlcmlmaWVkIiwibWV0YXRoZW9yZW1Ob2RlIiwiTWV0YXRoZW9yZW0iLCJtZXRhdGhlb3JlbSIsImZyb21NZXRhdGhlb3JlbU5vZGUiLCJtZXRhdGhlb3JlbVZlcmlmaWVkIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGVEZWNsYXJhdGlvbiIsInR5cGVEZWNsYXJhdGlvbiIsImZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlZhcmlhYmxlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsIkNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbiIsImZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25WZXJpZmllZCIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIk1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInRvcExldmVsVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9MQTs7O2VBQUE7OzswREFsTGdCOytEQUNLO3FCQUVLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsV0FDM0JDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQyxVQUMxQkUsaUJBQWlCRixJQUFBQSxnQkFBUyxFQUFDLFdBQzNCRyxpQkFBaUJILElBQUFBLGdCQUFTLEVBQUMsV0FDM0JJLG1CQUFtQkosSUFBQUEsZ0JBQVMsRUFBQyxhQUM3QksscUJBQXFCTCxJQUFBQSxnQkFBUyxFQUFDLGVBQy9CTSxzQkFBc0JOLElBQUFBLGdCQUFTLEVBQUMsZ0JBQ2hDTyx1QkFBdUJQLElBQUFBLGdCQUFTLEVBQUMsaUJBQ2pDUSwyQkFBMkJSLElBQUFBLGdCQUFTLEVBQUMscUJBQ3JDUywrQkFBK0JULElBQUFBLGdCQUFTLEVBQUMseUJB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "1.0.184",
4
+ "version": "1.0.192",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,14 +12,14 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.32",
14
14
  "necessary": "^14.3.2",
15
- "occam-custom-grammars": "^5.0.1209",
16
- "occam-entities": "^1.0.361",
17
- "occam-file-system": "^6.0.379",
18
- "occam-furtle": "^2.0.163",
19
- "occam-grammars": "^1.3.285",
15
+ "occam-custom-grammars": "^5.0.1211",
16
+ "occam-entities": "^1.0.362",
17
+ "occam-file-system": "^6.0.380",
18
+ "occam-furtle": "^2.0.166",
19
+ "occam-grammars": "^1.3.287",
20
20
  "occam-lexers": "^23.0.47",
21
- "occam-parsers": "^23.0.157",
22
- "occam-query": "^4.1.104"
21
+ "occam-parsers": "^23.0.160",
22
+ "occam-query": "^4.1.106"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@swc/core": "^1.5.6",
package/src/constants.js CHANGED
@@ -9,6 +9,7 @@ export const UNDEFINED = "undefined";
9
9
  export const PROVISIONAL = "Provisional";
10
10
  export const SATISFIABLE = "Satisfiable";
11
11
  export const EMPTY_STRING = "";
12
+ export const SINGLE_SPACE = " ";
12
13
  export const PROVISIONALLY = "provisionally";
13
14
  export const BRACKETED_TERM_DEPTH = 2;
14
15
  export const BRACKETED_STATEMENT_DEPTH = 2;
@@ -4,11 +4,8 @@ import dom from "../../dom";
4
4
 
5
5
  import VariableAssignment from "../../assignment/variable";
6
6
 
7
- import { nodeQuery } from "../../utilities/query";
8
7
  import { domAssigned } from "../../dom";
9
8
 
10
- const propertyAssertionNodeQuery = nodeQuery("/statement/propertyAssertion");
11
-
12
9
  export default domAssigned(class PropertyAssertion {
13
10
  constructor(string, node, tokens, term, propertyRelation) {
14
11
  this.string = string;
@@ -204,7 +201,7 @@ export default domAssigned(class PropertyAssertion {
204
201
  static fromStatementNode(statementNode, context) {
205
202
  let propertyAssertion = null;
206
203
 
207
- const propertyAssertionNode = propertyAssertionNodeQuery(statementNode);
204
+ const propertyAssertionNode = statementNode.getPropertyAssertionNode();
208
205
 
209
206
  if (propertyAssertionNode !== null) {
210
207
  const { Term, PropertyRelation } = dom,
@@ -6,13 +6,9 @@ import dom from "../../dom";
6
6
 
7
7
  import { domAssigned } from "../../dom";
8
8
  import { unifyStatement } from "../../utilities/unification";
9
- import { nodeQuery, nodesQuery } from "../../utilities/query";
10
9
 
11
10
  const { match } = arrayUtilities;
12
11
 
13
- const statementNodesQuery = nodesQuery("/subproofAssertion/statement"),
14
- subproofAssertionNodeQuery = nodeQuery("/statement/subproofAssertion");
15
-
16
12
  export default domAssigned(class SubproofAssertion {
17
13
  constructor(string, node, statements) {
18
14
  this.string = string;
@@ -99,7 +95,7 @@ export default domAssigned(class SubproofAssertion {
99
95
  static fromStatementNode(statementNode, context) {
100
96
  let subproofAssertion = null;
101
97
 
102
- const subproofAssertionNode = subproofAssertionNodeQuery(statementNode);
98
+ const subproofAssertionNode = statementNode.getSubproofAssertionNode();
103
99
 
104
100
  if (subproofAssertionNode !== null) {
105
101
  const node = subproofAssertionNode, ///
@@ -115,7 +111,7 @@ export default domAssigned(class SubproofAssertion {
115
111
 
116
112
  function statementsFromSubproofAssertionNode(subproofAssertionNode, context) {
117
113
  const { Statement } = dom,
118
- statementNodes = statementNodesQuery(subproofAssertionNode),
114
+ statementNodes = subproofAssertionNode.getStatementNodes(),
119
115
  statements = statementNodes.map((statementNode) => {
120
116
  const statement = Statement.fromStatementNode(statementNode, context);
121
117