occam-verify-cli 0.0.958 → 0.0.960

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 (132) hide show
  1. package/bin/action/verify.js +16 -5
  2. package/bin/utilities/releaseContext.js +5 -8
  3. package/lib/axiom.js +1 -7
  4. package/lib/combinator.js +1 -19
  5. package/lib/conclusion.js +1 -19
  6. package/lib/conjecture.js +1 -7
  7. package/lib/consequent.js +1 -19
  8. package/lib/constructor.js +1 -28
  9. package/lib/context/file.js +38 -14
  10. package/lib/context/local.js +1 -14
  11. package/lib/context/release.js +82 -52
  12. package/lib/frame.js +3 -3
  13. package/lib/index.js +5 -5
  14. package/lib/label.js +1 -16
  15. package/lib/lemma.js +1 -7
  16. package/lib/metaLemma.js +1 -7
  17. package/lib/metaType.js +1 -10
  18. package/lib/metatheorem.js +1 -7
  19. package/lib/metavariable.js +9 -34
  20. package/lib/premise.js +1 -18
  21. package/lib/proofStep.js +15 -15
  22. package/lib/releaseContext/create.js +8 -9
  23. package/lib/releaseContext/initialise.js +67 -0
  24. package/lib/rule.js +5 -49
  25. package/lib/ruleNames.js +1 -9
  26. package/lib/substitution/statementForMetavariable.js +8 -16
  27. package/lib/substitution/termForVariable.js +6 -6
  28. package/lib/substitution.js +7 -7
  29. package/lib/substitutions.js +7 -33
  30. package/lib/supposition.js +1 -18
  31. package/lib/theorem.js +1 -7
  32. package/lib/topLevelAssertion.js +5 -50
  33. package/lib/type.js +2 -38
  34. package/lib/unifier/equality.js +7 -7
  35. package/lib/unifier/intrinsicLevel.js +4 -4
  36. package/lib/unifier/metaLevel.js +10 -10
  37. package/lib/unifier/statementWithCombinator.js +147 -0
  38. package/lib/unifier/{termAgainstConstructor.js → termWithConstructor.js} +17 -17
  39. package/lib/unify/conclusionWithStatement.js +34 -0
  40. package/lib/unify/consequentWithStatement.js +34 -0
  41. package/lib/unify/metavariableWithStatement.js +74 -0
  42. package/lib/unify/premiseWithProofStep.js +41 -0
  43. package/lib/unify/premisesWithProofSteps.js +31 -0
  44. package/lib/unify/statementAtainstStatement.js +6 -6
  45. package/lib/unify/statementWithMetaType.js +48 -0
  46. package/lib/unify/suppositionWithProffStep.js +41 -0
  47. package/lib/unify/suppositionsWithProofSteps.js +31 -0
  48. package/lib/unify/termWithTerm.js +21 -0
  49. package/lib/unify/termWithType.js +32 -0
  50. package/lib/unify/variableWithTerm.js +54 -0
  51. package/lib/utilities/node.js +3 -42
  52. package/lib/utilities/tokens.js +1 -15
  53. package/lib/variable.js +1 -26
  54. package/lib/verify/error.js +2 -2
  55. package/lib/verify/judgement.js +3 -3
  56. package/lib/verify/metavariable.js +4 -4
  57. package/lib/verify/statement/qualified.js +51 -51
  58. package/lib/verify/statement.js +18 -18
  59. package/lib/verify/statementAsCombinator.js +2 -2
  60. package/lib/verify/term.js +25 -25
  61. package/package.json +1 -1
  62. package/src/axiom.js +0 -2
  63. package/src/combinator.js +0 -26
  64. package/src/conclusion.js +0 -24
  65. package/src/conjecture.js +0 -2
  66. package/src/consequent.js +0 -24
  67. package/src/constructor.js +0 -43
  68. package/src/context/file.js +42 -17
  69. package/src/context/local.js +0 -22
  70. package/src/context/release.js +84 -45
  71. package/src/frame.js +2 -2
  72. package/src/index.js +1 -1
  73. package/src/label.js +0 -18
  74. package/src/lemma.js +0 -2
  75. package/src/metaLemma.js +0 -2
  76. package/src/metaType.js +0 -9
  77. package/src/metatheorem.js +0 -2
  78. package/src/metavariable.js +6 -44
  79. package/src/premise.js +0 -22
  80. package/src/proofStep.js +14 -14
  81. package/src/releaseContext/create.js +8 -16
  82. package/src/releaseContext/{verify.js → initialise.js} +32 -23
  83. package/src/rule.js +4 -69
  84. package/src/ruleNames.js +0 -2
  85. package/src/substitution/statementForMetavariable.js +7 -21
  86. package/src/substitution/termForVariable.js +4 -4
  87. package/src/substitution.js +5 -5
  88. package/src/substitutions.js +5 -32
  89. package/src/supposition.js +0 -22
  90. package/src/theorem.js +0 -2
  91. package/src/topLevelAssertion.js +4 -72
  92. package/src/type.js +0 -44
  93. package/src/unifier/equality.js +6 -6
  94. package/src/unifier/intrinsicLevel.js +3 -3
  95. package/src/unifier/metaLevel.js +9 -9
  96. package/src/unifier/{statementAgainstCombinator.js → statementWithCombinator.js} +12 -12
  97. package/src/unifier/{termAgainstConstructor.js → termWithConstructor.js} +9 -9
  98. package/src/unify/{conclusionAgainstStatement.js → conclusionWithStatement.js} +3 -3
  99. package/src/unify/{consequentAgainstStatement.js → consequentWithStatement.js} +3 -3
  100. package/src/unify/{metavariableAgainstStatement.js → metavariableWithStatement.js} +12 -12
  101. package/src/unify/{premiseAgainstProofStep.js → premiseWithProofStep.js} +5 -5
  102. package/src/unify/{premisesAgainstProofSteps.js → premisesWithProofSteps.js} +3 -3
  103. package/src/unify/statementAtainstStatement.js +4 -4
  104. package/src/unify/{statementAgainstMetaType.js → statementWithMetaType.js} +5 -5
  105. package/src/unify/{suppositionAgainstProofStep.js → suppositionWithProffStep.js} +5 -5
  106. package/src/unify/{suppositionsAgainstProofSteps.js → suppositionsWithProofSteps.js} +3 -3
  107. package/src/unify/{termAgainstTerm.js → termWithTerm.js} +4 -4
  108. package/src/unify/{termAgainstType.js → termWithType.js} +4 -4
  109. package/src/unify/{variableAgainstTerm.js → variableWithTerm.js} +5 -5
  110. package/src/utilities/node.js +2 -48
  111. package/src/utilities/tokens.js +0 -15
  112. package/src/variable.js +0 -36
  113. package/src/verify/error.js +1 -1
  114. package/src/verify/judgement.js +3 -3
  115. package/src/verify/metavariable.js +3 -3
  116. package/src/verify/statement/qualified.js +50 -50
  117. package/src/verify/statement.js +17 -17
  118. package/src/verify/statementAsCombinator.js +1 -1
  119. package/src/verify/term.js +24 -24
  120. package/lib/releaseContext/verify.js +0 -66
  121. package/lib/unifier/statementAgainstCombinator.js +0 -147
  122. package/lib/unify/conclusionAgainstStatement.js +0 -34
  123. package/lib/unify/consequentAgainstStatement.js +0 -34
  124. package/lib/unify/metavariableAgainstStatement.js +0 -74
  125. package/lib/unify/premiseAgainstProofStep.js +0 -41
  126. package/lib/unify/premisesAgainstProofSteps.js +0 -31
  127. package/lib/unify/statementAgainstMetaType.js +0 -48
  128. package/lib/unify/suppositionAgainstProofStep.js +0 -41
  129. package/lib/unify/suppositionsAgainstProofSteps.js +0 -31
  130. package/lib/unify/termAgainstTerm.js +0 -21
  131. package/lib/unify/termAgainstType.js +0 -32
  132. package/lib/unify/variableAgainstTerm.js +0 -54
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return unifyVariableWithTerm;
9
+ }
10
+ });
11
+ var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
12
+ var _query = require("../utilities/query");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ var variableNodeQuery = (0, _query.nodeQuery)("/term/variable");
19
+ function unifyVariableWithTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB) {
20
+ var variableUnifiedWithTerm = false;
21
+ var substitution = substitutions.findSubstitution(function(substitution) {
22
+ var substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
23
+ if (substitutionMatchesVariableNodeA) {
24
+ return true;
25
+ }
26
+ }) || null;
27
+ if (substitution !== null) {
28
+ var substitutionMatchesTermNodeB = substitution.matchTermNode(termNodeB);
29
+ if (substitutionMatchesTermNodeB) {
30
+ variableUnifiedWithTerm = true;
31
+ }
32
+ } else {
33
+ var variableA = localContextA.findVariableByVariableNode(variableNodeA);
34
+ if (variableA !== null) {
35
+ var variableB = variableFromTermNode(termNodeB, localContextB);
36
+ if (variableA !== variableB) {
37
+ var termNode = termNodeB, variableNode = variableNodeA, termForVariableSubstitution = _termForVariable.default.fromVariableNodeAndTermNode(variableNode, termNode), substitution1 = termForVariableSubstitution; ///
38
+ substitutions.addSubstitution(substitution1, localContextA, localContextB);
39
+ }
40
+ variableUnifiedWithTerm = true;
41
+ }
42
+ }
43
+ return variableUnifiedWithTerm;
44
+ }
45
+ function variableFromTermNode(termNode, localContext) {
46
+ var variable = null;
47
+ var variableNode = variableNodeQuery(termNode);
48
+ if (variableNode !== null) {
49
+ variable = localContext.findVariableByVariableNode(variableNode);
50
+ }
51
+ return variable;
52
+ }
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS92YXJpYWJsZVdpdGhUZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlWYXJpYWJsZVdpdGhUZXJtKHZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgdmFyaWFibGVVbmlmaWVkV2l0aFRlcm0gPSBmYWxzZTtcblxuICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUEpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNUZXJtTm9kZUIgPSBzdWJzdGl0dXRpb24ubWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZUIpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNUZXJtTm9kZUIpIHtcbiAgICAgIHZhcmlhYmxlVW5pZmllZFdpdGhUZXJtID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFyaWFibGVBID0gbG9jYWxDb250ZXh0QS5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBKTtcblxuICAgIGlmICh2YXJpYWJsZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlQiA9IHZhcmlhYmxlRnJvbVRlcm1Ob2RlKHRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmICh2YXJpYWJsZUEgIT09IHZhcmlhYmxlQikge1xuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlQiwgLy8vXG4gICAgICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlKHZhcmlhYmxlTm9kZSwgdGVybU5vZGUpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICAgICAgfVxuXG4gICAgICB2YXJpYWJsZVVuaWZpZWRXaXRoVGVybSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlVW5pZmllZFdpdGhUZXJtO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB2YXJpYWJsZSA9IG51bGw7XG5cbiAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICB2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VmFyaWFibGVXaXRoVGVybSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZhcmlhYmxlVW5pZmllZFdpdGhUZXJtIiwic3Vic3RpdHV0aW9uIiwiZmluZFN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGVBIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb25NYXRjaGVzVGVybU5vZGVCIiwibWF0Y2hUZXJtTm9kZSIsInZhcmlhYmxlQSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVCIiwidmFyaWFibGVGcm9tVGVybU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5vZGVBbmRUZXJtTm9kZSIsImFkZFN1YnN0aXR1dGlvbiIsImxvY2FsQ29udGV4dCIsInZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NFQU5nQjtxQkFFZDs7Ozs7O0FBRTFCLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixTQUFTRixzQkFBc0JHLGFBQWEsRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNqSCxJQUFJQywwQkFBMEI7SUFFOUIsSUFBTUMsZUFBZUosY0FBY0ssZ0JBQWdCLENBQUMsU0FBQ0Q7UUFDbkQsSUFBTUUsbUNBQW1DRixhQUFhRyxpQkFBaUIsQ0FBQ1Q7UUFFeEUsSUFBSVEsa0NBQWtDO1lBQ3BDLE9BQU87UUFDVDtJQUNGLE1BQU07SUFFTixJQUFJRixpQkFBaUIsTUFBTTtRQUN6QixJQUFNSSwrQkFBK0JKLGFBQWFLLGFBQWEsQ0FBQ1Y7UUFFaEUsSUFBSVMsOEJBQThCO1lBQ2hDTCwwQkFBMEI7UUFDNUI7SUFDRixPQUFPO1FBQ0wsSUFBTU8sWUFBWVQsY0FBY1UsMEJBQTBCLENBQUNiO1FBRTNELElBQUlZLGNBQWMsTUFBTTtZQUN0QixJQUFNRSxZQUFZQyxxQkFBcUJkLFdBQVdHO1lBRWxELElBQUlRLGNBQWNFLFdBQVc7Z0JBQzNCLElBQU1FLFdBQVdmLFdBQ1hnQixlQUFlakIsZUFDZmtCLDhCQUE4QkMsd0JBQTJCLENBQUNDLDJCQUEyQixDQUFDSCxjQUFjRCxXQUNwR1YsZ0JBQWVZLDZCQUE4QixHQUFHO2dCQUV0RGhCLGNBQWNtQixlQUFlLENBQUNmLGVBQWNILGVBQWVDO1lBQzdEO1lBRUFDLDBCQUEwQjtRQUM1QjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNVLHFCQUFxQkMsUUFBUSxFQUFFTSxZQUFZO0lBQ2xELElBQUlDLFdBQVc7SUFFZixJQUFNTixlQUFlbkIsa0JBQWtCa0I7SUFFdkMsSUFBSUMsaUJBQWlCLE1BQU07UUFDekJNLFdBQVdELGFBQWFULDBCQUEwQixDQUFDSTtJQUNyRDtJQUVBLE9BQU9NO0FBQ1QifQ==
@@ -12,12 +12,6 @@ _export(exports, {
12
12
  constructorDeclarationNodeFromConstructorDeclarationTokens: function() {
13
13
  return constructorDeclarationNodeFromConstructorDeclarationTokens;
14
14
  },
15
- metavariableNodeFromMetavariableString: function() {
16
- return metavariableNodeFromMetavariableString;
17
- },
18
- metavariableNodeFromMetavariableTokens: function() {
19
- return metavariableNodeFromMetavariableTokens;
20
- },
21
15
  statementNodeFromStatementString: function() {
22
16
  return statementNodeFromStatementString;
23
17
  },
@@ -29,37 +23,20 @@ _export(exports, {
29
23
  },
30
24
  unqualifiedStatementNodeFromUnqualifiedStatementTokens: function() {
31
25
  return unqualifiedStatementNodeFromUnqualifiedStatementTokens;
32
- },
33
- variableDeclarationNodeFromVariableTDeclarationTokens: function() {
34
- return variableDeclarationNodeFromVariableTDeclarationTokens;
35
- },
36
- variableNodeFromVariableString: function() {
37
- return variableNodeFromVariableString;
38
- },
39
- variableNodeFromVariableVariableTDeclarationTokens: function() {
40
- return variableNodeFromVariableVariableTDeclarationTokens;
41
26
  }
42
27
  });
43
28
  var _occamcustomgrammars = require("occam-custom-grammars");
44
29
  var _query = require("../utilities/query");
45
30
  var _customGrammar = require("./customGrammar");
46
- var _ruleNames = require("../ruleNames");
47
31
  var _tokens = require("../utilities/tokens");
32
+ var _ruleNames = require("../ruleNames");
48
33
  var florenceParserFromCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.florenceParserFromCombinedCustomGrammar;
49
34
  var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), florenceParser = florenceParserFromCombinedCustomGrammar(combinedCustomGrammar);
50
- var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term!"), variableNodeQuery = (0, _query.nodeQuery)("/variableDeclaration/variable!"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!");
51
- function variableNodeFromVariableString(variableString, lexer, parser) {
52
- var variableTDeclarationTokens = (0, _tokens.variableDeclarationTokensFromVariableString)(variableString, lexer), variableNode = variableNodeFromVariableVariableTDeclarationTokens(variableTDeclarationTokens, parser);
53
- return variableNode;
54
- }
35
+ var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term!"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!");
55
36
  function statementNodeFromStatementString(statementString, lexer, parser) {
56
37
  var unqualifiedStatementTokens = (0, _tokens.unqualifiedStatementTokensFromStatementString)(statementString, lexer), statementNode = statementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens, parser);
57
38
  return statementNode;
58
39
  }
59
- function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
60
- var metavariableTokens = (0, _tokens.metavariableTokensFromMetavariableString)(metavariableString, lexer), metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
61
- return metavariableNode;
62
- }
63
40
  function termNodeFromConstructorDeclarationTokens(constructorDeclarationTokens, parser) {
64
41
  var termNode = null;
65
42
  var constructorDeclarationNode = constructorDeclarationNodeFromConstructorDeclarationTokens(constructorDeclarationTokens, parser);
@@ -76,22 +53,6 @@ function statementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens,
76
53
  }
77
54
  return statementNode;
78
55
  }
79
- function variableNodeFromVariableVariableTDeclarationTokens(variableTDeclarationTokens, parser) {
80
- var variableNode = null;
81
- var variableDeclarationNode = variableDeclarationNodeFromVariableTDeclarationTokens(variableTDeclarationTokens, parser);
82
- if (variableDeclarationNode !== null) {
83
- variableNode = variableNodeQuery(variableDeclarationNode);
84
- }
85
- return variableNode;
86
- }
87
- function metavariableNodeFromMetavariableTokens(metavariableTokens, parser) {
88
- var ruleName = _ruleNames.METAVARIABLE_RULE_NAME, metavariableNode = nodeFromTokensRuleNameAndParser(metavariableTokens, ruleName, parser);
89
- return metavariableNode;
90
- }
91
- function variableDeclarationNodeFromVariableTDeclarationTokens(variableTDeclarationTokens, parser) {
92
- var ruleName = _ruleNames.VARIABLE_DECLARATION_RULE_NAME, variableDeclarationNode = nodeFromTokensRuleNameAndParser(variableTDeclarationTokens, ruleName, parser);
93
- return variableDeclarationNode;
94
- }
95
56
  function unqualifiedStatementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens, parser) {
96
57
  var ruleName = _ruleNames.UNQUALIFIED_STATEMENT_RULE_NAME, unqualifiedStatementNode = nodeFromTokensRuleNameAndParser(unqualifiedStatementTokens, ruleName, parser);
97
58
  return unqualifiedStatementNode;
@@ -106,4 +67,4 @@ function nodeFromTokensRuleNameAndParser(tokens, ruleName) {
106
67
  return node;
107
68
  }
108
69
 
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcsXG4gICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nLFxuICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy90b2tlbnNcIjtcblxuY29uc3QgeyBmbG9yZW5jZVBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IHBhcnNlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBmbG9yZW5jZVBhcnNlciA9IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdGVybSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uL3ZhcmlhYmxlIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlU3RyaW5nKHZhcmlhYmxlU3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zID0gdmFyaWFibGVEZWNsYXJhdGlvblRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVWYXJpYWJsZVREZWNsYXJhdGlvblRva2Vucyh2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBtZXRhdmFyaWFibGVUb2tlbnMgPSBtZXRhdmFyaWFibGVUb2tlbnNGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVUb2tlbnMobWV0YXZhcmlhYmxlVG9rZW5zLCBwYXJzZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybU5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucyhjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpIHtcbiAgbGV0IHRlcm1Ob2RlID0gbnVsbDtcblxuICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKTtcblxuICBpZiAoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKSB7XG4gIGxldCBzdGF0ZW1lbnROb2RlID0gbnVsbDtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnModW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMsIHBhcnNlcik7XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlVmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnModmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnMsIHBhcnNlcikge1xuICBsZXQgdmFyaWFibGVOb2RlID0gbnVsbDtcblxuICBjb25zdCB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSA9IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlRnJvbVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zKHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpO1xuXG4gIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB2YXJpYWJsZU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyhtZXRhdmFyaWFibGVUb2tlbnMsIHBhcnNlcikge1xuICBjb25zdCBydWxlTmFtZSA9IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKG1ldGF2YXJpYWJsZVRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZUZyb21WYXJpYWJsZVREZWNsYXJhdGlvblRva2Vucyh2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSA9IG5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIodmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IG5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlO1xufVxuXG5mdW5jdGlvbiBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHRva2VucywgcnVsZU5hbWUsIHBhcnNlciA9IGZsb3JlbmNlUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwibWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwic3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsInRlcm1Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZUZyb21WYXJpYWJsZVREZWNsYXJhdGlvblRva2VucyIsInZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVN0cmluZyIsInZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zIiwiZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIiwiZmxvcmVuY2VQYXJzZXIiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJ2YXJpYWJsZVN0cmluZyIsImxleGVyIiwicGFyc2VyIiwidmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nIiwidmFyaWFibGVOb2RlIiwic3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21TdGF0ZW1lbnRTdHJpbmciLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YXZhcmlhYmxlVG9rZW5zIiwibWV0YXZhcmlhYmxlVG9rZW5zRnJvbU1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwidGVybU5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwicnVsZU5hbWUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwibm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlciIsIlZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ0b2tlbnMiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJub2RlIiwicGFyc2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXFHZ0JBLDBEQUEwRDtlQUExREE7O0lBaEVBQyxzQ0FBc0M7ZUFBdENBOztJQTJDQUMsc0NBQXNDO2VBQXRDQTs7SUFsREFDLGdDQUFnQztlQUFoQ0E7O0lBMEJBQywyQ0FBMkM7ZUFBM0NBOztJQVpBQyx3Q0FB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
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyB1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSwgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB7IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgY29tYmluZWRDdXN0b21HcmFtbWFyID0gY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcoKSxcbiAgICAgIGZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGxldCB0ZXJtTm9kZSA9IG51bGw7XG5cbiAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsIHBhcnNlcik7XG5cbiAgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnModW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMsIHBhcnNlcikge1xuICBsZXQgc3RhdGVtZW50Tm9kZSA9IG51bGw7XG5cbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpO1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IG5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlO1xufVxuXG5mdW5jdGlvbiBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHRva2VucywgcnVsZU5hbWUsIHBhcnNlciA9IGZsb3JlbmNlUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJzdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zIiwidGVybU5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsImZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyIsImZsb3JlbmNlUGFyc2VyIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsInN0YXRlbWVudFN0cmluZyIsImxleGVyIiwicGFyc2VyIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21TdGF0ZW1lbnRTdHJpbmciLCJzdGF0ZW1lbnROb2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyIsInRlcm1Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJydWxlTmFtZSIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwidG9rZW5zIiwicnVsZU1hcCIsImdldFJ1bGVNYXAiLCJydWxlIiwibm9kZSIsInBhcnNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUF1RGdCQSwwREFBMEQ7ZUFBMURBOztJQXRDQUMsZ0NBQWdDO2VBQWhDQTs7SUFtQkFDLDJDQUEyQztlQUEzQ0E7O0lBWkFDLHdDQUF3QztlQUF4Q0E7O0lBd0JBQyxzREFBc0Q7ZUFBdERBOzs7bUNBOUNpQjtxQkFFUDs2QkFDdUI7c0JBQ2E7eUJBQ3FCO0FBRW5GLElBQU0sQUFBRUMsMENBQTRDQyxxQ0FBZ0IsQ0FBNUREO0FBRVIsSUFBTUUsd0JBQXdCQyxJQUFBQSwrQ0FBZ0MsS0FDeERDLGlCQUFpQkosd0NBQXdDRTtBQUUvRCxJQUFNRyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsa0NBQzFCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUM7QUFFOUIsU0FBU1YsaUNBQWlDWSxlQUFlLEVBQUVDLEtBQUssRUFBRUMsTUFBTTtJQUM3RSxJQUFNQyw2QkFBNkJDLElBQUFBLHFEQUE2QyxFQUFDSixpQkFBaUJDLFFBQzVGSSxnQkFBZ0JoQiw0Q0FBNENjLDRCQUE0QkQ7SUFFOUYsT0FBT0c7QUFDVDtBQUVPLFNBQVNmLHlDQUF5Q2dCLDRCQUE0QixFQUFFSixNQUFNO0lBQzNGLElBQUlLLFdBQVc7SUFFZixJQUFNQyw2QkFBNkJyQiwyREFBMkRtQiw4QkFBOEJKO0lBRTVILElBQUlNLCtCQUErQixNQUFNO1FBQ3ZDRCxXQUFXVixjQUFjVztJQUMzQjtJQUVBLE9BQU9EO0FBQ1Q7QUFFTyxTQUFTbEIsNENBQTRDYywwQkFBMEIsRUFBRUQsTUFBTTtJQUM1RixJQUFJRyxnQkFBZ0I7SUFFcEIsSUFBTUksMkJBQTJCbEIsdURBQXVEWSw0QkFBNEJEO0lBRXBILElBQUlPLDZCQUE2QixNQUFNO1FBQ3JDSixnQkFBZ0JOLG1CQUFtQlU7SUFDckM7SUFFQSxPQUFPSjtBQUNUO0FBRU8sU0FBU2QsdURBQXVEWSwwQkFBMEIsRUFBRUQsTUFBTTtJQUN2RyxJQUFNUSxXQUFXQywwQ0FBK0IsRUFDMUNGLDJCQUEyQkcsZ0NBQWdDVCw0QkFBNEJPLFVBQVVSO0lBRXZHLE9BQU9PO0FBQ1Q7QUFFTyxTQUFTdEIsMkRBQTJEbUIsNEJBQTRCLEVBQUVKLE1BQU07SUFDN0csSUFBTVEsV0FBV0csNENBQWlDLEVBQzVDTCw2QkFBNkJJLGdDQUFnQ04sOEJBQThCSSxVQUFVUjtJQUUzRyxPQUFPTTtBQUNUO0FBRUEsU0FBU0ksZ0NBQWdDRSxNQUFNLEVBQUVKLFFBQVE7UUFBRVIsU0FBQUEsaUVBQVNOO0lBQ2xFLElBQU1tQixVQUFVYixPQUFPYyxVQUFVLElBQzNCQyxPQUFPRixPQUFPLENBQUNMLFNBQVMsRUFDeEJRLE9BQU9oQixPQUFPaUIsS0FBSyxDQUFDTCxRQUFRRztJQUVsQyxPQUFPQztBQUNUIn0=
@@ -12,32 +12,18 @@ _export(exports, {
12
12
  constructorDeclarationTokensFromTermString: function() {
13
13
  return constructorDeclarationTokensFromTermString;
14
14
  },
15
- metavariableTokensFromMetavariableString: function() {
16
- return metavariableTokensFromMetavariableString;
17
- },
18
15
  unqualifiedStatementTokensFromStatementString: function() {
19
16
  return unqualifiedStatementTokensFromStatementString;
20
- },
21
- variableDeclarationTokensFromVariableString: function() {
22
- return variableDeclarationTokensFromVariableString;
23
17
  }
24
18
  });
25
19
  var _occamcustomgrammars = require("occam-custom-grammars");
26
20
  var _customGrammar = require("./customGrammar");
27
21
  var florenceLexerFromCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.florenceLexerFromCombinedCustomGrammar;
28
22
  var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), florenceLexer = florenceLexerFromCombinedCustomGrammar(combinedCustomGrammar);
29
- function metavariableTokensFromMetavariableString(metavariableString, lexer) {
30
- var metavariableContent = "".concat(metavariableString), metavariableTokens = tokensFromContentAndLexer(metavariableContent, lexer);
31
- return metavariableTokens;
32
- }
33
23
  function constructorDeclarationTokensFromTermString(termString, lexer) {
34
24
  var constructorDeclarationContent = "Constructor ".concat(termString, "\n"), constructorDeclarationTokens = tokensFromContentAndLexer(constructorDeclarationContent, lexer);
35
25
  return constructorDeclarationTokens;
36
26
  }
37
- function variableDeclarationTokensFromVariableString(variableString, lexer) {
38
- var variableDeclarationContent = "Variable ".concat(variableString, "\n"), variableDeclarationTokens = tokensFromContentAndLexer(variableDeclarationContent, lexer);
39
- return variableDeclarationTokens;
40
- }
41
27
  function unqualifiedStatementTokensFromStatementString(statementString, lexer) {
42
28
  var unqualifiedStatementContent = "".concat(statementString, "\n"), unqualifiedStatementTokens = tokensFromContentAndLexer(unqualifiedStatementContent, lexer);
43
29
  return unqualifiedStatementTokens;
@@ -48,4 +34,4 @@ function tokensFromContentAndLexer(content) {
48
34
  return tokens;
49
35
  }
50
36
 
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdG9rZW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBmbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcobWV0YXZhcmlhYmxlU3RyaW5nLCBsZXhlcikge1xuICBjb25zdCBtZXRhdmFyaWFibGVDb250ZW50ID0gYCR7bWV0YXZhcmlhYmxlU3RyaW5nfWAsXG4gICAgICAgIG1ldGF2YXJpYWJsZVRva2VucyA9IHRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIobWV0YXZhcmlhYmxlQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVUb2tlbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbVRlcm1TdHJpbmcodGVybVN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvbkNvbnRlbnQgPSBgQ29uc3RydWN0b3IgJHt0ZXJtU3RyaW5nfVxuYCxcbiAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyA9IHRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIoY29uc3RydWN0b3JEZWNsYXJhdGlvbkNvbnRlbnQsIGxleGVyKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlRGVjbGFyYXRpb25Ub2tlbnNGcm9tVmFyaWFibGVTdHJpbmcodmFyaWFibGVTdHJpbmcsIGxleGVyKSB7XG4gIGNvbnN0IHZhcmlhYmxlRGVjbGFyYXRpb25Db250ZW50ID0gYFZhcmlhYmxlICR7dmFyaWFibGVTdHJpbmd9XG5gLFxuICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zID0gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcih2YXJpYWJsZURlY2xhcmF0aW9uQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRDb250ZW50ID0gYCR7c3RhdGVtZW50U3RyaW5nfVxuYCxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMgPSB0b2tlbnNGcm9tQ29udGVudEFuZExleGVyKHVucXVhbGlmaWVkU3RhdGVtZW50Q29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vucztcbn1cblxuZnVuY3Rpb24gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcihjb250ZW50LCBsZXhlciA9IGZsb3JlbmNlTGV4ZXIpIHtcbiAgY29uc3QgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbVRlcm1TdHJpbmciLCJtZXRhdmFyaWFibGVUb2tlbnNGcm9tTWV0YXZhcmlhYmxlU3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIiwidmFyaWFibGVEZWNsYXJhdGlvblRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyIsImZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmciLCJmbG9yZW5jZUxleGVyIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibGV4ZXIiLCJtZXRhdmFyaWFibGVDb250ZW50IiwibWV0YXZhcmlhYmxlVG9rZW5zIiwidG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlciIsInRlcm1TdHJpbmciLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uQ29udGVudCIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJ2YXJpYWJsZVN0cmluZyIsInZhcmlhYmxlRGVjbGFyYXRpb25Db250ZW50IiwidmFyaWFibGVEZWNsYXJhdGlvblRva2VucyIsInN0YXRlbWVudFN0cmluZyIsInVucXVhbGlmaWVkU3RhdGVtZW50Q29udGVudCIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zIiwiY29udGVudCIsInRva2VucyIsInRva2VuaXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFrQmdCQSwwQ0FBMEM7ZUFBMUNBOztJQVBBQyx3Q0FBd0M7ZUFBeENBOztJQXVCQUMsNkNBQTZDO2VBQTdDQTs7SUFSQUMsMkNBQTJDO2VBQTNDQTs7O21DQXhCZ0I7NkJBRWlCO0FBRWpELElBQU0sQUFBRUMseUNBQTJDQyxvQ0FBZSxDQUExREQ7QUFFUixJQUFNRSx3QkFBd0JDLElBQUFBLCtDQUFnQyxLQUN4REMsZ0JBQWdCSix1Q0FBdUNFO0FBRXRELFNBQVNMLHlDQUF5Q1Esa0JBQWtCLEVBQUVDLEtBQUs7SUFDaEYsSUFBTUMsc0JBQXNCLEFBQUMsR0FBcUIsT0FBbkJGLHFCQUN6QkcscUJBQXFCQywwQkFBMEJGLHFCQUFxQkQ7SUFFMUUsT0FBT0U7QUFDVDtBQUVPLFNBQVNaLDJDQUEyQ2MsVUFBVSxFQUFFSixLQUFLO0lBQzFFLElBQU1LLGdDQUFnQyxBQUFDLGVBQXlCLE9BQVhELFlBQVcsT0FFMURFLCtCQUErQkgsMEJBQTBCRSwrQkFBK0JMO0lBRTlGLE9BQU9NO0FBQ1Q7QUFFTyxTQUFTYiw0Q0FBNENjLGNBQWMsRUFBRVAsS0FBSztJQUMvRSxJQUFNUSw2QkFBNkIsQUFBQyxZQUEwQixPQUFmRCxnQkFBZSxPQUV4REUsNEJBQTRCTiwwQkFBMEJLLDRCQUE0QlI7SUFFeEYsT0FBT1M7QUFDVDtBQUVPLFNBQVNqQiw4Q0FBOENrQixlQUFlLEVBQUVWLEtBQUs7SUFDbEYsSUFBTVcsOEJBQThCLEFBQUMsR0FBa0IsT0FBaEJELGlCQUFnQixPQUVqREUsNkJBQTZCVCwwQkFBMEJRLDZCQUE2Qlg7SUFFMUYsT0FBT1k7QUFDVDtBQUVBLFNBQVNULDBCQUEwQlUsT0FBTztRQUFFYixRQUFBQSxpRUFBUUY7SUFDbEQsSUFBTWdCLFNBQVNkLE1BQU1lLFFBQVEsQ0FBQ0Y7SUFFOUIsT0FBT0M7QUFDVCJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdG9rZW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBmbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnNGcm9tVGVybVN0cmluZyh0ZXJtU3RyaW5nLCBsZXhlcikge1xuICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uQ29udGVudCA9IGBDb25zdHJ1Y3RvciAke3Rlcm1TdHJpbmd9XG5gLFxuICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zID0gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRDb250ZW50ID0gYCR7c3RhdGVtZW50U3RyaW5nfVxuYCxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMgPSB0b2tlbnNGcm9tQ29udGVudEFuZExleGVyKHVucXVhbGlmaWVkU3RhdGVtZW50Q29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vucztcbn1cblxuZnVuY3Rpb24gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcihjb250ZW50LCBsZXhlciA9IGZsb3JlbmNlTGV4ZXIpIHtcbiAgY29uc3QgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbVRlcm1TdHJpbmciLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21TdGF0ZW1lbnRTdHJpbmciLCJmbG9yZW5jZUxleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImxleGVyc1V0aWxpdGllcyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIiwiZmxvcmVuY2VMZXhlciIsInRlcm1TdHJpbmciLCJsZXhlciIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Db250ZW50IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyIsInRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIiLCJzdGF0ZW1lbnRTdHJpbmciLCJ1bnF1YWxpZmllZFN0YXRlbWVudENvbnRlbnQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsImNvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBV2dCQSwwQ0FBMEM7ZUFBMUNBOztJQVFBQyw2Q0FBNkM7ZUFBN0NBOzs7bUNBakJnQjs2QkFFaUI7QUFFakQsSUFBTSxBQUFFQyx5Q0FBMkNDLG9DQUFlLENBQTFERDtBQUVSLElBQU1FLHdCQUF3QkMsSUFBQUEsK0NBQWdDLEtBQ3hEQyxnQkFBZ0JKLHVDQUF1Q0U7QUFFdEQsU0FBU0osMkNBQTJDTyxVQUFVLEVBQUVDLEtBQUs7SUFDMUUsSUFBTUMsZ0NBQWdDLEFBQUMsZUFBeUIsT0FBWEYsWUFBVyxPQUUxREcsK0JBQStCQywwQkFBMEJGLCtCQUErQkQ7SUFFOUYsT0FBT0U7QUFDVDtBQUVPLFNBQVNULDhDQUE4Q1csZUFBZSxFQUFFSixLQUFLO0lBQ2xGLElBQU1LLDhCQUE4QixBQUFDLEdBQWtCLE9BQWhCRCxpQkFBZ0IsT0FFakRFLDZCQUE2QkgsMEJBQTBCRSw2QkFBNkJMO0lBRTFGLE9BQU9NO0FBQ1Q7QUFFQSxTQUFTSCwwQkFBMEJJLE9BQU87UUFBRVAsUUFBQUEsaUVBQVFGO0lBQ2xELElBQU1VLFNBQVNSLE1BQU1TLFFBQVEsQ0FBQ0Y7SUFFOUIsT0FBT0M7QUFDVCJ9
package/lib/variable.js CHANGED
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _string = require("./utilities/string");
12
- var _type = require("./type");
13
- var _node = require("./utilities/node");
14
12
  function _class_call_check(instance, Constructor) {
15
13
  if (!(instance instanceof Constructor)) {
16
14
  throw new TypeError("Cannot call a class as a function");
@@ -85,31 +83,8 @@ var Variable = /*#__PURE__*/ function() {
85
83
  string = "".concat(string, ":").concat(typeName); ///
86
84
  return string;
87
85
  }
88
- },
89
- {
90
- key: "toJSON",
91
- value: function toJSON(tokens) {
92
- var typeJSON = this.type.toJSON(tokens), string = (0, _string.nodeAsString)(this.node, tokens), node = string, type = typeJSON, json = {
93
- node: node,
94
- type: type
95
- };
96
- return json;
97
- }
98
86
  }
99
87
  ], [
100
- {
101
- key: "fromJSONAndFileContext",
102
- value: function fromJSONAndFileContext(json, fileContext) {
103
- var node = json.node;
104
- var lexer = fileContext.getLexer(), parser = fileContext.getParser(), variableString = node, variableNode = (0, _node.variableNodeFromVariableString)(variableString, lexer, parser);
105
- node = variableNode; ///
106
- var type = json.type;
107
- json = type; ///
108
- type = (0, _type.typeFromJSONAndFileContext)(json, fileContext);
109
- var variable = new Variable(node, type);
110
- return variable;
111
- }
112
- },
113
88
  {
114
89
  key: "fromVariableAndType",
115
90
  value: function fromVariableAndType(variable, type) {
@@ -129,4 +104,4 @@ var Variable = /*#__PURE__*/ function() {
129
104
  return Variable;
130
105
  }();
131
106
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OQW5kRmlsZUNvbnRleHQgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHR5cGUpIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBtYXRjaCh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHR5cGUgPSB2YXJpYWJsZS5nZXRUeXBlKCksXG4gICAgICAgICAgbm9kZSA9IHZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgICBtYXRjaGVzVHlwZSA9IHRoaXMubWF0Y2hUeXBlKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXNOb2RlID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoZXNOb2RlICYmIG1hdGNoZXNUeXBlO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5vZGUobm9kZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOb2RlID0gdGhpcy5ub2RlLm1hdGNoKG5vZGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOb2RlO1xuICB9XG5cbiAgbWF0Y2hUeXBlKHR5cGUpIHtcbiAgICBjb25zdCBtYXRjaGVzVHlwZSA9IHRoaXMudHlwZS5tYXRjaCh0eXBlKTtcblxuICAgIHJldHVybiBtYXRjaGVzVHlwZTtcbiAgfVxuXG4gIG1hdGNoTm9kZUFuZFR5cGUobm9kZSwgdHlwZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOb2RlID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgbWF0Y2hlc1R5cGUgPSB0aGlzLm1hdGNoVHlwZSh0eXBlKSxcbiAgICAgICAgICBtYXRjaGVzTm9kZUFuZFR5cGUgPSBtYXRjaGVzTm9kZSAmJiBtYXRjaGVzVHlwZTtcblxuICAgIHJldHVybiBtYXRjaGVzTm9kZUFuZFR5cGU7XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKTtcblxuICAgIHN0cmluZyA9IGAke3N0cmluZ306JHt0eXBlTmFtZX1gOyAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0aGlzLnR5cGUudG9KU09OKHRva2VucyksXG4gICAgICAgICAgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBub2RlID0gc3RyaW5nLCAgLy9cbiAgICAgICAgICB0eXBlID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IG5vZGUgfSA9IGpzb247XG5cbiAgICBjb25zdCBsZXhlciAgPSBmaWxlQ29udGV4dC5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IGZpbGVDb250ZXh0LmdldFBhcnNlcigpLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIsIHBhcnNlcik7XG5cbiAgICBub2RlID0gdmFyaWFibGVOb2RlOyAgLy8vXG5cbiAgICBsZXQgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAganNvbiA9IHR5cGU7ICAvLy9cblxuICAgIHR5cGUgPSB0eXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShub2RlLCB0eXBlKTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVBbmRUeXBlKHZhcmlhYmxlLCB0eXBlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHZhcmlhYmxlLmdldE5vZGUoKTtcblxuICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5vZGUsIHR5cGUpOyAgLy8vXG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUodmFyaWFibGVOb2RlLCB0eXBlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5vZGUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiVmFyaWFibGUiLCJub2RlIiwidHlwZSIsImdldE5vZGUiLCJnZXRUeXBlIiwibWF0Y2giLCJ2YXJpYWJsZSIsIm1hdGNoZXNUeXBlIiwibWF0Y2hUeXBlIiwibWF0Y2hlc05vZGUiLCJtYXRjaE5vZGUiLCJtYXRjaGVzIiwibWF0Y2hOb2RlQW5kVHlwZSIsIm1hdGNoZXNOb2RlQW5kVHlwZSIsImFzU3RyaW5nIiwidG9rZW5zIiwidHlwZU5hbWUiLCJnZXROYW1lIiwic3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidG9KU09OIiwidHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwibGV4ZXIiLCJnZXRMZXhlciIsInBhcnNlciIsImdldFBhcnNlciIsInZhcmlhYmxlU3RyaW5nIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlU3RyaW5nIiwidHlwZUZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmcm9tVmFyaWFibGVBbmRUeXBlIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3NCQUpRO29CQUNjO29CQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxJQUFBLEFBQU1BLHlCQUFOO2FBQU1BLFNBQ1BDLElBQUksRUFBRUMsSUFBSTtnQ0FESEY7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztrQkFIS0Y7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsUUFBUTtnQkFDWixJQUFNSixPQUFPSSxTQUFTRixPQUFPLElBQ3ZCSCxPQUFPSyxTQUFTSCxPQUFPLElBQ3ZCSSxjQUFjLElBQUksQ0FBQ0MsU0FBUyxDQUFDTixPQUM3Qk8sY0FBYyxJQUFJLENBQUNDLFNBQVMsQ0FBQ1QsT0FDN0JVLFVBQVVGLGVBQWVGO2dCQUUvQixPQUFPSTtZQUNUOzs7WUFFQUQsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVULElBQUk7Z0JBQ1osSUFBTVEsY0FBYyxJQUFJLENBQUNSLElBQUksQ0FBQ0ksS0FBSyxDQUFDSjtnQkFFcEMsT0FBT1E7WUFDVDs7O1lBRUFELEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVTixJQUFJO2dCQUNaLElBQU1LLGNBQWMsSUFBSSxDQUFDTCxJQUFJLENBQUNHLEtBQUssQ0FBQ0g7Z0JBRXBDLE9BQU9LO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCWCxJQUFJLEVBQUVDLElBQUk7Z0JBQ3pCLElBQU1PLGNBQWMsSUFBSSxDQUFDQyxTQUFTLENBQUNULE9BQzdCTSxjQUFjLElBQUksQ0FBQ0MsU0FBUyxDQUFDTixPQUM3QlcscUJBQXFCSixlQUFlRjtnQkFFMUMsT0FBT007WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxNQUFNO2dCQUNiLElBQU1DLFdBQVcsSUFBSSxDQUFDZCxJQUFJLENBQUNlLE9BQU87Z0JBRWxDLElBQUlDLFNBQVNDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDbEIsSUFBSSxFQUFFYztnQkFFckNHLFNBQVMsQUFBQyxHQUFZRixPQUFWRSxRQUFPLEtBQVksT0FBVEYsV0FBWSxHQUFHO2dCQUVyQyxPQUFPRTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9MLE1BQU07Z0JBQ1gsSUFBTU0sV0FBVyxJQUFJLENBQUNuQixJQUFJLENBQUNrQixNQUFNLENBQUNMLFNBQzVCRyxTQUFTQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ2xCLElBQUksRUFBRWMsU0FDakNkLE9BQU9pQixRQUNQaEIsT0FBT21CLFVBQ1BDLE9BQU87b0JBQ0xyQixNQUFBQTtvQkFDQUMsTUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT29CO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsdUJBQXVCRCxJQUFJLEVBQUVFLFdBQVc7Z0JBQzdDLElBQUksQUFBRXZCLE9BQVNxQixLQUFUckI7Z0JBRU4sSUFBTXdCLFFBQVNELFlBQVlFLFFBQVEsSUFDN0JDLFNBQVNILFlBQVlJLFNBQVMsSUFDOUJDLGlCQUFpQjVCLE1BQ2pCNkIsZUFBZUMsSUFBQUEsb0NBQThCLEVBQUNGLGdCQUFnQkosT0FBT0U7Z0JBRTNFMUIsT0FBTzZCLGNBQWUsR0FBRztnQkFFekIsSUFBSSxBQUFFNUIsT0FBU29CLEtBQVRwQjtnQkFFTm9CLE9BQU9wQixNQUFPLEdBQUc7Z0JBRWpCQSxPQUFPOEIsSUFBQUEsZ0NBQTBCLEVBQUNWLE1BQU1FO2dCQUV4QyxJQUFNbEIsV0FBVyxJQW5GQU4sU0FtRmFDLE1BQU1DO2dCQUVwQyxPQUFPSTtZQUNUOzs7WUFFTzJCLEtBQUFBO21CQUFQLFNBQU9BLG9CQUFvQjNCLFFBQVEsRUFBRUosSUFBSTtnQkFDdkMsSUFBTUQsT0FBT0ssU0FBU0gsT0FBTztnQkFFN0JHLFdBQVcsSUEzRk1OLFNBMkZPQyxNQUFNQyxPQUFRLEdBQUc7Z0JBRXpDLE9BQU9JO1lBQ1Q7OztZQUVPNEIsS0FBQUE7bUJBQVAsU0FBT0Esd0JBQXdCSixZQUFZLEVBQUU1QixJQUFJO2dCQUMvQyxJQUFNRCxPQUFPNkIsY0FDUHhCLFdBQVcsSUFsR0FOLFNBa0dhQyxNQUFNQztnQkFFcEMsT0FBT0k7WUFDVDs7O1dBckdtQk4ifQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHR5cGUpIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBtYXRjaCh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHR5cGUgPSB2YXJpYWJsZS5nZXRUeXBlKCksXG4gICAgICAgICAgbm9kZSA9IHZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgICBtYXRjaGVzVHlwZSA9IHRoaXMubWF0Y2hUeXBlKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXNOb2RlID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoZXNOb2RlICYmIG1hdGNoZXNUeXBlO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5vZGUobm9kZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOb2RlID0gdGhpcy5ub2RlLm1hdGNoKG5vZGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOb2RlO1xuICB9XG5cbiAgbWF0Y2hUeXBlKHR5cGUpIHtcbiAgICBjb25zdCBtYXRjaGVzVHlwZSA9IHRoaXMudHlwZS5tYXRjaCh0eXBlKTtcblxuICAgIHJldHVybiBtYXRjaGVzVHlwZTtcbiAgfVxuXG4gIG1hdGNoTm9kZUFuZFR5cGUobm9kZSwgdHlwZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOb2RlID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgbWF0Y2hlc1R5cGUgPSB0aGlzLm1hdGNoVHlwZSh0eXBlKSxcbiAgICAgICAgICBtYXRjaGVzTm9kZUFuZFR5cGUgPSBtYXRjaGVzTm9kZSAmJiBtYXRjaGVzVHlwZTtcblxuICAgIHJldHVybiBtYXRjaGVzTm9kZUFuZFR5cGU7XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKTtcblxuICAgIHN0cmluZyA9IGAke3N0cmluZ306JHt0eXBlTmFtZX1gOyAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlQW5kVHlwZSh2YXJpYWJsZSwgdHlwZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YXJpYWJsZS5nZXROb2RlKCk7XG5cbiAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShub2RlLCB0eXBlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZU5vZGVBbmRUeXBlKHZhcmlhYmxlTm9kZSwgdHlwZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShub2RlLCB0eXBlKTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlZhcmlhYmxlIiwibm9kZSIsInR5cGUiLCJnZXROb2RlIiwiZ2V0VHlwZSIsIm1hdGNoIiwidmFyaWFibGUiLCJtYXRjaGVzVHlwZSIsIm1hdGNoVHlwZSIsIm1hdGNoZXNOb2RlIiwibWF0Y2hOb2RlIiwibWF0Y2hlcyIsIm1hdGNoTm9kZUFuZFR5cGUiLCJtYXRjaGVzTm9kZUFuZFR5cGUiLCJhc1N0cmluZyIsInRva2VucyIsInR5cGVOYW1lIiwiZ2V0TmFtZSIsInN0cmluZyIsIm5vZGVBc1N0cmluZyIsImZyb21WYXJpYWJsZUFuZFR5cGUiLCJmcm9tVmFyaWFibGVOb2RlQW5kVHlwZSIsInZhcmlhYmxlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7c0JBRlE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWQsSUFBQSxBQUFNQSx5QkFBTjthQUFNQSxTQUNQQyxJQUFJLEVBQUVDLElBQUk7Z0NBREhGO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7a0JBSEtGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLFFBQVE7Z0JBQ1osSUFBTUosT0FBT0ksU0FBU0YsT0FBTyxJQUN2QkgsT0FBT0ssU0FBU0gsT0FBTyxJQUN2QkksY0FBYyxJQUFJLENBQUNDLFNBQVMsQ0FBQ04sT0FDN0JPLGNBQWMsSUFBSSxDQUFDQyxTQUFTLENBQUNULE9BQzdCVSxVQUFVRixlQUFlRjtnQkFFL0IsT0FBT0k7WUFDVDs7O1lBRUFELEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVVCxJQUFJO2dCQUNaLElBQU1RLGNBQWMsSUFBSSxDQUFDUixJQUFJLENBQUNJLEtBQUssQ0FBQ0o7Z0JBRXBDLE9BQU9RO1lBQ1Q7OztZQUVBRCxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVU4sSUFBSTtnQkFDWixJQUFNSyxjQUFjLElBQUksQ0FBQ0wsSUFBSSxDQUFDRyxLQUFLLENBQUNIO2dCQUVwQyxPQUFPSztZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQlgsSUFBSSxFQUFFQyxJQUFJO2dCQUN6QixJQUFNTyxjQUFjLElBQUksQ0FBQ0MsU0FBUyxDQUFDVCxPQUM3Qk0sY0FBYyxJQUFJLENBQUNDLFNBQVMsQ0FBQ04sT0FDN0JXLHFCQUFxQkosZUFBZUY7Z0JBRTFDLE9BQU9NO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsTUFBTTtnQkFDYixJQUFNQyxXQUFXLElBQUksQ0FBQ2QsSUFBSSxDQUFDZSxPQUFPO2dCQUVsQyxJQUFJQyxTQUFTQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ2xCLElBQUksRUFBRWM7Z0JBRXJDRyxTQUFTLEFBQUMsR0FBWUYsT0FBVkUsUUFBTyxLQUFZLE9BQVRGLFdBQVksR0FBRztnQkFFckMsT0FBT0U7WUFDVDs7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQSxvQkFBb0JkLFFBQVEsRUFBRUosSUFBSTtnQkFDdkMsSUFBTUQsT0FBT0ssU0FBU0gsT0FBTztnQkFFN0JHLFdBQVcsSUF6RE1OLFNBeURPQyxNQUFNQyxPQUFRLEdBQUc7Z0JBRXpDLE9BQU9JO1lBQ1Q7OztZQUVPZSxLQUFBQTttQkFBUCxTQUFPQSx3QkFBd0JDLFlBQVksRUFBRXBCLElBQUk7Z0JBQy9DLElBQU1ELE9BQU9xQixjQUNQaEIsV0FBVyxJQWhFQU4sU0FnRWFDLE1BQU1DO2dCQUVwQyxPQUFPSTtZQUNUOzs7V0FuRW1CTiJ9
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
11
11
  function verifyError(errorNode, fileContext) {
12
12
  var errorVerified = false;
13
13
  var errorString = fileContext.nodeAsString(errorNode);
14
- fileContext.debug("The '".concat(errorString, "' cannot be verified."), errorNode);
14
+ fileContext.debug("The '".concat(errorString, "' error cannot be verified."), errorNode);
15
15
  return errorVerified;
16
16
  }
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUVycm9yKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGVycm9yVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBlcnJvclN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhlcnJvck5vZGUpXG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtlcnJvclN0cmluZ30nIGNhbm5vdCBiZSB2ZXJpZmllZC5gLCBlcnJvck5vZGUpO1xuXG4gIHJldHVybiBlcnJvclZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUVycm9yIiwiZXJyb3JOb2RlIiwiZmlsZUNvbnRleHQiLCJlcnJvclZlcmlmaWVkIiwiZXJyb3JTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLFlBQVlDLFNBQVMsRUFBRUMsV0FBVztJQUN4RCxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsY0FBY0YsWUFBWUcsWUFBWSxDQUFDSjtJQUU3Q0MsWUFBWUksS0FBSyxDQUFDLEFBQUMsUUFBbUIsT0FBWkYsYUFBWSwwQkFBd0JIO0lBRTlELE9BQU9FO0FBQ1QifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUVycm9yKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGVycm9yVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBlcnJvclN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhlcnJvck5vZGUpXG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtlcnJvclN0cmluZ30nIGVycm9yIGNhbm5vdCBiZSB2ZXJpZmllZC5gLCBlcnJvck5vZGUpO1xuXG4gIHJldHVybiBlcnJvclZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUVycm9yIiwiZXJyb3JOb2RlIiwiZmlsZUNvbnRleHQiLCJlcnJvclZlcmlmaWVkIiwiZXJyb3JTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLFlBQVlDLFNBQVMsRUFBRUMsV0FBVztJQUN4RCxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsY0FBY0YsWUFBWUcsWUFBWSxDQUFDSjtJQUU3Q0MsWUFBWUksS0FBSyxDQUFDLEFBQUMsUUFBbUIsT0FBWkYsYUFBWSxnQ0FBOEJIO0lBRXBFLE9BQU9FO0FBQ1QifQ==
@@ -54,8 +54,8 @@ function verifyDerivedJudgement(judgementNode, assignments, derived, localContex
54
54
  if (frameSingular) {
55
55
  var declaration = frame.getDeclaration(), metavariableNode1 = declaration.getMetavariableNode(), metaLemma = localContext.findMetaLemmaByMetavariableNode(metavariableNode1), metatheorem = localContext.findMetatheoremByMetavariableNode(metavariableNode1), metaLemmaMetatheorem = metaLemma || metatheorem; ///
56
56
  if (metaLemmaMetatheorem !== null) {
57
- var metaLemmaMetatheoremUnifiedAgainstDeclaration = declaration.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem), metaLemmaMetatheoremUnifiedAgainstJudgement = judgement.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
58
- derivedJudgementVerified = metaLemmaMetatheoremUnifiedAgainstDeclaration && metaLemmaMetatheoremUnifiedAgainstJudgement;
57
+ var metaLemmaMetatheoremUnifiedWithDeclaration = declaration.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem), metaLemmaMetatheoremUnifiedWithJudgement = judgement.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
58
+ derivedJudgementVerified = metaLemmaMetatheoremUnifiedWithDeclaration && metaLemmaMetatheoremUnifiedWithJudgement;
59
59
  } else {
60
60
  var metavariableString = localContext.nodeAsString(metavariableNode1);
61
61
  localContext.debug("There are no meta-lemmas or metatheorems corresponding to the '".concat(metavariableString, "' metavariable."), judgementNode);
@@ -118,4 +118,4 @@ function verifyMetavariable(metavariableNode, localContext) {
118
118
  return metavariableVerified;
119
119
  }
120
120
 
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSnVkZ2VtZW50IGZyb20gXCIuLi9qdWRnZW1lbnRcIjtcbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBKdWRnZW1lbnRBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L2p1ZGdlbWVudFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGp1ZGdlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50LFxuICAgIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuICBdO1xuXG4gIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbihqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGp1ZGdlbWVudCA9IGxvY2FsQ29udGV4dC5maW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoanVkZ2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgZnJhbWVTaW5ndWxhciA9IGZyYW1lLmlzU2luZ3VsYXIoKTtcblxuICAgICAgICAgIGlmIChmcmFtZVNpbmd1bGFyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGZyYW1lLmdldERlY2xhcmF0aW9uKCksXG4gICAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgICAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0RGVjbGFyYXRpb24gPSBkZWNsYXJhdGlvbi51bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pLFxuICAgICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0SnVkZ2VtZW50ID0ganVkZ2VtZW50LnVuaWZ5TWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSk7XG5cbiAgICAgICAgICAgICAgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gKG1ldGFMZW1tYU1ldGF0aGVvcmVtVW5pZmllZEFnYWluc3REZWNsYXJhdGlvbiAmJiBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0SnVkZ2VtZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGVyZSBhcmUgbm8gbWV0YS1sZW1tYXMgb3IgbWV0YXRoZW9yZW1zIGNvcnJlc3BvbmRpbmcgdG8gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBqdWRnZW1lbnROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZnJhbWVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke2ZyYW1lU3RyaW5nfScgaXMgbm90IHNpbmd1bGFyLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZXJlIGlzIG5vIGp1ZGdlbWVudCBwcmVzZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgc3RhdGVkIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgIGZyYW1lTm9kZSA9IGZyYW1lTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgIGp1ZGdlbWVudCA9IEp1ZGdlbWVudC5mcm9tSnVkZ2VtZW50Tm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShqdWRnZW1lbnROb2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGp1ZGdlbWVudEFzc2lnbm1lbnQgPSBKdWRnZW1lbnRBc3NpZ25tZW50LmZyb21KdWRnZW1lbnQoanVkZ2VtZW50KSxcbiAgICAgICAgICAgICAgYXNzaWdubWVudCA9IGp1ZGdlbWVudEFzc2lnbm1lbnQ7XG5cbiAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBzdGF0ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgaXMgbm90IHByZXNlbnQnLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUp1ZGdlbWVudCIsImZyYW1lTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwianVkZ2VtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50IiwidmVyaWZ5U3RhdGVkSnVkZ2VtZW50Iiwic29tZSIsInZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJqdWRnZW1lbnQiLCJmaW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlIiwiZnJhbWVzIiwiZnJhbWVOb2RlIiwiZnJhbWVWZXJpZmllZCIsInZlcmlmeUZyYW1lIiwiZmlyc3RGcmFtZSIsImZpcnN0IiwiZnJhbWUiLCJmcmFtZVNpbmd1bGFyIiwiaXNTaW5ndWxhciIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hIiwiZmluZE1ldGFMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF0aGVvcmVtIiwiZmluZE1ldGF0aGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0RGVjbGFyYXRpb24iLCJ1bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRBZ2FpbnN0SnVkZ2VtZW50IiwibWV0YXZhcmlhYmxlU3RyaW5nIiwiZnJhbWVTdHJpbmciLCJzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCIsIkp1ZGdlbWVudCIsImZyb21KdWRnZW1lbnROb2RlRnJhbWVBbmRNZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50QXNzaWdubWVudCIsIkp1ZGdlbWVudEFzc2lnbm1lbnQiLCJmcm9tSnVkZ2VtZW50IiwiYXNzaWdubWVudCIsInB1c2giLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJmcmFtZU1ldGFUeXBlTmFtZSIsImdldE5hbWUiLCJtZXRhVHlwZVN0cmluZyIsImFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXdCQTs7O2dFQVhGOzREQUNFOzZEQUNFO2lFQUNNO3FCQUVWO3FCQUNJOzs7Ozs7QUFFMUIsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUMzQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXpCLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN2RixJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFB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
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSnVkZ2VtZW50IGZyb20gXCIuLi9qdWRnZW1lbnRcIjtcbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBKdWRnZW1lbnRBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L2p1ZGdlbWVudFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGp1ZGdlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50LFxuICAgIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuICBdO1xuXG4gIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbihqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGp1ZGdlbWVudCA9IGxvY2FsQ29udGV4dC5maW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoanVkZ2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgZnJhbWVTaW5ndWxhciA9IGZyYW1lLmlzU2luZ3VsYXIoKTtcblxuICAgICAgICAgIGlmIChmcmFtZVNpbmd1bGFyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGZyYW1lLmdldERlY2xhcmF0aW9uKCksXG4gICAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgICAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoRGVjbGFyYXRpb24gPSBkZWNsYXJhdGlvbi51bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pLFxuICAgICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoSnVkZ2VtZW50ID0ganVkZ2VtZW50LnVuaWZ5TWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSk7XG5cbiAgICAgICAgICAgICAgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gKG1ldGFMZW1tYU1ldGF0aGVvcmVtVW5pZmllZFdpdGhEZWNsYXJhdGlvbiAmJiBtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoSnVkZ2VtZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGVyZSBhcmUgbm8gbWV0YS1sZW1tYXMgb3IgbWV0YXRoZW9yZW1zIGNvcnJlc3BvbmRpbmcgdG8gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBqdWRnZW1lbnROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZnJhbWVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke2ZyYW1lU3RyaW5nfScgaXMgbm90IHNpbmd1bGFyLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZXJlIGlzIG5vIGp1ZGdlbWVudCBwcmVzZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgc3RhdGVkIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgIGZyYW1lTm9kZSA9IGZyYW1lTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgIGp1ZGdlbWVudCA9IEp1ZGdlbWVudC5mcm9tSnVkZ2VtZW50Tm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShqdWRnZW1lbnROb2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGp1ZGdlbWVudEFzc2lnbm1lbnQgPSBKdWRnZW1lbnRBc3NpZ25tZW50LmZyb21KdWRnZW1lbnQoanVkZ2VtZW50KSxcbiAgICAgICAgICAgICAgYXNzaWdubWVudCA9IGp1ZGdlbWVudEFzc2lnbm1lbnQ7XG5cbiAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBzdGF0ZWQganVkZ2VtZW50LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgaXMgbm90IHByZXNlbnQnLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUp1ZGdlbWVudCIsImZyYW1lTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwianVkZ2VtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50IiwidmVyaWZ5U3RhdGVkSnVkZ2VtZW50Iiwic29tZSIsInZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkSnVkZ2VtZW50VmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJqdWRnZW1lbnQiLCJmaW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlIiwiZnJhbWVzIiwiZnJhbWVOb2RlIiwiZnJhbWVWZXJpZmllZCIsInZlcmlmeUZyYW1lIiwiZmlyc3RGcmFtZSIsImZpcnN0IiwiZnJhbWUiLCJmcmFtZVNpbmd1bGFyIiwiaXNTaW5ndWxhciIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hIiwiZmluZE1ldGFMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF0aGVvcmVtIiwiZmluZE1ldGF0aGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoRGVjbGFyYXRpb24iLCJ1bmlmeU1ldGFMZW1tYU9yTWV0YVRoZW9yZW0iLCJtZXRhTGVtbWFNZXRhdGhlb3JlbVVuaWZpZWRXaXRoSnVkZ2VtZW50IiwibWV0YXZhcmlhYmxlU3RyaW5nIiwiZnJhbWVTdHJpbmciLCJzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCIsIkp1ZGdlbWVudCIsImZyb21KdWRnZW1lbnROb2RlRnJhbWVBbmRNZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50QXNzaWdubWVudCIsIkp1ZGdlbWVudEFzc2lnbm1lbnQiLCJmcm9tSnVkZ2VtZW50IiwiYXNzaWdubWVudCIsInB1c2giLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJmcmFtZU1ldGFUeXBlTmFtZSIsImdldE5hbWUiLCJtZXRhVHlwZVN0cmluZyIsImFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXdCQTs7O2dFQVhGOzREQUNFOzZEQUNFO2lFQUNNO3FCQUVWO3FCQUNJOzs7Ozs7QUFFMUIsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUMzQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXpCLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN2RixJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsbUJBQWlCTDtJQUV0RSxJ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
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _query = require("../utilities/query");
12
- var _name = require("../utilities/name");
13
12
  var _metavariable = require("../metavariable");
13
+ var _name = require("../utilities/name");
14
14
  var termNodeQuery = (0, _query.nodeQuery)("/metavariable/argument/term"), typeNodeQuery = (0, _query.nodeQuery)("/metavariable/argument/type");
15
15
  function verifyMetavariable(metavariableNode, localContext) {
16
16
  var metavariableVerified = false;
@@ -37,8 +37,8 @@ function verifyMetavariable(metavariableNode, localContext) {
37
37
  var termTypeName = termType.getName();
38
38
  localContext.debug("No term was found when the metavariable's term type is '".concat(termTypeName, "'."), termNode);
39
39
  } else {
40
- var termUnifiedAgainstTermType = (0, _metavariable.unifyTermAgainstTermType)(termNode, termType, localContext);
41
- metavariableVerified = termUnifiedAgainstTermType; ///
40
+ var termUnifiedWithTermType = (0, _metavariable.unifyTermWithTermType)(termNode, termType, localContext);
41
+ metavariableVerified = termUnifiedWithTermType; ///
42
42
  }
43
43
  }
44
44
  }
@@ -48,4 +48,4 @@ function verifyMetavariable(metavariableNode, localContext) {
48
48
  return metavariableVerified;
49
49
  }
50
50
 
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcbmltcG9ydCB7IHVuaWZ5VGVybUFnYWluc3RUZXJtVHlwZSB9IGZyb20gXCIuLi9tZXRhdmFyaWFibGVcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQvdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlL2FyZ3VtZW50L3R5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbmFtZSA9IG5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU5hbWUobmFtZSk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSA9PT0gbnVsbCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlIG1ldGF2YXJpYWJsZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVOb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgd2FzIGZvdW5kIHdoZW4gYSB0ZXJtIHNob3VsZCBiZSBwcmVzZW50LmAsIHR5cGVOb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGVybVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0VGVybVR5cGUoKSxcbiAgICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIC8vL1xuICAgICAgfSBlbHNlIGlmICgodGVybVR5cGUgPT09IG51bGwpICYmICh0ZXJtTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICgodGVybVR5cGUgPT09IG51bGwpICYmICh0ZXJtTm9kZSAhPT0gbnVsbCkpIHtcbiAgICAgICAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdhcyBmb3VuZCB3aGVuIG5vbmUgaXMgZXhwZWN0ZWQuYCwgdGVybU5vZGUpO1xuICAgICAgfSBlbHNlIGlmICgodGVybVR5cGUgIT09IG51bGwpICYmICh0ZXJtTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgY29uc3QgdGVybVR5cGVOYW1lID0gdGVybVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgTm8gdGVybSB3YXMgZm91bmQgd2hlbiB0aGUgbWV0YXZhcmlhYmxlJ3MgdGVybSB0eXBlIGlzICcke3Rlcm1UeXBlTmFtZX0nLmAsIHRlcm1Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRlcm1VbmlmaWVkQWdhaW5zdFRlcm1UeXBlID0gdW5pZnlUZXJtQWdhaW5zdFRlcm1UeXBlKHRlcm1Ob2RlLCB0ZXJtVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRlcm1VbmlmaWVkQWdhaW5zdFRlcm1UeXBlOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXZhcmlhYmxlIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlIiwibG9jYWxDb250ZXh0IiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm5hbWUiLCJuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlOYW1lIiwiZGVidWciLCJ0eXBlTm9kZSIsInR5cGVTdHJpbmciLCJ0ZXJtVHlwZSIsImdldFRlcm1UeXBlIiwidGVybU5vZGUiLCJ0ZXJtU3RyaW5nIiwidGVybVR5cGVOYW1lIiwiZ2V0TmFtZSIsInRlcm1VbmlmaWVkQWdhaW5zdFRlcm1UeXBlIiwidW5pZnlUZXJtQWdhaW5zdFRlcm1UeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O3FCQVBFO29CQUNlOzRCQUNBO0FBRXpDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRixtQkFBbUJJLGdCQUFnQixFQUFFQyxZQUFZO0lBQ3ZFLElBQUlDLHVCQUF1QjtJQUUzQixJQUFNQyxxQkFBcUJGLGFBQWFHLFlBQVksQ0FBQ0o7SUFFckRDLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFvQyxPQUFuQkYsb0JBQW1CLHNCQUFvQkg7SUFFNUUsSUFBTU0sT0FBT0MsSUFBQUEsOEJBQXdCLEVBQUNQLG1CQUNoQ1EsZUFBZVAsYUFBYVEsc0JBQXNCLENBQUNIO0lBRXpELElBQUlFLGlCQUFpQixNQUFNO1FBQ3pCUCxhQUFhUyxLQUFLLENBQUMsQUFBQyxxQkFBdUMsT0FBbkJQLG9CQUFtQixzQkFBb0JIO0lBQ2pGLE9BQU87UUFDTCxJQUFNVyxXQUFXWixjQUFjQztRQUUvQixJQUFJVyxhQUFhLE1BQU07WUFDckIsSUFBTUMsYUFBYVgsYUFBYUcsWUFBWSxDQUFDTztZQUU3Q1YsYUFBYVMsS0FBSyxDQUFDLEFBQUMsUUFBa0IsT0FBWEUsWUFBVyxvREFBa0REO1FBQzFGLE9BQU87WUFDTCxJQUFNRSxXQUFXTCxhQUFhTSxXQUFXLElBQ25DQyxXQUFXbEIsY0FBY0c7WUFFL0IsSUFBSSxPQUFPO1lBQ1QsR0FBRztZQUNMLE9BQU8sSUFBSSxBQUFDYSxhQUFhLFFBQVVFLGFBQWEsTUFBTztnQkFDckRiLHVCQUF1QjtZQUN6QixPQUFPLElBQUksQUFBQ1csYUFBYSxRQUFVRSxhQUFhLE1BQU87Z0JBQ3JELElBQU1DLGFBQWFmLGFBQWFHLFlBQVksQ0FBQ1c7Z0JBRTdDZCxhQUFhUyxLQUFLLENBQUMsQUFBQyxRQUFrQixPQUFYTSxZQUFXLDRDQUEwQ0Q7WUFDbEYsT0FBTyxJQUFJLEFBQUNGLGFBQWEsUUFBVUUsYUFBYSxNQUFPO2dCQUNyRCxJQUFNRSxlQUFlSixTQUFTSyxPQUFPO2dCQUVyQ2pCLGFBQWFTLEtBQUssQ0FBQyxBQUFDLDJEQUF1RSxPQUFiTyxjQUFhLE9BQUtGO1lBQ2xHLE9BQU87Z0JBQ0wsSUFBTUksNkJBQTZCQyxJQUFBQSxzQ0FBd0IsRUFBQ0wsVUFBVUYsVUFBVVo7Z0JBRWhGQyx1QkFBdUJpQiw0QkFBNEIsR0FBRztZQUN4RDtRQUNGO0lBQ0Y7SUFFQSxJQUFJakIsc0JBQXNCO1FBQ3hCRCxhQUFhUyxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJQLG9CQUFtQixvQkFBa0JIO0lBQzlFO0lBRUEsT0FBT0U7QUFDVCJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyB1bmlmeVRlcm1XaXRoVGVybVR5cGUgfSBmcm9tIFwiLi4vbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgeyBuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQvdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlL2FyZ3VtZW50L3R5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbmFtZSA9IG5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU5hbWUobmFtZSk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSA9PT0gbnVsbCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlIG1ldGF2YXJpYWJsZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVOb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgd2FzIGZvdW5kIHdoZW4gYSB0ZXJtIHNob3VsZCBiZSBwcmVzZW50LmAsIHR5cGVOb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGVybVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0VGVybVR5cGUoKSxcbiAgICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIC8vL1xuICAgICAgfSBlbHNlIGlmICgodGVybVR5cGUgPT09IG51bGwpICYmICh0ZXJtTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmICgodGVybVR5cGUgPT09IG51bGwpICYmICh0ZXJtTm9kZSAhPT0gbnVsbCkpIHtcbiAgICAgICAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdhcyBmb3VuZCB3aGVuIG5vbmUgaXMgZXhwZWN0ZWQuYCwgdGVybU5vZGUpO1xuICAgICAgfSBlbHNlIGlmICgodGVybVR5cGUgIT09IG51bGwpICYmICh0ZXJtTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgY29uc3QgdGVybVR5cGVOYW1lID0gdGVybVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgTm8gdGVybSB3YXMgZm91bmQgd2hlbiB0aGUgbWV0YXZhcmlhYmxlJ3MgdGVybSB0eXBlIGlzICcke3Rlcm1UeXBlTmFtZX0nLmAsIHRlcm1Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHRlcm1VbmlmaWVkV2l0aFRlcm1UeXBlID0gdW5pZnlUZXJtV2l0aFRlcm1UeXBlKHRlcm1Ob2RlLCB0ZXJtVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRlcm1VbmlmaWVkV2l0aFRlcm1UeXBlOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXZhcmlhYmxlIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlIiwibG9jYWxDb250ZXh0IiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm5hbWUiLCJuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlOYW1lIiwiZGVidWciLCJ0eXBlTm9kZSIsInR5cGVTdHJpbmciLCJ0ZXJtVHlwZSIsImdldFRlcm1UeXBlIiwidGVybU5vZGUiLCJ0ZXJtU3RyaW5nIiwidGVybVR5cGVOYW1lIiwiZ2V0TmFtZSIsInRlcm1VbmlmaWVkV2l0aFRlcm1UeXBlIiwidW5pZnlUZXJtV2l0aFRlcm1UeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O3FCQVBFOzRCQUNZO29CQUNHO0FBRXpDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRixtQkFBbUJJLGdCQUFnQixFQUFFQyxZQUFZO0lBQ3ZFLElBQUlDLHVCQUF1QjtJQUUzQixJQUFNQyxxQkFBcUJGLGFBQWFHLFlBQVksQ0FBQ0o7SUFFckRDLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFvQyxPQUFuQkYsb0JBQW1CLHNCQUFvQkg7SUFFNUUsSUFBTU0sT0FBT0MsSUFBQUEsOEJBQXdCLEVBQUNQLG1CQUNoQ1EsZUFBZVAsYUFBYVEsc0JBQXNCLENBQUNIO0lBRXpELElBQUlFLGlCQUFpQixNQUFNO1FBQ3pCUCxhQUFhUyxLQUFLLENBQUMsQUFBQyxxQkFBdUMsT0FBbkJQLG9CQUFtQixzQkFBb0JIO0lBQ2pGLE9BQU87UUFDTCxJQUFNVyxXQUFXWixjQUFjQztRQUUvQixJQUFJVyxhQUFhLE1BQU07WUFDckIsSUFBTUMsYUFBYVgsYUFBYUcsWUFBWSxDQUFDTztZQUU3Q1YsYUFBYVMsS0FBSyxDQUFDLEFBQUMsUUFBa0IsT0FBWEUsWUFBVyxvREFBa0REO1FBQzFGLE9BQU87WUFDTCxJQUFNRSxXQUFXTCxhQUFhTSxXQUFXLElBQ25DQyxXQUFXbEIsY0FBY0c7WUFFL0IsSUFBSSxPQUFPO1lBQ1QsR0FBRztZQUNMLE9BQU8sSUFBSSxBQUFDYSxhQUFhLFFBQVVFLGFBQWEsTUFBTztnQkFDckRiLHVCQUF1QjtZQUN6QixPQUFPLElBQUksQUFBQ1csYUFBYSxRQUFVRSxhQUFhLE1BQU87Z0JBQ3JELElBQU1DLGFBQWFmLGFBQWFHLFlBQVksQ0FBQ1c7Z0JBRTdDZCxhQUFhUyxLQUFLLENBQUMsQUFBQyxRQUFrQixPQUFYTSxZQUFXLDRDQUEwQ0Q7WUFDbEYsT0FBTyxJQUFJLEFBQUNGLGFBQWEsUUFBVUUsYUFBYSxNQUFPO2dCQUNyRCxJQUFNRSxlQUFlSixTQUFTSyxPQUFPO2dCQUVyQ2pCLGFBQWFTLEtBQUssQ0FBQyxBQUFDLDJEQUF1RSxPQUFiTyxjQUFhLE9BQUtGO1lBQ2xHLE9BQU87Z0JBQ0wsSUFBTUksMEJBQTBCQyxJQUFBQSxtQ0FBcUIsRUFBQ0wsVUFBVUYsVUFBVVo7Z0JBRTFFQyx1QkFBdUJpQix5QkFBeUIsR0FBRztZQUNyRDtRQUNGO0lBQ0Y7SUFFQSxJQUFJakIsc0JBQXNCO1FBQ3hCRCxhQUFhUyxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJQLG9CQUFtQixvQkFBa0JIO0lBQzlFO0lBRUEsT0FBT0U7QUFDVCJ9