occam-verify-cli 0.0.677 → 0.0.679
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.
- package/bin/action/verify.js +14 -4
- package/lib/conclusion.js +10 -5
- package/lib/consequent.js +8 -3
- package/lib/context/file.js +74 -4
- package/lib/context/release.js +7 -2
- package/lib/equality.js +16 -16
- package/lib/premise.js +12 -7
- package/lib/supposition.js +9 -4
- package/lib/type.js +3 -8
- package/lib/utilities/string.js +26 -13
- package/lib/verifier/node/metastatement.js +173 -0
- package/lib/verifier/node/statementAsCombinator.js +186 -0
- package/lib/verifier/node/termAsConstructor.js +224 -0
- package/lib/verifier/node.js +158 -0
- package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/conclusion.js +13 -12
- package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/premise.js +13 -12
- package/lib/verifier/nodes/metastatementForMetavariable.js +198 -0
- package/lib/verifier/nodes/statement.js +199 -0
- package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/conclusion.js +13 -12
- package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/premise.js +13 -12
- package/lib/verifier/nodes/statementForMetavariable.js +203 -0
- package/lib/verifier/nodes/term.js +212 -0
- package/lib/verifier/{termForVariable/supposition.js → nodes/termForVariable/consequent.js} +13 -12
- package/lib/verifier/{termForVariable/consequent.js → nodes/termForVariable/supposition.js} +13 -12
- package/lib/verifier/nodes/termForVariable.js +209 -0
- package/lib/verifier/nodes.js +175 -0
- package/lib/verify/assertion/type.js +20 -10
- package/lib/verify/axiom.js +3 -3
- package/lib/verify/conclusion.js +3 -3
- package/lib/verify/conjecture.js +3 -3
- package/lib/verify/consequent.js +3 -3
- package/lib/verify/declaration/combinator.js +7 -2
- package/lib/verify/declaration/constructor.js +8 -2
- package/lib/verify/declaration/metavariable.js +7 -2
- package/lib/verify/declaration/type.js +7 -2
- package/lib/verify/declaration/variable.js +8 -2
- package/lib/verify/file.js +3 -3
- package/lib/verify/label.js +9 -4
- package/lib/verify/lemma.js +3 -3
- package/lib/verify/metastatement/qualified.js +5 -6
- package/lib/verify/metastatement/unqualified.js +9 -7
- package/lib/verify/metastatement.js +34 -157
- package/lib/verify/metavariable.js +6 -4
- package/lib/verify/premise.js +3 -3
- package/lib/verify/release.js +3 -3
- package/lib/verify/rule.js +3 -3
- package/lib/verify/statement/qualified.js +5 -6
- package/lib/verify/statement/unqualified.js +9 -7
- package/lib/verify/statement.js +112 -317
- package/lib/verify/statementAsCombinator.js +8 -82
- package/lib/verify/supposition.js +3 -3
- package/lib/verify/term.js +69 -213
- package/lib/verify/termAsConstructor.js +15 -89
- package/lib/verify/theorem.js +3 -3
- package/lib/verify/type.js +7 -5
- package/lib/verify/typeInference.js +5 -5
- package/lib/verify/variable.js +7 -5
- package/package.json +5 -5
- package/src/conclusion.js +5 -4
- package/src/consequent.js +3 -2
- package/src/context/file.js +11 -4
- package/src/context/release.js +9 -2
- package/src/equality.js +10 -10
- package/src/premise.js +7 -6
- package/src/supposition.js +4 -3
- package/src/type.js +3 -8
- package/src/utilities/string.js +34 -23
- package/src/verifier/node/metastatement.js +57 -0
- package/src/verifier/node/statementAsCombinator.js +80 -0
- package/src/verifier/node/termAsConstructor.js +124 -0
- package/src/verifier/node.js +85 -0
- package/src/verifier/nodes/metastatementForMetavariable/conclusion.js +11 -0
- package/src/verifier/nodes/metastatementForMetavariable/premise.js +11 -0
- package/src/verifier/{metastatementForMetavariable.js → nodes/metastatementForMetavariable.js} +6 -6
- package/src/verifier/nodes/statement.js +98 -0
- package/src/verifier/nodes/statementForMetavariable/conclusion.js +11 -0
- package/src/verifier/nodes/statementForMetavariable/premise.js +11 -0
- package/src/verifier/{statementForMetavariable.js → nodes/statementForMetavariable.js} +10 -10
- package/src/verifier/nodes/term.js +111 -0
- package/src/verifier/nodes/termForVariable/consequent.js +11 -0
- package/src/verifier/nodes/termForVariable/supposition.js +11 -0
- package/src/verifier/{termForVariable.js → nodes/termForVariable.js} +9 -9
- package/src/verifier/nodes.js +111 -0
- package/src/verify/assertion/type.js +25 -9
- package/src/verify/axiom.js +2 -2
- package/src/verify/conclusion.js +2 -2
- package/src/verify/conjecture.js +2 -2
- package/src/verify/consequent.js +2 -2
- package/src/verify/declaration/combinator.js +9 -1
- package/src/verify/declaration/constructor.js +15 -1
- package/src/verify/declaration/metavariable.js +9 -1
- package/src/verify/declaration/type.js +14 -1
- package/src/verify/declaration/variable.js +15 -1
- package/src/verify/file.js +2 -2
- package/src/verify/label.js +10 -2
- package/src/verify/lemma.js +4 -4
- package/src/verify/metastatement/qualified.js +4 -6
- package/src/verify/metastatement/unqualified.js +9 -7
- package/src/verify/metastatement.js +32 -57
- package/src/verify/metavariable.js +6 -3
- package/src/verify/premise.js +2 -2
- package/src/verify/release.js +2 -2
- package/src/verify/rule.js +2 -2
- package/src/verify/statement/qualified.js +4 -6
- package/src/verify/statement/unqualified.js +9 -7
- package/src/verify/statement.js +159 -283
- package/src/verify/statementAsCombinator.js +9 -129
- package/src/verify/supposition.js +2 -2
- package/src/verify/term.js +94 -159
- package/src/verify/termAsConstructor.js +20 -135
- package/src/verify/theorem.js +2 -2
- package/src/verify/type.js +7 -4
- package/src/verify/typeInference.js +4 -4
- package/src/verify/variable.js +7 -4
- package/lib/verifier/metastatementForMetavariable.js +0 -198
- package/lib/verifier/statementForMetavariable.js +0 -203
- package/lib/verifier/termForVariable.js +0 -209
- package/lib/verifier.js +0 -138
- package/src/verifier/metastatementForMetavariable/conclusion.js +0 -9
- package/src/verifier/metastatementForMetavariable/premise.js +0 -9
- package/src/verifier/statementForMetavariable/conclusion.js +0 -9
- package/src/verifier/statementForMetavariable/premise.js +0 -9
- package/src/verifier/termForVariable/consequent.js +0 -9
- package/src/verifier/termForVariable/supposition.js +0 -9
- package/src/verifier.js +0 -74
|
@@ -9,10 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
|
|
12
|
-
var
|
|
13
|
-
var _statement = /*#__PURE__*/ _interop_require_default(require("../verify/statement"));
|
|
14
|
-
var _query = require("../utilities/query");
|
|
15
|
-
var _ruleNames = require("../ruleNames");
|
|
12
|
+
var _statementAsCombinator = /*#__PURE__*/ _interop_require_default(require("../verifier/node/statementAsCombinator"));
|
|
16
13
|
function _interop_require_default(obj) {
|
|
17
14
|
return obj && obj.__esModule ? obj : {
|
|
18
15
|
default: obj
|
|
@@ -21,91 +18,20 @@ function _interop_require_default(obj) {
|
|
|
21
18
|
function verifyStatementAsCombinator(statementNode, fileContext) {
|
|
22
19
|
var statementVerifiedAsCombinator = false;
|
|
23
20
|
var statementString = fileContext.nodeAsString(statementNode);
|
|
24
|
-
fileContext.
|
|
25
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), childNodesVerified = verifyChildNodes(childNodes, fileContext)
|
|
21
|
+
fileContext.trace("Verifying the '".concat(statementString, "' statement as a combinator...."), statementNode);
|
|
22
|
+
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), childNodesVerified = _statementAsCombinator.default.verifyChildNodes(childNodes, fileContext, function() {
|
|
23
|
+
var verifiedAhead = true;
|
|
24
|
+
return verifiedAhead;
|
|
25
|
+
});
|
|
26
26
|
if (childNodesVerified) {
|
|
27
27
|
var tokens = fileContext.getTokens(), combinator = _combinator.default.fromStatementNodeAndTokens(statementNode, tokens);
|
|
28
28
|
fileContext.addCombinator(combinator);
|
|
29
29
|
statementVerifiedAsCombinator = true;
|
|
30
30
|
}
|
|
31
31
|
if (statementVerifiedAsCombinator) {
|
|
32
|
-
fileContext.
|
|
32
|
+
fileContext.debug("...verified the '".concat(statementString, "' statement as a combinator."), statementNode);
|
|
33
33
|
}
|
|
34
34
|
return statementVerifiedAsCombinator;
|
|
35
35
|
}
|
|
36
|
-
function verifyNode(node, fileContext) {
|
|
37
|
-
var nodeVerified;
|
|
38
|
-
var nodeTerminalNode = node.isTerminalNode();
|
|
39
|
-
if (nodeTerminalNode) {
|
|
40
|
-
var terminalNode = node, terminalNodeVerified = verifyTerminalNode(terminalNode, fileContext);
|
|
41
|
-
nodeVerified = terminalNodeVerified; ///
|
|
42
|
-
} else {
|
|
43
|
-
var nonTerminalNode = node, nonTerminalNodeVerified = verifyNonTerminalNode(nonTerminalNode, fileContext);
|
|
44
|
-
nodeVerified = nonTerminalNodeVerified; ///
|
|
45
|
-
}
|
|
46
|
-
return nodeVerified;
|
|
47
|
-
}
|
|
48
|
-
function verifyChildNodes(childNodes, fileContext) {
|
|
49
|
-
var childNodesVerified = childNodes.every(function(childNode) {
|
|
50
|
-
var node = childNode, nodeVerified = verifyNode(node, fileContext);
|
|
51
|
-
if (nodeVerified) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
return childNodesVerified;
|
|
56
|
-
}
|
|
57
|
-
function verifyTerminalNode(terminalNode, fileContext) {
|
|
58
|
-
var terminalNodeVerified = true;
|
|
59
|
-
return terminalNodeVerified;
|
|
60
|
-
}
|
|
61
|
-
function verifyNonTerminalNode(nonTerminalNode, fileContext) {
|
|
62
|
-
var nonTerminalNodeVerified;
|
|
63
|
-
var ruleName = nonTerminalNode.getRuleName();
|
|
64
|
-
switch(ruleName){
|
|
65
|
-
case _ruleNames.TYPE_RULE_NAME:
|
|
66
|
-
{
|
|
67
|
-
var typeNode = nonTerminalNode, typeNodeVerified = verifyTypeNode(typeNode, fileContext);
|
|
68
|
-
nonTerminalNodeVerified = typeNodeVerified; ///
|
|
69
|
-
break;
|
|
70
|
-
}
|
|
71
|
-
case _ruleNames.TERM_RULE_NAME:
|
|
72
|
-
{
|
|
73
|
-
var termNode = nonTerminalNode, termNodeVerified = verifyTermNode(termNode, fileContext);
|
|
74
|
-
nonTerminalNodeVerified = termNodeVerified; ///
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
case _ruleNames.STATEMENT_RULE_NAME:
|
|
78
|
-
{
|
|
79
|
-
var statmentNode = nonTerminalNode, statmentNodeVerified = verifyStatementNode(statmentNode, fileContext);
|
|
80
|
-
nonTerminalNodeVerified = statmentNodeVerified; ///
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
default:
|
|
84
|
-
{
|
|
85
|
-
var childNodes = nonTerminalNode.getChildNodes(), childNodesVerified = verifyChildNodes(childNodes, fileContext);
|
|
86
|
-
nonTerminalNodeVerified = childNodesVerified; ///
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return nonTerminalNodeVerified;
|
|
91
|
-
}
|
|
92
|
-
function verifyTypeNode(typeNode, fileContext) {
|
|
93
|
-
var typeNodeVerified = false;
|
|
94
|
-
var typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
95
|
-
if (!typePresent) {
|
|
96
|
-
fileContext.error("The type '".concat(typeName, "' not present."), typeNode);
|
|
97
|
-
} else {
|
|
98
|
-
typeNodeVerified = true;
|
|
99
|
-
}
|
|
100
|
-
return typeNodeVerified;
|
|
101
|
-
}
|
|
102
|
-
function verifyTermNode(termNode, fileContext) {
|
|
103
|
-
var types = [], context = fileContext, termVerified = (0, _term.default)(termNode, types, context), termNodeVerified = termVerified; ///
|
|
104
|
-
return termNodeVerified;
|
|
105
|
-
}
|
|
106
|
-
function verifyStatementNode(statementNode, fileContext) {
|
|
107
|
-
var context = fileContext, derived = false, assignments = [], statementVerified = (0, _statement.default)(statementNode, assignments, derived, context), statementNodeVerified = statementVerified; ///
|
|
108
|
-
return statementNodeVerified;
|
|
109
|
-
}
|
|
110
36
|
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuaW1wb3J0IHZlcmlmeVRlcm0gZnJvbSBcIi4uL3ZlcmlmeS90ZXJtXCI7XG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVFlQRV9SVUxFX05BTUUsIFRFUk1fUlVMRV9OQU1FLCBTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc0NvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIGNvbWJpbmF0b3IuLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGNoaWxkTm9kZXNWZXJpZmllZCkge1xuICAgIGNvbnN0IHRva2VucyA9IGZpbGVDb250ZXh0LmdldFRva2VucygpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBDb21iaW5hdG9yLmZyb21TdGF0ZW1lbnROb2RlQW5kVG9rZW5zKHN0YXRlbWVudE5vZGUsIHRva2Vucyk7XG5cbiAgICBmaWxlQ29udGV4dC5hZGRDb21iaW5hdG9yKGNvbWJpbmF0b3IpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yKSB7XG4gICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIGNvbWJpbmF0b3IuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3I7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vZGUobm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG5vZGVWZXJpZmllZDtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgbm9kZVZlcmlmaWVkID0gdGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIG5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIHJldHVybiBub2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgY2hpbGROb2Rlc1ZlcmlmaWVkID0gY2hpbGROb2Rlcy5ldmVyeSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgbm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9kZShub2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICBpZiAobm9kZVZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjaGlsZE5vZGVzVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHJ1ZTtcblxuICByZXR1cm4gdGVybWluYWxOb2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICBjYXNlIFRZUEVfUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCB0eXBlTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICB0eXBlTm9kZVZlcmlmaWVkID0gdmVyaWZ5VHlwZU5vZGUodHlwZU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0eXBlTm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBURVJNX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHZlcmlmeVRlcm1Ob2RlKHRlcm1Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3Qgc3RhdG1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgIHN0YXRtZW50Tm9kZVZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50Tm9kZShzdGF0bWVudE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdGF0bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gY2hpbGROb2Rlc1ZlcmlmaWVkOyAvLy9cblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUeXBlTm9kZSh0eXBlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHR5cGVOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKCF0eXBlUHJlc2VudCkge1xuICAgIGZpbGVDb250ZXh0LmVycm9yKGBUaGUgdHlwZSAnJHt0eXBlTmFtZX0nIG5vdCBwcmVzZW50LmAsIHR5cGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICB0eXBlTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB0eXBlTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgdHlwZXMgPSBbXSxcbiAgICAgICAgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgIHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHR5cGVzLCBjb250ZXh0KSxcbiAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHRlcm1WZXJpZmllZDsgIC8vL1xuXG4gIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRleHQgPSBmaWxlQ29udGV4dCwgIC8vL1xuICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBjb250ZXh0KSxcbiAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZVZlcmlmaWVkO1xufVxuXG4iXSwibmFtZXMiOlsidmVyaWZ5U3RhdGVtZW50QXNDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsImZpbGVDb250ZXh0Iiwic3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwidmVyaWZ5Q2hpbGROb2RlcyIsInRva2VucyIsImdldFRva2VucyIsImNvbWJpbmF0b3IiLCJDb21iaW5hdG9yIiwiZnJvbVN0YXRlbWVudE5vZGVBbmRUb2tlbnMiLCJhZGRDb21iaW5hdG9yIiwiaW5mbyIsInZlcmlmeU5vZGUiLCJub2RlIiwibm9kZVZlcmlmaWVkIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsImV2ZXJ5IiwiY2hpbGROb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIlRZUEVfUlVMRV9OQU1FIiwidHlwZU5vZGUiLCJ0eXBlTm9kZVZlcmlmaWVkIiwidmVyaWZ5VHlwZU5vZGUiLCJURVJNX1JVTEVfTkFNRSIsInRlcm1Ob2RlIiwidGVybU5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1Ob2RlIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsInN0YXRtZW50Tm9kZSIsInN0YXRtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5U3RhdGVtZW50Tm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwiZXJyb3IiLCJ0eXBlcyIsImNvbnRleHQiLCJ0ZXJtVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlVmVy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
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuaW1wb3J0IHN0YXRlbWVudEFzQ29tYmluYXRvck5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9zdGF0ZW1lbnRBc0NvbWJpbmF0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciA9IGZhbHNlO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb21iaW5hdG9yLi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gc3RhdGVtZW50QXNDb21iaW5hdG9yTm9kZVZlcmlmaWVyLnZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2RlcywgZmlsZUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBpZiAoY2hpbGROb2Rlc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgdG9rZW5zID0gZmlsZUNvbnRleHQuZ2V0VG9rZW5zKCksXG4gICAgICAgICAgY29tYmluYXRvciA9IENvbWJpbmF0b3IuZnJvbVN0YXRlbWVudE5vZGVBbmRUb2tlbnMoc3RhdGVtZW50Tm9kZSwgdG9rZW5zKTtcblxuICAgIGZpbGVDb250ZXh0LmFkZENvbWJpbmF0b3IoY29tYmluYXRvcik7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciA9IHRydWU7XG4gIH1cblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbWJpbmF0b3IuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5U3RhdGVtZW50QXNDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsImZpbGVDb250ZXh0Iiwic3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwic3RhdGVtZW50QXNDb21iaW5hdG9yTm9kZVZlcmlmaWVyIiwidmVyaWZ5Q2hpbGROb2RlcyIsInZlcmlmaWVkQWhlYWQiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJjb21iaW5hdG9yIiwiQ29tYmluYXRvciIsImZyb21TdGF0ZW1lbnROb2RlQW5kVG9rZW5zIiwiYWRkQ29tYmluYXRvciIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXdCQTs7O2lFQUhEOzRFQUN1Qjs7Ozs7O0FBRS9CLFNBQVNBLDRCQUE0QkMsYUFBYSxFQUFFQyxXQUFXO0lBQzVFLElBQUlDLGdDQUFnQztJQUVwQyxJQUFNQyxrQkFBa0JGLFlBQVlHLFlBQVksQ0FBQ0o7SUFFakRDLFlBQVlJLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLG9DQUFrQ0g7SUFFdEYsSUFBTU0sa0JBQWtCTixlQUNsQk8sYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxxQkFBcUJDLDhCQUFpQyxDQUFDQyxnQkFBZ0IsQ0FBQ0osWUFBWU4sYUFBYTtRQUMvRixJQUFNVyxnQkFBZ0I7UUFFdEIsT0FBT0E7SUFDVDtJQUVOLElBQUlILG9CQUFvQjtRQUN0QixJQUFNSSxTQUFTWixZQUFZYSxTQUFTLElBQzlCQyxhQUFhQyxtQkFBVSxDQUFDQywwQkFBMEIsQ0FBQ2pCLGVBQWVhO1FBRXhFWixZQUFZaUIsYUFBYSxDQUFDSDtRQUUxQmIsZ0NBQWdDO0lBQ2xDO0lBRUEsSUFBSUEsK0JBQStCO1FBQ2pDRCxZQUFZa0IsS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCaEIsaUJBQWdCLGlDQUErQkg7SUFDdkY7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
@@ -21,7 +21,7 @@ var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!
|
|
|
21
21
|
function verifySupposition(suppositionNode, suppositions, proofContext) {
|
|
22
22
|
var suppositionVerified;
|
|
23
23
|
var suppositionString = proofContext.nodeAsString(suppositionNode);
|
|
24
|
-
proofContext.
|
|
24
|
+
proofContext.trace("Verifying the '".concat(suppositionString, "' supposition..."), suppositionNode);
|
|
25
25
|
var derived = false, assignments = [], unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode), unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments, derived, proofContext);
|
|
26
26
|
if (unqualifiedStatementVerified) {
|
|
27
27
|
var statementNode = statementNodeQuery(unqualifiedStatementNode), proofStep = _proof.default.fromStatementNode(statementNode), supposition = _supposition.default.fromStatementNode(statementNode);
|
|
@@ -33,9 +33,9 @@ function verifySupposition(suppositionNode, suppositions, proofContext) {
|
|
|
33
33
|
suppositionVerified = true;
|
|
34
34
|
}
|
|
35
35
|
if (suppositionVerified) {
|
|
36
|
-
proofContext.
|
|
36
|
+
proofContext.debug("...verified the '".concat(suppositionString, "' supposition."), suppositionNode);
|
|
37
37
|
}
|
|
38
38
|
return suppositionVerified;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3VwcG9zaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvcHJvb2ZcIjtcbmltcG9ydCBTdXBwb3NpdGlvbiBmcm9tIFwiLi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi9zdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1cHBvc2l0aW9uL3VucXVhbGlmaWVkU3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5U3VwcG9zaXRpb24oc3VwcG9zaXRpb25Ob2RlLCBzdXBwb3NpdGlvbnMsIHByb29mQ29udGV4dCkge1xuICBsZXQgc3VwcG9zaXRpb25WZXJpZmllZDtcblxuICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IHByb29mQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwcG9zaXRpb25Ob2RlKTtcblxuICBwcm9vZkNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmAsIHN1cHBvc2l0aW9uTm9kZSk7XG5cbiAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShzdXBwb3NpdGlvbk5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgcHJvb2ZDb250ZXh0KTtcblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3VwcG9zaXRpb24gPSBTdXBwb3NpdGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIHN1cHBvc2l0aW9ucy5wdXNoKHN1cHBvc2l0aW9uKTtcblxuICAgIHByb29mQ29udGV4dC5hZGRQcm9vZlN0ZXAocHJvb2ZTdGVwKTtcblxuICAgIGFzc2lnbm1lbnRzLmZvckVhY2goKGFzc2lnbm1lbnQpID0+IHtcbiAgICAgIGFzc2lnbm1lbnQuYXNzaWduKHByb29mQ29udGV4dCk7XG4gICAgfSk7XG5cbiAgICBzdXBwb3NpdGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgcHJvb2ZDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi5gLCBzdXBwb3NpdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5U3VwcG9zaXRpb24iLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInN1cHBvc2l0aW9uTm9kZSIsInN1cHBvc2l0aW9ucyIsInByb29mQ29udGV4dCIsInN1cHBvc2l0aW9uVmVyaWZpZWQiLCJzdXBwb3NpdGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsInByb29mU3RlcCIsIlByb29mU3RlcCIsImZyb21TdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb24iLCJTdXBwb3NpdGlvbiIsInB1c2giLCJhZGRQcm9vZlN0ZXAiLCJmb3JFYWNoIiwiYXNzaWdubWVudCIsImFzc2lnbiIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7OzREQVRGO2tFQUNFO2tFQUNlO3FCQUViOzs7Ozs7QUFFMUIsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHFDQUMvQkMsZ0NBQWdDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLFNBQVNGLGtCQUFrQkksZUFBZSxFQUFFQyxZQUFZLEVBQUVDLFlBQVk7SUFDbkYsSUFBSUM7SUFFSixJQUFNQyxvQkFBb0JGLGFBQWFHLFlBQVksQ0FBQ0w7SUFFcERFLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkYsbUJBQWtCLHFCQUFtQko7SUFFMUUsSUFBTU8sVUFBVSxPQUNWQyxjQUFjLEVBQUUsRUFDaEJDLDJCQUEyQlYsOEJBQThCQyxrQkFDekRVLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNGLDBCQUEwQkQsYUFBYUQsU0FBU0w7SUFFaEgsSUFBSVEsOEJBQThCO1FBQ2hDLElBQU1FLGdCQUFnQmYsbUJBQW1CWSwyQkFDbkNJLFlBQVlDLGNBQVMsQ0FBQ0MsaUJBQWlCLENBQUNILGdCQUN4Q0ksY0FBY0Msb0JBQVcsQ0FBQ0YsaUJBQWlCLENBQUNIO1FBRWxEWCxhQUFhaUIsSUFBSSxDQUFDRjtRQUVsQmQsYUFBYWlCLFlBQVksQ0FBQ047UUFFMUJMLFlBQVlZLE9BQU8sQ0FBQyxTQUFDQztZQUNuQkEsV0FBV0MsTUFBTSxDQUFDcEI7UUFDcEI7UUFFQUMsc0JBQXNCO0lBQ3hCO0lBRUEsSUFBSUEscUJBQXFCO1FBQ3ZCRCxhQUFhcUIsS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCbkIsbUJBQWtCLG1CQUFpQko7SUFDNUU7SUFFQSxPQUFPRztBQUNUIn0=
|
package/lib/verify/term.js
CHANGED
|
@@ -10,13 +10,7 @@ function _export(target, all) {
|
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
12
|
default: function() {
|
|
13
|
-
return
|
|
14
|
-
},
|
|
15
|
-
termVerifier: function() {
|
|
16
|
-
return termVerifier;
|
|
17
|
-
},
|
|
18
|
-
verifyTermAgainstConstructor: function() {
|
|
19
|
-
return verifyTermAgainstConstructor;
|
|
13
|
+
return _default;
|
|
20
14
|
},
|
|
21
15
|
verifyTermAgainstConstructors: function() {
|
|
22
16
|
return verifyTermAgainstConstructors;
|
|
@@ -25,228 +19,51 @@ _export(exports, {
|
|
|
25
19
|
return verifyTermAsVariable;
|
|
26
20
|
}
|
|
27
21
|
});
|
|
28
|
-
var
|
|
22
|
+
var _term = /*#__PURE__*/ _interop_require_default(require("../verifier/nodes/term"));
|
|
29
23
|
var _array = require("../utilities/array");
|
|
30
|
-
var _type = require("../type");
|
|
31
|
-
var _typeNames = require("../typeNames");
|
|
32
|
-
var _ruleNames = require("../ruleNames");
|
|
33
24
|
var _query = require("../utilities/query");
|
|
34
|
-
function _assert_this_initialized(self) {
|
|
35
|
-
if (self === void 0) {
|
|
36
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
37
|
-
}
|
|
38
|
-
return self;
|
|
39
|
-
}
|
|
40
|
-
function _class_call_check(instance, Constructor) {
|
|
41
|
-
if (!(instance instanceof Constructor)) {
|
|
42
|
-
throw new TypeError("Cannot call a class as a function");
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function _defineProperties(target, props) {
|
|
46
|
-
for(var i = 0; i < props.length; i++){
|
|
47
|
-
var descriptor = props[i];
|
|
48
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
49
|
-
descriptor.configurable = true;
|
|
50
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
51
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
55
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
56
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
57
|
-
return Constructor;
|
|
58
|
-
}
|
|
59
|
-
function _get_prototype_of(o) {
|
|
60
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
61
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
62
|
-
};
|
|
63
|
-
return _get_prototype_of(o);
|
|
64
|
-
}
|
|
65
|
-
function _inherits(subClass, superClass) {
|
|
66
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
67
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
68
|
-
}
|
|
69
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
70
|
-
constructor: {
|
|
71
|
-
value: subClass,
|
|
72
|
-
writable: true,
|
|
73
|
-
configurable: true
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
77
|
-
}
|
|
78
25
|
function _interop_require_default(obj) {
|
|
79
26
|
return obj && obj.__esModule ? obj : {
|
|
80
27
|
default: obj
|
|
81
28
|
};
|
|
82
29
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
return _assert_this_initialized(self);
|
|
88
|
-
}
|
|
89
|
-
function _set_prototype_of(o, p) {
|
|
90
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
91
|
-
o.__proto__ = p;
|
|
92
|
-
return o;
|
|
93
|
-
};
|
|
94
|
-
return _set_prototype_of(o, p);
|
|
95
|
-
}
|
|
96
|
-
function _type_of(obj) {
|
|
97
|
-
"@swc/helpers - typeof";
|
|
98
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
99
|
-
}
|
|
100
|
-
function _is_native_reflect_construct() {
|
|
101
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
102
|
-
if (Reflect.construct.sham) return false;
|
|
103
|
-
if (typeof Proxy === "function") return true;
|
|
104
|
-
try {
|
|
105
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
106
|
-
return true;
|
|
107
|
-
} catch (e) {
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function _create_super(Derived) {
|
|
112
|
-
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
113
|
-
return function _createSuperInternal() {
|
|
114
|
-
var Super = _get_prototype_of(Derived), result;
|
|
115
|
-
if (hasNativeReflectConstruct) {
|
|
116
|
-
var NewTarget = _get_prototype_of(this).constructor;
|
|
117
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
118
|
-
} else {
|
|
119
|
-
result = Super.apply(this, arguments);
|
|
120
|
-
}
|
|
121
|
-
return _possible_constructor_return(this, result);
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
var termNodeQuery = (0, _query.nodeQuery)("/argument/term!"), typeNodeQuery = (0, _query.nodeQuery)("/argument/type!"), variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
125
|
-
var TermVerifier = /*#__PURE__*/ function(Verifier) {
|
|
126
|
-
_inherits(TermVerifier, Verifier);
|
|
127
|
-
var _super = _create_super(TermVerifier);
|
|
128
|
-
function TermVerifier() {
|
|
129
|
-
_class_call_check(this, TermVerifier);
|
|
130
|
-
return _super.apply(this, arguments);
|
|
131
|
-
}
|
|
132
|
-
_create_class(TermVerifier, [
|
|
133
|
-
{
|
|
134
|
-
key: "verifyTerminalNode",
|
|
135
|
-
value: function verifyTerminalNode(terminalNode, constructorTerminalNode, context) {
|
|
136
|
-
var terminalNodeVerified = false;
|
|
137
|
-
var matches = terminalNode.match(constructorTerminalNode);
|
|
138
|
-
if (matches) {
|
|
139
|
-
terminalNodeVerified = true;
|
|
140
|
-
}
|
|
141
|
-
return terminalNodeVerified;
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
key: "verifyNonTerminalNode",
|
|
146
|
-
value: function verifyNonTerminalNode(nonTerminalNode, constructorNonTerminalNode, context) {
|
|
147
|
-
var nonTerminalNodeVerified = false;
|
|
148
|
-
var ruleName = nonTerminalNode.getRuleName(), constructorRuleName = constructorNonTerminalNode.getRuleName(); ///
|
|
149
|
-
if (ruleName === constructorRuleName) {
|
|
150
|
-
switch(ruleName){
|
|
151
|
-
case _ruleNames.ARGUMENT_RULE_NAME:
|
|
152
|
-
{
|
|
153
|
-
var argumentNode = nonTerminalNode, constructorArgumentNode = constructorNonTerminalNode, argumentNodeVerified = this.verifyArgumentNode(argumentNode, constructorArgumentNode, context);
|
|
154
|
-
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
default:
|
|
158
|
-
{
|
|
159
|
-
var childNodes = nonTerminalNode.getChildNodes(), constructorChildNodes = constructorNonTerminalNode.getChildNodes(), nodes = childNodes, constructorNodes = constructorChildNodes, nodesVerified = this.verifyNodes(nodes, constructorNodes, context);
|
|
160
|
-
nonTerminalNodeVerified = nodesVerified; ///
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return nonTerminalNodeVerified;
|
|
166
|
-
}
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
key: "verifyArgumentNode",
|
|
170
|
-
value: function verifyArgumentNode(argumentNode, constructorArgumentNode, context) {
|
|
171
|
-
var argumentNodeVerified = false;
|
|
172
|
-
var typeNode = typeNodeQuery(argumentNode);
|
|
173
|
-
if (typeNode !== null) {
|
|
174
|
-
var argumentString = context.nodeAsString(argumentNode);
|
|
175
|
-
context.error("The '".concat(argumentString, "' argument should be a term, not a type"), argumentNode);
|
|
176
|
-
} else {
|
|
177
|
-
var termNode = termNodeQuery(argumentNode), constructorTermNode = termNodeQuery(constructorArgumentNode), constructorTypeNode = typeNodeQuery(constructorArgumentNode);
|
|
178
|
-
if (false) {
|
|
179
|
-
///
|
|
180
|
-
} else if (constructorTermNode !== null) {
|
|
181
|
-
var node = termNode, constructorNode = constructorTermNode, nodeVerified = this.verifyNode(node, constructorNode, context);
|
|
182
|
-
argumentNodeVerified = nodeVerified; ///
|
|
183
|
-
} else if (constructorTypeNode !== null) {
|
|
184
|
-
var types = [], termVerified = verifyTerm(termNode, types, context);
|
|
185
|
-
if (termVerified) {
|
|
186
|
-
var constructorTypeName = (0, _query.typeNameFromTypeNode)(constructorTypeNode), firstType = (0, _array.first)(types), termType = firstType, termTypeName = termType.getName(), constructorType = constructorTypeName === _typeNames.OBJECT_TYPE_NAME ? _type.objectType : context.findTypeByTypeName(constructorTypeName), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(constructorType);
|
|
187
|
-
if (termTypeEqualToOrSubTypeOfType) {
|
|
188
|
-
var termString = context.nodeAsString(termNode);
|
|
189
|
-
context.trace("The '".concat(termTypeName, "' type of the '").concat(termString, "' term is equal to or a sub-type of the '").concat(constructorTypeName, "' type in the constructor."), argumentNode);
|
|
190
|
-
argumentNodeVerified = true;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
return argumentNodeVerified;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
]);
|
|
199
|
-
return TermVerifier;
|
|
200
|
-
}(_verifier.default);
|
|
201
|
-
var termVerifier = new TermVerifier();
|
|
202
|
-
function verifyTerm(termNode, types, context) {
|
|
203
|
-
var termVerified = false;
|
|
30
|
+
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
31
|
+
function verifyTerm(termNode, types, context, verifyAhead) {
|
|
32
|
+
var termVerified;
|
|
204
33
|
var termString = context.nodeAsString(termNode);
|
|
205
|
-
context.
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
if (!termVerified) {
|
|
215
|
-
var termVerifiedAgainstConstructors = verifyTermAgainstConstructors(termNode, types, context);
|
|
216
|
-
if (termVerifiedAgainstConstructors) {
|
|
217
|
-
termVerified = true;
|
|
34
|
+
context.trace("Verifying the '".concat(termString, "' term..."), termNode);
|
|
35
|
+
var verifyTermFunctions = [
|
|
36
|
+
verifyTermAsStandaloneVariable,
|
|
37
|
+
verifyTermAgainstConstructors
|
|
38
|
+
];
|
|
39
|
+
termVerified = verifyTermFunctions.some(function(verifyTermFunction) {
|
|
40
|
+
var termVerified = verifyTermFunction(termNode, types, context, verifyAhead);
|
|
41
|
+
if (termVerified) {
|
|
42
|
+
return true;
|
|
218
43
|
}
|
|
219
|
-
}
|
|
44
|
+
});
|
|
220
45
|
if (termVerified) {
|
|
221
|
-
var firstType = (0, _array.first)(types),
|
|
222
|
-
context.debug("
|
|
46
|
+
var firstType = (0, _array.first)(types), type = firstType, typeName = type.getName();
|
|
47
|
+
context.debug("...verified the '".concat(termString, "' term, which has been given the '").concat(typeName, "' type."), termNode);
|
|
223
48
|
}
|
|
224
49
|
return termVerified;
|
|
225
50
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
51
|
+
Object.assign(_term.default, {
|
|
52
|
+
verifyTerm: verifyTerm
|
|
53
|
+
});
|
|
54
|
+
var _default = verifyTerm;
|
|
55
|
+
function verifyTermAgainstConstructors(termNode, types, context, verifyAhead) {
|
|
56
|
+
var termVerifiedAgainstConstructors;
|
|
57
|
+
var constructors = context.getConstructors();
|
|
58
|
+
termVerifiedAgainstConstructors = constructors.some(function(constructor) {
|
|
59
|
+
var termVerifiedAgainstConstructor = verifyTermAgainstConstructor(termNode, types, constructor, context, verifyAhead);
|
|
232
60
|
if (termVerifiedAgainstConstructor) {
|
|
233
61
|
return true;
|
|
234
62
|
}
|
|
235
|
-
})
|
|
236
|
-
if (constructor !== null) {
|
|
237
|
-
var type = constructor.getType();
|
|
238
|
-
types.push(type);
|
|
239
|
-
termVerifiedAgainstConstructors = true;
|
|
240
|
-
}
|
|
63
|
+
});
|
|
241
64
|
return termVerifiedAgainstConstructors;
|
|
242
65
|
}
|
|
243
|
-
function
|
|
244
|
-
var termString = context.nodeAsString(termNode), constructorString = constructor.getString();
|
|
245
|
-
context.trace("Verifying the '".concat(termString, "' term against the '").concat(constructorString, "' constructor."), termNode);
|
|
246
|
-
var constructorTermNode = constructor.getTermNode(), nonTerminalNNdeA = termNode, nonTerminalNodeB = constructorTermNode, nodeVerified = termVerifier.verifyNonTerminalNode(nonTerminalNNdeA, nonTerminalNodeB, context), termVerifiedAgainstConstructor = nodeVerified; ///
|
|
247
|
-
return termVerifiedAgainstConstructor;
|
|
248
|
-
}
|
|
249
|
-
function verifyTermAsVariable(termNode, variables, context) {
|
|
66
|
+
function verifyTermAsVariable(termNode, variables, context, verifyAhead) {
|
|
250
67
|
var termVerifiedAsVariable = false;
|
|
251
68
|
var termString = context.nodeAsString(termNode);
|
|
252
69
|
context.trace("Verifying the '".concat(termString, "' term as a variable..."), termNode);
|
|
@@ -254,12 +71,51 @@ function verifyTermAsVariable(termNode, variables, context) {
|
|
|
254
71
|
if (variableNode !== null) {
|
|
255
72
|
var variableName = (0, _query.variableNameFromVariableNode)(variableNode), variablePresent = context.isVariablePresentByVariableName(variableName);
|
|
256
73
|
if (variablePresent) {
|
|
74
|
+
var verifiedAhead;
|
|
257
75
|
var variable = context.findVariableByVariableName(variableName);
|
|
258
76
|
variables.push(variable);
|
|
259
|
-
|
|
77
|
+
verifiedAhead = verifyAhead();
|
|
78
|
+
termVerifiedAsVariable = verifiedAhead; ///
|
|
260
79
|
}
|
|
261
80
|
}
|
|
81
|
+
if (termVerifiedAsVariable) {
|
|
82
|
+
context.debug("...verified the '".concat(termString, "' term as a variable."), termNode);
|
|
83
|
+
}
|
|
262
84
|
return termVerifiedAsVariable;
|
|
263
85
|
}
|
|
86
|
+
function verifyTermAgainstConstructor(termNode, types, constructor, context, verifyAhead) {
|
|
87
|
+
var termVerifiedAgainstConstructor;
|
|
88
|
+
var termString = context.nodeAsString(termNode), constructorString = constructor.getString();
|
|
89
|
+
context.trace("Verifying the '".concat(termString, "' term against the '").concat(constructorString, "' constructor..."), termNode);
|
|
90
|
+
var constructorTermNode = constructor.getTermNode(), nonTerminalNNdeA = termNode, nonTerminalNodeB = constructorTermNode, nodeVerified = _term.default.verifyNonTerminalNode(nonTerminalNNdeA, nonTerminalNodeB, context, function() {
|
|
91
|
+
var verifiedAhead;
|
|
92
|
+
var type = constructor.getType();
|
|
93
|
+
types.push(type);
|
|
94
|
+
verifiedAhead = verifyAhead();
|
|
95
|
+
return verifiedAhead;
|
|
96
|
+
});
|
|
97
|
+
termVerifiedAgainstConstructor = nodeVerified; ///
|
|
98
|
+
if (termVerifiedAgainstConstructor) {
|
|
99
|
+
context.debug("...verified the '".concat(termString, "' term against the '").concat(constructorString, "' constructor."), termNode);
|
|
100
|
+
}
|
|
101
|
+
return termVerifiedAgainstConstructor;
|
|
102
|
+
}
|
|
103
|
+
function verifyTermAsStandaloneVariable(termNode, types, context, verifyAhead) {
|
|
104
|
+
var termVerifiedAsStandaloneVariable;
|
|
105
|
+
var termString = context.nodeAsString(termNode);
|
|
106
|
+
context.trace("Verifying the '".concat(termString, "' term as a standalone variable..."), termNode);
|
|
107
|
+
var variables = [], termVerifiedAsVariable = verifyTermAsVariable(termNode, variables, context, function() {
|
|
108
|
+
var verifiedAhead;
|
|
109
|
+
var firstVariable = (0, _array.first)(variables), variable = firstVariable, type = variable.getType();
|
|
110
|
+
types.push(type);
|
|
111
|
+
verifiedAhead = verifyAhead();
|
|
112
|
+
return verifiedAhead;
|
|
113
|
+
});
|
|
114
|
+
termVerifiedAsStandaloneVariable = termVerifiedAsVariable; ///
|
|
115
|
+
if (termVerifiedAsStandaloneVariable) {
|
|
116
|
+
context.debug("...verified the '".concat(termString, "' term as a standalone variable."), termNode);
|
|
117
|
+
}
|
|
118
|
+
return termVerifiedAsStandaloneVariable;
|
|
119
|
+
}
|
|
264
120
|
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllclwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vdHlwZVwiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IEFSR1VNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgdHlwZU5hbWVGcm9tVHlwZU5vZGUsIHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvdGVybSFcIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3R5cGUhXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIik7XG5cbmNsYXNzIFRlcm1WZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdGVybWluYWxOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1hdGNoZXMgPSB0ZXJtaW5hbE5vZGUubWF0Y2goY29uc3RydWN0b3JUZXJtaW5hbE5vZGUpO1xuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgY29uc3RydWN0b3JSdWxlTmFtZSA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gICAgaWYgKHJ1bGVOYW1lID09PSBjb25zdHJ1Y3RvclJ1bGVOYW1lKSB7XG4gICAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICAgIGNhc2UgQVJHVU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29uc3QgYXJndW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBhcmd1bWVudE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5QXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgY29uc3RydWN0b3JBcmd1bWVudE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3RvckNoaWxkTm9kZXMgPSBjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvck5vZGVzID0gY29uc3RydWN0b3JDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICBub2Rlc1ZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb2Rlcyhub2RlcywgY29uc3RydWN0b3JOb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG5vZGVzVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGFyZ3VtZW50U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoYXJndW1lbnROb2RlKTtcblxuICAgICAgY29udGV4dC5lcnJvcihgVGhlICcke2FyZ3VtZW50U3RyaW5nfScgYXJndW1lbnQgc2hvdWxkIGJlIGEgdGVybSwgbm90IGEgdHlwZWAsIGFyZ3VtZW50Tm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShhcmd1bWVudE5vZGUpLFxuICAgICAgICAgICAgY29uc3RydWN0b3JUZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JBcmd1bWVudE5vZGUpLFxuICAgICAgICAgICAgY29uc3RydWN0b3JUeXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JBcmd1bWVudE5vZGUpO1xuXG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2UgaWYgKGNvbnN0cnVjdG9yVGVybU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yTm9kZSA9IGNvbnN0cnVjdG9yVGVybU5vZGUsICAvLy9cbiAgICAgICAgICAgICAgbm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb2RlKG5vZGUsIGNvbnN0cnVjdG9yTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSBub2RlVmVyaWZpZWQ7ICAvLy9cbiAgICAgIH0gZWxzZSBpZiAoY29uc3RydWN0b3JUeXBlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB0eXBlcyA9IFtdLFxuICAgICAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGNvbnN0cnVjdG9yVHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZShjb25zdHJ1Y3RvclR5cGVOb2RlKSxcbiAgICAgICAgICAgICAgICBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgICAgICAgdGVybVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1UeXBlTmFtZSA9IHRlcm1UeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3RvclR5cGUgPSAoY29uc3RydWN0b3JUeXBlTmFtZSA9PT0gT0JKRUNUX1RZUEVfTkFNRSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0VHlwZSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKGNvbnN0cnVjdG9yVHlwZU5hbWUpLFxuICAgICAgICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSA9IHRlcm1UeXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKGNvbnN0cnVjdG9yVHlwZSk7XG5cbiAgICAgICAgICBpZiAodGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXJtU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gICAgICAgICAgICBjb250ZXh0LnRyYWNlKGBUaGUgJyR7dGVybVR5cGVOYW1lfScgdHlwZSBvZiB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gaXMgZXF1YWwgdG8gb3IgYSBzdWItdHlwZSBvZiB0aGUgJyR7Y29uc3RydWN0b3JUeXBlTmFtZX0nIHR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yLmAsIGFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYXJndW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHRlcm1WZXJpZmllciA9IG5ldyBUZXJtVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSk7XG5cbiAgY29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmAsIHRlcm1Ob2RlKTtcblxuICBpZiAoIXRlcm1WZXJpZmllZCkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0KTtcblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgICBjb25zdCBmaXJzdFZhcmlhYmxlID0gZmlyc3QodmFyaWFibGVzKSxcbiAgICAgICAgICAgIHZhcmlhYmxlID0gZmlyc3RWYXJpYWJsZSwgLy8vXG4gICAgICAgICAgICB0eXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpO1xuXG4gICAgICB0eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgICB0ZXJtVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmICghdGVybVZlcmlmaWVkKSB7XG4gICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycykge1xuICAgICAgdGVybVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgY29uc3QgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgIHR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgIHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGBWZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0sIHdoaWNoIGhhcyB0eXBlICcke3R5cGVOYW1lfScuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCkge1xuICBsZXQgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhZ2FpbnN0IGNvbnN0cnVjdG9ycy4uLmAsIHRlcm1Ob2RlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBjb250ZXh0LmdldENvbnN0cnVjdG9ycygpLFxuICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9ycy5maW5kKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIGNvbnN0cnVjdG9yLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoY29uc3RydWN0b3IgIT09IG51bGwpIHtcbiAgICBjb25zdCB0eXBlID0gY29uc3RydWN0b3IuZ2V0VHlwZSgpO1xuXG4gICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9yKHRlcm1Ob2RlLCBjb25zdHJ1Y3RvciwgY29udGV4dCkge1xuICBjb25zdCB0ZXJtU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBjb25zdHJ1Y3RvclN0cmluZyA9IGNvbnN0cnVjdG9yLmdldFN0cmluZygpO1xuXG4gIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYWdhaW5zdCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci5gLCB0ZXJtTm9kZSk7XG5cbiAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IGNvbnN0cnVjdG9yLmdldFRlcm1Ob2RlKCksXG4gICAgICAgIG5vblRlcm1pbmFsTk5kZUEgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICBub2RlVmVyaWZpZWQgPSB0ZXJtVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTk5kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGNvbnRleHQpLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IgPSBub2RlVmVyaWZpZWQ7ICAvLy9cblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHZhcmlhYmxlcywgY29udGV4dCkge1xuICBsZXQgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHZhcmlhYmxlLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGNvbnRleHQuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICAgIHZhcmlhYmxlcy5wdXNoKHZhcmlhYmxlKTtcblxuICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzVmFyaWFibGU7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGVybSIsInRlcm1WZXJpZmllciIsInZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IiLCJ2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyIsInZlcmlmeVRlcm1Bc1ZhcmlhYmxlIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIlRlcm1WZXJpZmllciIsInZlcmlmeVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yVGVybWluYWxOb2RlIiwiY29udGV4dCIsInRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibWF0Y2hlcyIsIm1hdGNoIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJjb25zdHJ1Y3RvclJ1bGVOYW1lIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiYXJndW1lbnROb2RlIiwiY29uc3RydWN0b3JBcmd1bWVudE5vZGUiLCJhcmd1bWVudE5vZGVWZXJpZmllZCIsInZlcmlmeUFyZ3VtZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY29uc3RydWN0b3JDaGlsZE5vZGVzIiwibm9kZXMiLCJjb25zdHJ1Y3Rvck5vZGVzIiwibm9kZXNWZXJpZmllZCIsInZlcmlmeU5vZGVzIiwidHlwZU5vZGUiLCJhcmd1bWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImVycm9yIiwidGVybU5vZGUiLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiY29uc3RydWN0b3JUeXBlTm9kZSIsIm5vZGUiLCJjb25zdHJ1Y3Rvck5vZGUiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb2RlIiwidHlwZXMiLCJ0ZXJtVmVyaWZpZWQiLCJjb25zdHJ1Y3RvclR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJmaXJzdFR5cGUiLCJmaXJzdCIsInRlcm1UeXBlIiwidGVybVR5cGVOYW1lIiwiZ2V0TmFtZSIsImNvbnN0cnVjdG9yVHlwZSIsIk9CSkVDVF9UWVBFX05BTUUiLCJvYmplY3RUeXBlIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwidGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJ0ZXJtU3RyaW5nIiwidHJhY2UiLCJWZXJpZmllciIsImRlYnVnIiwidmFyaWFibGVzIiwidGVybVZlcmlmaWVkQXNWYXJpYWJsZSIsImZpcnN0VmFyaWFibGUiLCJ2YXJpYWJsZSIsInR5cGUiLCJnZXRUeXBlIiwicHVzaCIsInRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMiLCJ0eXBlTmFtZSIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9yIiwiZmluZCIsInRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybU5vZGUiLCJub25UZXJtaW5hbE5OZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQW1IQSxPQXVDQztlQXZDdUJBOztJQUZYQyxZQUFZO2VBQVpBOztJQXNFR0MsNEJBQTRCO2VBQTVCQTs7SUEzQkFDLDZCQUE2QjtlQUE3QkE7O0lBMENBQyxvQkFBb0I7ZUFBcEJBOzs7K0RBcE1LO3FCQUVDO29CQUNLO3lCQUNNO3lCQUNFO3FCQUMyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5RSxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsb0JBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMsb0JBQzFCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUM7QUFFcEMsSUFBQSxBQUFNRyw2QkFtR0gsQUFuR0g7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsWUFBWSxFQUFFQyx1QkFBdUIsRUFBRUMsT0FBTztnQkFDL0QsSUFBSUMsdUJBQXVCO2dCQUUzQixJQUFNQyxVQUFVSixhQUFhSyxLQUFLLENBQUNKO2dCQUVuQyxJQUFJRyxTQUFTO29CQUNYRCx1QkFBdUI7Z0JBQ3pCO2dCQUVBLE9BQU9BO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxlQUFlLEVBQUVDLDBCQUEwQixFQUFFTixPQUFPO2dCQUN4RSxJQUFJTywwQkFBMEI7Z0JBRTlCLElBQU1DLFdBQVdILGdCQUFnQkksV0FBVyxJQUN0Q0Msc0JBQXNCSiwyQkFBMkJHLFdBQVcsSUFBSSxHQUFHO2dCQUV6RSxJQUFJRCxhQUFhRSxxQkFBcUI7b0JBQ3BDLE9BQVFGO3dCQUNOLEtB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
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHRlcm1Ob2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2Rlcy90ZXJtXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVmVyaWZpZWQ7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVRlcm1GdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5VGVybUFzU3RhbmRhbG9uZVZhcmlhYmxlLFxuICAgIHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzXG4gIF07XG5cbiAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybUZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlUZXJtRnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtRnVuY3Rpb24odGVybU5vZGUsIHR5cGVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWQpIHtcbiAgICBjb25zdCBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgdHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4gICAgICAgICAgdHlwZU5hbWUgPSB0eXBlLmdldE5hbWUoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSwgd2hpY2ggaGFzIGJlZW4gZ2l2ZW4gdGhlICcke3R5cGVOYW1lfScgdHlwZS5gLCB0ZXJtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGVybVZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKHRlcm1Ob2Rlc1ZlcmlmaWVyLCB7XG4gIHZlcmlmeVRlcm1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlUZXJtO1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnModGVybU5vZGUsIHR5cGVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycztcblxuICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBjb250ZXh0LmdldENvbnN0cnVjdG9ycygpO1xuXG4gIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICBjb25zdCB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IgPSB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0eXBlcywgY29uc3RydWN0b3IsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHZhcmlhYmxlLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGNvbnRleHQuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgICB2YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG5cbiAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHRlcm1WZXJpZmllZEFzVmFyaWFibGUpIHtcbiAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSB2YXJpYWJsZS5gLCB0ZXJtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGVybVZlcmlmaWVkQXNWYXJpYWJsZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdHlwZXMsIGNvbnN0cnVjdG9yLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSksXG4gICAgICAgIGNvbnN0cnVjdG9yU3RyaW5nID0gY29uc3RydWN0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhZ2FpbnN0IHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9yVGVybU5vZGUgPSBjb25zdHJ1Y3Rvci5nZXRUZXJtTm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5OZGVBID0gdGVybU5vZGUsICAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IGNvbnN0cnVjdG9yVGVybU5vZGUsICAvLy9cbiAgICAgICAgbm9kZVZlcmlmaWVkID0gdGVybU5vZGVzVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTk5kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBjb25zdHJ1Y3Rvci5nZXRUeXBlKCk7XG5cbiAgICAgICAgICB0eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yID0gbm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgaWYgKHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3Rvcikge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhZ2FpbnN0IHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLmAsIHRlcm1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3I7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVRlcm1Bc1N0YW5kYWxvbmVWYXJpYWJsZSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVmVyaWZpZWRBc1N0YW5kYWxvbmVWYXJpYWJsZTtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSBzdGFuZGFsb25lIHZhcmlhYmxlLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlID0gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHZhcmlhYmxlcywgY29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgICAgY29uc3QgZmlyc3RWYXJpYWJsZSA9IGZpcnN0KHZhcmlhYmxlcyksXG4gICAgICAgICAgICAgICAgdmFyaWFibGUgPSBmaXJzdFZhcmlhYmxlLCAvLy9cbiAgICAgICAgICAgICAgICB0eXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpO1xuXG4gICAgICAgICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHRlcm1WZXJpZmllZEFzU3RhbmRhbG9uZVZhcmlhYmxlID0gdGVybVZlcmlmaWVkQXNWYXJpYWJsZTsgIC8vL1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc1N0YW5kYWxvbmVWYXJpYWJsZSkge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHN0YW5kYWxvbmUgdmFyaWFibGUuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzU3RhbmRhbG9uZVZhcmlhYmxlO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzIiwidmVyaWZ5VGVybUFzVmFyaWFibGUiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZlcmlmeVRlcm0iLCJ0ZXJtTm9kZSIsInR5cGVzIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVZlcmlmaWVkIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5VGVybUZ1bmN0aW9ucyIsInZlcmlmeVRlcm1Bc1N0YW5kYWxvbmVWYXJpYWJsZSIsInNvbWUiLCJ2ZXJpZnlUZXJtRnVuY3Rpb24iLCJmaXJzdFR5cGUiLCJmaXJzdCIsInR5cGUiLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsInRlcm1Ob2Rlc1ZlcmlmaWVyIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9yIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvciIsInZhcmlhYmxlcyIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIiwidmFyaWFibGVQcmVzZW50IiwiaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSIsInZlcmlmaWVkQWhlYWQiLCJ2YXJpYWJsZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwicHVzaCIsImNvbnN0cnVjdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsImdldFRlcm1Ob2RlIiwibm9uVGVybWluYWxOTmRlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJnZXRUeXBlIiwidGVybVZlcmlmaWVkQXNTdGFuZGFsb25lVmFyaWFibGUiLCJmaXJzdFZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE0Q0EsT0FBMEI7ZUFBMUI7O0lBRWdCQSw2QkFBNkI7ZUFBN0JBOztJQWdCQUMsb0JBQW9CO2VBQXBCQTs7OzJEQTVEYztxQkFFUjtxQkFDa0M7Ozs7OztBQUV4RCxJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFcEMsU0FBU0MsV0FBV0MsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsV0FBVztJQUN2RCxJQUFJQztJQUVKLElBQU1DLGFBQWFILFFBQVFJLFlBQVksQ0FBQ047SUFFeENFLFFBQVFLLEtBQUssQ0FBQyxBQUFDLGtCQUE0QixPQUFYRixZQUFXLGNBQVlMO0lBRXZELElBQU1RLHNCQUFzQjtRQUMxQkM7UUFDQWQ7S0FDRDtJQUVEUyxlQUFlSSxvQkFBb0JFLElBQUksQ0FBQyxTQUFDQztRQUN2QyxJQUFNUCxlQUFlTyxtQkFBbUJYLFVBQVVDLE9BQU9DLFNBQVNDO1FBRWxFLElBQUlDLGNBQWM7WUFDaEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCLElBQU1RLFlBQVlDLElBQUFBLFlBQUssRUFBQ1osUUFDbEJhLE9BQU9GLFdBQ1BHLFdBQVdELEtBQUtFLE9BQU87UUFFN0JkLFFBQVFlLEtBQUssQ0FBQyxBQUFD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
|