occam-verify-cli 0.0.909 → 0.0.911
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/lib/axiomLemmaTheoremConjecture.js +6 -6
- package/lib/conclusion.js +7 -7
- package/lib/consequent.js +3 -3
- package/lib/context/file.js +7 -35
- package/lib/context/local.js +14 -19
- package/lib/context/localMeta.js +16 -21
- package/lib/declaration.js +10 -10
- package/lib/equivalence.js +15 -15
- package/lib/frame.js +5 -5
- package/lib/frameAssertion.js +3 -3
- package/lib/metaConsequent.js +4 -4
- package/lib/metaLemmaMetatheorem.js +10 -10
- package/lib/metaSupposition.js +10 -10
- package/lib/metaType.js +7 -7
- package/lib/metavariable.js +7 -7
- package/lib/mixins/nodesVerifier/intrinsiclevel.js +3 -3
- package/lib/mixins/nodesVerifier/metaLevel.js +3 -3
- package/lib/premise.js +19 -19
- package/lib/rule.js +21 -21
- package/lib/step/metaproof.js +14 -53
- package/lib/step/proof.js +10 -22
- package/lib/substitution/metastatementForMetavariable.js +11 -11
- package/lib/substitution/statementForMetavariable.js +9 -8
- package/lib/substitution/termForVariable.js +9 -9
- package/lib/substitution.js +11 -11
- package/lib/supposition.js +3 -3
- package/lib/type.js +7 -7
- package/lib/utilities/match.js +96 -0
- package/lib/variable.js +8 -8
- package/lib/verify/containedAssertion.js +54 -20
- package/lib/verify/definedAssertion.js +67 -33
- package/lib/verify/frame.js +2 -2
- package/lib/verify/frameAssertion.js +3 -3
- package/lib/verify/metaDerivation.js +7 -7
- package/lib/verify/metaSubDerivation.js +6 -6
- package/lib/verify/metaproofStep.js +98 -0
- package/lib/verify/metastatement/unqualified.js +4 -7
- package/lib/verify/metastatement.js +35 -6
- package/lib/verify/ruleProofStep.js +25 -14
- package/lib/verify/statement/unqualified.js +3 -3
- package/lib/verify/statement.js +4 -7
- package/package.json +2 -2
- package/src/axiomLemmaTheoremConjecture.js +6 -6
- package/src/conclusion.js +6 -6
- package/src/consequent.js +2 -2
- package/src/context/file.js +6 -30
- package/src/context/local.js +13 -19
- package/src/context/localMeta.js +15 -21
- package/src/declaration.js +12 -12
- package/src/equivalence.js +14 -14
- package/src/frame.js +4 -4
- package/src/frameAssertion.js +2 -2
- package/src/metaConsequent.js +3 -3
- package/src/metaLemmaMetatheorem.js +10 -10
- package/src/metaSupposition.js +9 -9
- package/src/metaType.js +7 -7
- package/src/metavariable.js +6 -6
- package/src/mixins/nodesVerifier/intrinsiclevel.js +2 -2
- package/src/mixins/nodesVerifier/metaLevel.js +2 -2
- package/src/premise.js +18 -18
- package/src/rule.js +22 -22
- package/src/step/metaproof.js +12 -73
- package/src/step/proof.js +8 -26
- package/src/substitution/metastatementForMetavariable.js +10 -10
- package/src/substitution/statementForMetavariable.js +6 -4
- package/src/substitution/termForVariable.js +8 -8
- package/src/substitution.js +10 -10
- package/src/supposition.js +2 -2
- package/src/type.js +7 -7
- package/src/utilities/match.js +100 -0
- package/src/variable.js +11 -11
- package/src/verify/containedAssertion.js +76 -27
- package/src/verify/definedAssertion.js +90 -41
- package/src/verify/frame.js +1 -1
- package/src/verify/frameAssertion.js +2 -2
- package/src/verify/metaDerivation.js +6 -6
- package/src/verify/metaSubDerivation.js +6 -6
- package/src/verify/{metaProofStep.js → metaproofStep.js} +60 -19
- package/src/verify/metastatement/unqualified.js +3 -7
- package/src/verify/metastatement.js +46 -5
- package/src/verify/ruleProofStep.js +22 -1
- package/src/verify/statement/unqualified.js +2 -2
- package/src/verify/statement.js +2 -6
- package/lib/utilities/metaproof.js +0 -59
- package/lib/utilities/proof.js +0 -59
- package/lib/verify/metaProofStep.js +0 -76
- package/src/utilities/metaproof.js +0 -53
- package/src/utilities/proof.js +0 -53
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
bracketedMetastatementChildNodeFromMetastatementNode: function() {
|
|
13
|
+
return bracketedMetastatementChildNodeFromMetastatementNode;
|
|
14
|
+
},
|
|
15
|
+
bracketedStatementChildNodeFromStatementNode: function() {
|
|
16
|
+
return bracketedStatementChildNodeFromStatementNode;
|
|
17
|
+
},
|
|
18
|
+
matchMetastatementModuloBrackets: function() {
|
|
19
|
+
return matchMetastatementModuloBrackets;
|
|
20
|
+
},
|
|
21
|
+
matchStatementModuloBrackets: function() {
|
|
22
|
+
return matchStatementModuloBrackets;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../node/statement/bracketed"));
|
|
26
|
+
var _bracketed1 = /*#__PURE__*/ _interop_require_default(require("../node/metastatement/bracketed"));
|
|
27
|
+
var _query = require("../utilities/query");
|
|
28
|
+
var _constants = require("../constants");
|
|
29
|
+
function _interop_require_default(obj) {
|
|
30
|
+
return obj && obj.__esModule ? obj : {
|
|
31
|
+
default: obj
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
var bracketedStatementChildNodeQuery = (0, _query.nodeQuery)("/statement/metaArgument!/statement!"), bracketedMetastatementChildNodeQuery = (0, _query.nodeQuery)("/metastatement/metastatement!");
|
|
35
|
+
function matchStatementModuloBrackets(statementNodeA, statementNodeB) {
|
|
36
|
+
var statementMatchesModuloBrackets = false;
|
|
37
|
+
if (!statementMatchesModuloBrackets) {
|
|
38
|
+
var statementNodeAMatchesStatementNodeB = statementNodeA.match(statementNodeB);
|
|
39
|
+
statementMatchesModuloBrackets = statementNodeAMatchesStatementNodeB; ///
|
|
40
|
+
}
|
|
41
|
+
if (!statementMatchesModuloBrackets) {
|
|
42
|
+
var bracketedStatementChildNodeA = bracketedStatementChildNodeFromStatementNode(statementNodeA);
|
|
43
|
+
if (bracketedStatementChildNodeA !== null) {
|
|
44
|
+
var bracketedStatementChildNodeAMatchStatementNodeB = bracketedStatementChildNodeA.match(statementNodeB);
|
|
45
|
+
statementMatchesModuloBrackets = bracketedStatementChildNodeAMatchStatementNodeB; ///
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!statementMatchesModuloBrackets) {
|
|
49
|
+
var bracketedStatementChildNodeB = bracketedStatementChildNodeFromStatementNode(statementNodeB);
|
|
50
|
+
if (bracketedStatementChildNodeB !== null) {
|
|
51
|
+
var statementNodeAMatchBracketedStatementChildNodeB = statementNodeA.match(bracketedStatementChildNodeB);
|
|
52
|
+
statementMatchesModuloBrackets = statementNodeAMatchBracketedStatementChildNodeB; ///
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return statementMatchesModuloBrackets;
|
|
56
|
+
}
|
|
57
|
+
function matchMetastatementModuloBrackets(metastatementNodeA, metastatementNodeB) {
|
|
58
|
+
var metastatementMatches = false;
|
|
59
|
+
if (!metastatementMatches) {
|
|
60
|
+
var metastatementNodeMatches = metastatementNodeA.match(metastatementNodeB);
|
|
61
|
+
metastatementMatches = metastatementNodeMatches; ///
|
|
62
|
+
}
|
|
63
|
+
if (!metastatementMatches) {
|
|
64
|
+
var bracketedMetastatementChildNodeA = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeA);
|
|
65
|
+
if (bracketedMetastatementChildNodeA !== null) {
|
|
66
|
+
var bracketedMetastatementChildNodeAMatchesMetastatementNodeB = bracketedMetastatementChildNodeA.match(metastatementNodeB);
|
|
67
|
+
metastatementMatches = bracketedMetastatementChildNodeAMatchesMetastatementNodeB; ///
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!metastatementMatches) {
|
|
71
|
+
var bracketedMetastatementChildNodeB = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeB);
|
|
72
|
+
if (bracketedMetastatementChildNodeB !== null) {
|
|
73
|
+
var metastatementNodeAMatchesBracketedMetastatementChildNodeB = metastatementNodeA.match(bracketedMetastatementChildNodeB);
|
|
74
|
+
metastatementMatches = metastatementNodeAMatchesBracketedMetastatementChildNodeB; ///
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return metastatementMatches;
|
|
78
|
+
}
|
|
79
|
+
function bracketedStatementChildNodeFromStatementNode(statementNode) {
|
|
80
|
+
var bracketedStatementChildNode = null;
|
|
81
|
+
var depth = _constants.BRACKETED_STATEMENT_DEPTH, statementNodeMatchBracketedStatementNode = statementNode.match(_bracketed.default, depth);
|
|
82
|
+
if (statementNodeMatchBracketedStatementNode) {
|
|
83
|
+
bracketedStatementChildNode = bracketedStatementChildNodeQuery(statementNode);
|
|
84
|
+
}
|
|
85
|
+
return bracketedStatementChildNode;
|
|
86
|
+
}
|
|
87
|
+
function bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode) {
|
|
88
|
+
var bracketedMetastatementChildNode = null;
|
|
89
|
+
var depth = _constants.BRACKETED_METASTATEMENT_DEPTH, metastatementNodeMatchesBracketedMetastatementNode = metastatementNode.match(_bracketed1.default, depth);
|
|
90
|
+
if (metastatementNodeMatchesBracketedMetastatementNode) {
|
|
91
|
+
bracketedMetastatementChildNode = bracketedMetastatementChildNodeQuery(metastatementNode);
|
|
92
|
+
}
|
|
93
|
+
return bracketedMetastatementChildNode;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWF0Y2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBicmFja2V0ZWRTdGF0ZW1lbnROb2RlIGZyb20gXCIuLi9ub2RlL3N0YXRlbWVudC9icmFja2V0ZWRcIjtcbmltcG9ydCBicmFja2V0ZWRNZXRhc3RhdGVtZW50Tm9kZSBmcm9tIFwiLi4vbm9kZS9tZXRhc3RhdGVtZW50L2JyYWNrZXRlZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBCUkFDS0VURURfU1RBVEVNRU5UX0RFUFRILCBCUkFDS0VURURfTUVUQVNUQVRFTUVOVF9ERVBUSCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGFBcmd1bWVudCEvc3RhdGVtZW50IVwiKSxcbiAgICAgIGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hTdGF0ZW1lbnRNb2R1bG9CcmFja2V0cyhzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIpIHtcbiAgbGV0IHN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cyA9IGZhbHNlO1xuXG4gIGlmICghc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZUFNYXRjaGVzU3RhdGVtZW50Tm9kZUIgPSBzdGF0ZW1lbnROb2RlQS5tYXRjaChzdGF0ZW1lbnROb2RlQik7XG5cbiAgICBzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMgPSBzdGF0ZW1lbnROb2RlQU1hdGNoZXNTdGF0ZW1lbnROb2RlQjsgIC8vL1xuICB9XG5cbiAgaWYgKCFzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMpIHtcbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUFNYXRjaFN0YXRlbWVudE5vZGVCID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQS5tYXRjaChzdGF0ZW1lbnROb2RlQik7XG5cbiAgICAgIHN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cyA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUFNYXRjaFN0YXRlbWVudE5vZGVCOyAvLy9cbiAgICB9XG4gIH1cblxuICBpZiAoIXN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cykge1xuICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUIgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQik7XG5cbiAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUFNYXRjaEJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUIgPSBzdGF0ZW1lbnROb2RlQS5tYXRjaChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCKTtcblxuICAgICAgc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzID0gc3RhdGVtZW50Tm9kZUFNYXRjaEJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUI7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaE1ldGFzdGF0ZW1lbnRNb2R1bG9CcmFja2V0cyhtZXRhc3RhdGVtZW50Tm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQikge1xuICBsZXQgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBmYWxzZTtcblxuICBpZiAoIW1ldGFzdGF0ZW1lbnRNYXRjaGVzKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YXN0YXRlbWVudE5vZGVBLm1hdGNoKG1ldGFzdGF0ZW1lbnROb2RlQik7XG5cbiAgICBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgaWYgKCFtZXRhc3RhdGVtZW50TWF0Y2hlcykge1xuICAgIGNvbnN0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBID0gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlQU1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZUIgPSBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlQS5tYXRjaChtZXRhc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBTWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlQjsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKCFtZXRhc3RhdGVtZW50TWF0Y2hlcykge1xuICAgIGNvbnN0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVCID0gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgaWYgKGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZUFNYXRjaGVzQnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIgPSBtZXRhc3RhdGVtZW50Tm9kZUEubWF0Y2goYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIpO1xuXG4gICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IG1ldGFzdGF0ZW1lbnROb2RlQU1hdGNoZXNCcmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlQjsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRNYXRjaGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICBsZXQgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gbnVsbDtcblxuICBjb25zdCBkZXB0aCA9IEJSQUNLRVRFRF9TVEFURU1FTlRfREVQVEgsXG4gICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaEJyYWNrZXRlZFN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlLm1hdGNoKGJyYWNrZXRlZFN0YXRlbWVudE5vZGUsIGRlcHRoKTtcblxuICBpZiAoc3RhdGVtZW50Tm9kZU1hdGNoQnJhY2tldGVkU3RhdGVtZW50Tm9kZSkge1xuICAgIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVGcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgbGV0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUgPSBudWxsO1xuXG4gIGNvbnN0IGRlcHRoID0gQlJBQ0tFVEVEX01FVEFTVEFURU1FTlRfREVQVEgsXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlc0JyYWNrZXRlZE1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGUubWF0Y2goYnJhY2tldGVkTWV0YXN0YXRlbWVudE5vZGUsIGRlcHRoKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzQnJhY2tldGVkTWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlO1xufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVGcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE1vZHVsb0JyYWNrZXRzIiwibWF0Y2hTdGF0ZW1lbnRNb2R1bG9CcmFja2V0cyIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cyIsInN0YXRlbWVudE5vZGVBTWF0Y2hlc1N0YXRlbWVudE5vZGVCIiwibWF0Y2giLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQU1hdGNoU3RhdGVtZW50Tm9kZUIiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCIiwic3RhdGVtZW50Tm9kZUFNYXRjaEJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUIiLCJtZXRhc3RhdGVtZW50Tm9kZUEiLCJtZXRhc3RhdGVtZW50Tm9kZUIiLCJtZXRhc3RhdGVtZW50TWF0Y2hlcyIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVBIiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUFNYXRjaGVzTWV0YXN0YXRlbWVudE5vZGVCIiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIiLCJtZXRhc3RhdGVtZW50Tm9kZUFNYXRjaGVzQnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUIiLCJzdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlIiwiZGVwdGgiLCJCUkFDS0VURURfU1RBVEVNRU5UX0RFUFRIIiwic3RhdGVtZW50Tm9kZU1hdGNoQnJhY2tldGVkU3RhdGVtZW50Tm9kZSIsImJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUiLCJCUkFDS0VURURfTUVUQVNUQVRFTUVOVF9ERVBUSCIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlc0JyYWNrZXRlZE1ldGFzdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkTWV0YXN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXdGZ0JBLG9EQUFvRDtlQUFwREE7O0lBYkFDLDRDQUE0QztlQUE1Q0E7O0lBaENBQyxnQ0FBZ0M7ZUFBaENBOztJQWhDQUMsNEJBQTRCO2VBQTVCQTs7O2dFQVRtQjtpRUFDSTtxQkFFYjt5QkFDK0M7Ozs7OztBQUV6RSxJQUFNQyxtQ0FBbUNDLElBQUFBLGdCQUFTLEVBQUMsd0NBQzdDQyx1Q0FBdUNELElBQUFBLGdCQUFTLEVBQUM7QUFFaEQsU0FBU0YsNkJBQTZCSSxjQUFjLEVBQUVDLGNBQWM7SUFDekUsSUFBSUMsaUNBQWlDO0lBRXJDLElBQUksQ0FBQ0EsZ0NBQWdDO1FBQ25DLElBQU1DLHNDQUFzQ0gsZUFBZUksS0FBSyxDQUFDSDtRQUVqRUMsaUNBQWlDQyxxQ0FBc0MsR0FBRztJQUM1RTtJQUVBLElBQUksQ0FBQ0QsZ0NBQWdDO1FBQ25DLElBQU1HLCtCQUErQlgsNkNBQTZDTTtRQUVsRixJQUFJSyxpQ0FBaUMsTUFBTTtZQUN6QyxJQUFNQyxrREFBa0RELDZCQUE2QkQsS0FBSyxDQUFDSDtZQUUzRkMsaUNBQWlDSSxpREFBaUQsR0FBRztRQUN2RjtJQUNGO0lBRUEsSUFBSSxDQUFDSixnQ0FBZ0M7UUFDbkMsSUFBTUssK0JBQStCYiw2Q0FBNkNPO1FBRWxGLElBQUlNLGlDQUFpQyxNQUFNO1lBQ3pDLElBQU1DLGtEQUFrRFIsZUFBZUksS0FBSyxDQUFDRztZQUU3RUwsaUNBQWlDTSxpREFBaUQsR0FBRztRQUN2RjtJQUNGO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVNQLGlDQUFpQ2Msa0JBQWtCLEVBQUVDLGtCQUFrQjtJQUNyRixJQUFJQyx1QkFBdUI7SUFFM0IsSUFBSSxDQUFDQSxzQkFBc0I7UUFDekIsSUFBTUMsMkJBQTJCSCxtQkFBbUJMLEtBQUssQ0FBQ007UUFFMURDLHVCQUF1QkMsMEJBQTJCLEdBQUc7SUFDdkQ7SUFFQSxJQUFJLENBQUNELHNCQUFzQjtRQUN6QixJQUFNRSxtQ0FBbUNwQixxREFBcURnQjtRQUU5RixJQUFJSSxxQ0FBcUMsTUFBTTtZQUM3QyxJQUFNQyw0REFBNERELGlDQUFpQ1QsS0FBSyxDQUFDTTtZQUV6R0MsdUJBQXVCRywyREFBMkQsR0FBRztRQUN2RjtJQUNGO0lBRUEsSUFBSSxDQUFDSCxzQkFBc0I7UUFDekIsSUFBTUksbUNBQW1DdEIscURBQXFEaUI7UUFFOUYsSUFBSUsscUNBQXFDLE1BQU07WUFDN0MsSUFBTUMsNERBQTREUCxtQkFBbUJMLEtBQUssQ0FBQ1c7WUFFM0ZKLHVCQUF1QkssMkRBQTJELEdBQUc7UUFDdkY7SUFDRjtJQUVBLE9BQU9MO0FBQ1Q7QUFFTyxTQUFTakIsNkNBQTZDdUIsYUFBYTtJQUN4RSxJQUFJQyw4QkFBOEI7SUFFbEMsSUFBTUMsUUFBUUMsb0NBQXlCLEVBQ2pDQywyQ0FBMkNKLGNBQWNiLEtBQUssQ0FBQ2tCLGtCQUFzQixFQUFFSDtJQUU3RixJQUFJRSwwQ0FBMEM7UUFDNUNILDhCQUE4QnJCLGlDQUFpQ29CO0lBQ2pFO0lBRUEsT0FBT0M7QUFDVDtBQUVPLFNBQVN6QixxREFBcUQ4QixpQkFBaUI7SUFDcEYsSUFBSUMsa0NBQWtDO0lBRXRDLElBQU1MLFFBQVFNLHdDQUE2QixFQUNyQ0MscURBQXFESCxrQkFBa0JuQixLQUFLLENBQUN1QixtQkFBMEIsRUFBRVI7SUFFL0csSUFBSU8sb0RBQW9EO1FBQ3RERixrQ0FBa0N6QixxQ0FBcUN3QjtJQUN6RTtJQUVBLE9BQU9DO0FBQ1QifQ==
|
package/lib/variable.js
CHANGED
|
@@ -52,29 +52,29 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
52
52
|
{
|
|
53
53
|
key: "match",
|
|
54
54
|
value: function match(variable) {
|
|
55
|
-
var type = variable.getType(), node = variable.getNode(),
|
|
55
|
+
var type = variable.getType(), node = variable.getNode(), matchesType = this.matchType(type), matchesNode = this.matchNode(node), matches = matchesNode && matchesType;
|
|
56
56
|
return matches;
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
key: "matchNode",
|
|
61
61
|
value: function matchNode(node) {
|
|
62
|
-
var
|
|
63
|
-
return
|
|
62
|
+
var matchesNode = this.node.match(node);
|
|
63
|
+
return matchesNode;
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
key: "matchType",
|
|
68
68
|
value: function matchType(type) {
|
|
69
|
-
var
|
|
70
|
-
return
|
|
69
|
+
var matchesType = this.type.match(type);
|
|
70
|
+
return matchesType;
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
key: "matchNodeAndType",
|
|
75
75
|
value: function matchNodeAndType(node, type) {
|
|
76
|
-
var
|
|
77
|
-
return
|
|
76
|
+
var matchesNode = this.matchNode(node), matchesType = this.matchType(type), matchesNodeAndType = matchesNode && matchesType;
|
|
77
|
+
return matchesNodeAndType;
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
80
|
{
|
|
@@ -129,4 +129,4 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
129
129
|
return Variable;
|
|
130
130
|
}();
|
|
131
131
|
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OQW5kRmlsZUNvbnRleHQgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHR5cGUpIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBtYXRjaCh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHR5cGUgPSB2YXJpYWJsZS5nZXRUeXBlKCksXG4gICAgICAgICAgbm9kZSA9IHZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgICBtYXRjaGVzVHlwZSA9IHRoaXMubWF0Y2hUeXBlKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXNOb2RlID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoZXNOb2RlICYmIG1hdGNoZXNUeXBlO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5vZGUobm9kZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOb2RlID0gdGhpcy5ub2RlLm1hdGNoKG5vZGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOb2RlO1xuICB9XG5cbiAgbWF0Y2hUeXBlKHR5cGUpIHtcbiAgICBjb25zdCBtYXRjaGVzVHlwZSA9IHRoaXMudHlwZS5tYXRjaCh0eXBlKTtcblxuICAgIHJldHVybiBtYXRjaGVzVHlwZTtcbiAgfVxuXG4gIG1hdGNoTm9kZUFuZFR5cGUobm9kZSwgdHlwZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOb2RlID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgbWF0Y2hlc1R5cGUgPSB0aGlzLm1hdGNoVHlwZSh0eXBlKSxcbiAgICAgICAgICBtYXRjaGVzTm9kZUFuZFR5cGUgPSBtYXRjaGVzTm9kZSAmJiBtYXRjaGVzVHlwZTtcblxuICAgIHJldHVybiBtYXRjaGVzTm9kZUFuZFR5cGU7XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKTtcblxuICAgIHN0cmluZyA9IGAke3N0cmluZ306JHt0eXBlTmFtZX1gOyAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0aGlzLnR5cGUudG9KU09OKHRva2VucyksXG4gICAgICAgICAgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBub2RlID0gc3RyaW5nLCAgLy9cbiAgICAgICAgICB0eXBlID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IG5vZGUgfSA9IGpzb247XG5cbiAgICBjb25zdCBsZXhlciAgPSBmaWxlQ29udGV4dC5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IGZpbGVDb250ZXh0LmdldFBhcnNlcigpLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIsIHBhcnNlcik7XG5cbiAgICBub2RlID0gdmFyaWFibGVOb2RlOyAgLy8vXG5cbiAgICBsZXQgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAganNvbiA9IHR5cGU7ICAvLy9cblxuICAgIHR5cGUgPSB0eXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShub2RlLCB0eXBlKTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVBbmRUeXBlKHZhcmlhYmxlLCB0eXBlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHZhcmlhYmxlLmdldE5vZGUoKTtcblxuICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5vZGUsIHR5cGUpOyAgLy8vXG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUodmFyaWFibGVOb2RlLCB0eXBlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5vZGUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiVmFyaWFibGUiLCJub2RlIiwidHlwZSIsImdldE5vZGUiLCJnZXRUeXBlIiwibWF0Y2giLCJ2YXJpYWJsZSIsIm1hdGNoZXNUeXBlIiwibWF0Y2hUeXBlIiwibWF0Y2hlc05vZGUiLCJtYXRjaE5vZGUiLCJtYXRjaGVzIiwibWF0Y2hOb2RlQW5kVHlwZSIsIm1hdGNoZXNOb2RlQW5kVHlwZSIsImFzU3RyaW5nIiwidG9rZW5zIiwidHlwZU5hbWUiLCJnZXROYW1lIiwic3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidG9KU09OIiwidHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwibGV4ZXIiLCJnZXRMZXhlciIsInBhcnNlciIsImdldFBhcnNlciIsInZhcmlhYmxlU3RyaW5nIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlU3RyaW5nIiwidHlwZUZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmcm9tVmFyaWFibGVBbmRUeXBlIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3NCQUpRO29CQUNjO29CQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxJQUFBLEFBQU1BLHlCQUFELEFBQUw7YUFBTUEsU0FDUEMsSUFBSSxFQUFFQyxJQUFJO2dDQURIRjtRQUVqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7O2tCQUhLRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNQyxRQUFRO2dCQUNaLElBQU1KLE9BQU9JLFNBQVNGLE9BQU8sSUFDdkJILE9BQU9LLFNBQVNILE9BQU8sSUFDdkJJLGNBQWMsSUFBSSxDQUFDQyxTQUFTLENBQUNOLE9BQzdCTyxjQUFjLElBQUksQ0FBQ0MsU0FBUyxDQUFDVCxPQUM3QlUsVUFBVUYsZUFBZUY7Z0JBRS9CLE9BQU9JO1lBQ1Q7OztZQUVBRCxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVVQsSUFBSTtnQkFDWixJQUFNUSxjQUFjLElBQUksQ0FBQ1IsSUFBSSxDQUFDSSxLQUFLLENBQUNKO2dCQUVwQyxPQUFPUTtZQUNUOzs7WUFFQUQsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVOLElBQUk7Z0JBQ1osSUFBTUssY0FBYyxJQUFJLENBQUNMLElBQUksQ0FBQ0csS0FBSyxDQUFDSDtnQkFFcEMsT0FBT0s7WUFDVDs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJYLElBQUksRUFBRUMsSUFBSTtnQkFDekIsSUFBTU8sY0FBYyxJQUFJLENBQUNDLFNBQVMsQ0FBQ1QsT0FDN0JNLGNBQWMsSUFBSSxDQUFDQyxTQUFTLENBQUNOLE9BQzdCVyxxQkFBcUJKLGVBQWVGO2dCQUUxQyxPQUFPTTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNDLE1BQU07Z0JBQ2IsSUFBTUMsV0FBVyxJQUFJLENBQUNkLElBQUksQ0FBQ2UsT0FBTztnQkFFbEMsSUFBSUMsU0FBU0MsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNsQixJQUFJLEVBQUVjO2dCQUVyQ0csU0FBUyxBQUFDLEdBQVlGLE9BQVZFLFFBQU8sS0FBWSxPQUFURixXQUFZLEdBQUc7Z0JBRXJDLE9BQU9FO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0wsTUFBTTtnQkFDWCxJQUFNTSxXQUFXLElBQUksQ0FBQ25CLElBQUksQ0FBQ2tCLE1BQU0sQ0FBQ0wsU0FDNUJHLFNBQVNDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDbEIsSUFBSSxFQUFFYyxTQUNqQ2QsT0FBT2lCLFFBQ1BoQixPQUFPbUIsVUFDUEMsT0FBTztvQkFDTHJCLE1BQUFBO29CQUNBQyxNQUFBQTtnQkFDRjtnQkFFTixPQUFPb0I7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSx1QkFBdUJELElBQUksRUFBRUUsV0FBVztnQkFDN0MsSUFBSSxBQUFFdkIsT0FBU3FCLEtBQVRyQjtnQkFFTixJQUFNd0IsUUFBU0QsWUFBWUUsUUFBUSxJQUM3QkMsU0FBU0gsWUFBWUksU0FBUyxJQUM5QkMsaUJBQWlCNUIsTUFDakI2QixlQUFlQyxJQUFBQSxvQ0FBOEIsRUFBQ0YsZ0JBQWdCSixPQUFPRTtnQkFFM0UxQixPQUFPNkIsY0FBZSxHQUFHO2dCQUV6QixJQUFJLEFBQUU1QixPQUFTb0IsS0FBVHBCO2dCQUVOb0IsT0FBT3BCLE1BQU8sR0FBRztnQkFFakJBLE9BQU84QixJQUFBQSxnQ0FBMEIsRUFBQ1YsTUFBTUU7Z0JBRXhDLElBQU1sQixXQUFXLElBbkZBTixTQW1GYUMsTUFBTUM7Z0JBRXBDLE9BQU9JO1lBQ1Q7OztZQUVPMkIsS0FBQUE7bUJBQVAsU0FBT0Esb0JBQW9CM0IsUUFBUSxFQUFFSixJQUFJO2dCQUN2QyxJQUFNRCxPQUFPSyxTQUFTSCxPQUFPO2dCQUU3QkcsV0FBVyxJQTNGTU4sU0EyRk9DLE1BQU1DLE9BQVEsR0FBRztnQkFFekMsT0FBT0k7WUFDVDs7O1lBRU80QixLQUFBQTttQkFBUCxTQUFPQSx3QkFBd0JKLFlBQVksRUFBRTVCLElBQUk7Z0JBQy9DLElBQU1ELE9BQU82QixjQUNQeEIsV0FBVyxJQWxHQU4sU0FrR2FDLE1BQU1DO2dCQUVwQyxPQUFPSTtZQUNUOzs7V0FyR21CTiJ9
|
|
@@ -11,30 +11,64 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _verify = require("../utilities/verify");
|
|
12
12
|
var _query = require("../utilities/query");
|
|
13
13
|
var variableNodeQuery = (0, _query.nodeQuery)("/containedAssertion/term/variable!"), metastatementVariableNodesQuery = (0, _query.nodesQuery)("/containedAssertion/statement//variable");
|
|
14
|
-
function verifyContainedAssertion(containedAssertionNode) {
|
|
15
|
-
var containedAssertionVerified
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
function verifyContainedAssertion(containedAssertionNode, assignments, derived, localContext) {
|
|
15
|
+
var containedAssertionVerified;
|
|
16
|
+
var containedAssertionString = localContext.nodeAsString(containedAssertionNode);
|
|
17
|
+
localContext.trace("Verifying the '".concat(containedAssertionString, "' contained assertion..."), containedAssertionNode);
|
|
18
|
+
var containedAssertionFunctions = [
|
|
19
|
+
verifyDerivedContainedAssertion,
|
|
20
|
+
verifyStatedContainedAssertion
|
|
21
|
+
];
|
|
22
|
+
containedAssertionVerified = containedAssertionFunctions.some(function(containedAssertionFunction) {
|
|
23
|
+
var containedAssertionVerified = containedAssertionFunction(containedAssertionNode, assignments, derived, localContext);
|
|
24
|
+
if (containedAssertionVerified) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
if (containedAssertionVerified) {
|
|
29
|
+
localContext.debug("...verified the '".concat(containedAssertionString, "' contained assertion."), containedAssertionNode);
|
|
30
|
+
}
|
|
31
|
+
return containedAssertionVerified;
|
|
32
|
+
}
|
|
33
|
+
function verifyDerivedContainedAssertion(containedAssertionNode, assignments, derived, localContext) {
|
|
34
|
+
var derivedContainedAssertionVerified = false;
|
|
35
|
+
if (derived) {
|
|
36
|
+
var containedAssertionString = localContext.nodeAsString(containedAssertionNode);
|
|
37
|
+
localContext.trace("Verifying the derived '".concat(containedAssertionString, "' contained assertion..."), containedAssertionNode);
|
|
38
|
+
var containedAssertionNegated = (0, _verify.isAssertionNegated)(containedAssertionNode), variableNode = variableNodeQuery(containedAssertionNode), negated = containedAssertionNegated; ///
|
|
39
|
+
if (false) {
|
|
40
|
+
///
|
|
41
|
+
} else if (variableNode !== null) {
|
|
42
|
+
var metastatementVariableNodes = metastatementVariableNodesQuery(containedAssertionNode), variableNodeMatchesMetaArgumentVariableNode = metastatementVariableNodes.some(function(metastatementVariableNode) {
|
|
43
|
+
var variableNodeMatchesMetaArgumentVariableNode = variableNode.match(metastatementVariableNode);
|
|
44
|
+
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (!negated) {
|
|
49
|
+
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
50
|
+
derivedContainedAssertionVerified = true;
|
|
51
|
+
}
|
|
24
52
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
53
|
+
if (negated) {
|
|
54
|
+
if (!variableNodeMatchesMetaArgumentVariableNode) {
|
|
55
|
+
derivedContainedAssertionVerified = true;
|
|
56
|
+
}
|
|
29
57
|
}
|
|
30
58
|
}
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
containedAssertionVerified = true;
|
|
34
|
-
}
|
|
59
|
+
if (derivedContainedAssertionVerified) {
|
|
60
|
+
localContext.debug("...verified the derived '".concat(containedAssertionString, "' contained assertion."), containedAssertionNode);
|
|
35
61
|
}
|
|
36
62
|
}
|
|
37
|
-
return
|
|
63
|
+
return derivedContainedAssertionVerified;
|
|
64
|
+
}
|
|
65
|
+
function verifyStatedContainedAssertion(containedAssertionNode, assignments, derived, localContext) {
|
|
66
|
+
var derivedStatedAssertionVerified = false;
|
|
67
|
+
if (!derived) {
|
|
68
|
+
var containedAssertionString = localContext.nodeAsString(containedAssertionNode);
|
|
69
|
+
localContext.debug("The stated '".concat(containedAssertionString, "' contained assertion cannot be verified."), containedAssertionNode);
|
|
70
|
+
}
|
|
71
|
+
return derivedStatedAssertionVerified;
|
|
38
72
|
}
|
|
39
73
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29udGFpbmVkQXNzZXJ0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBpc0Fzc2VydGlvbk5lZ2F0ZWQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZlcmlmeVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb250YWluZWRBc3NlcnRpb24vdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb250YWluZWRBc3NlcnRpb24vc3RhdGVtZW50Ly92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGNvbnRhaW5lZCBhc3NlcnRpb24uLi5gLCBjb250YWluZWRBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25GdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5RGVyaXZlZENvbnRhaW5lZEFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZWRDb250YWluZWRBc3NlcnRpb25cbiAgXTtcblxuICBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IGNvbnRhaW5lZEFzc2VydGlvbkZ1bmN0aW9ucy5zb21lKChjb250YWluZWRBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkID0gY29udGFpbmVkQXNzZXJ0aW9uRnVuY3Rpb24oY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi5gLCBjb250YWluZWRBc3NlcnRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZENvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgZGVyaXZlZCAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25OZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIG5lZ2F0ZWQgPSBjb250YWluZWRBc3NlcnRpb25OZWdhdGVkOyAgLy8vXG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmFyaWFibGVOb2RlcyA9IG1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGVzUXVlcnkoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICB2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlID0gbWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXMuc29tZSgobWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlLm1hdGNoKG1ldGFzdGF0ZW1lbnRWYXJpYWJsZU5vZGUpO1xuXG4gICAgICAgICAgICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAoIW5lZ2F0ZWQpIHtcbiAgICAgICAgaWYgKHZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUpIHtcbiAgICAgICAgICBkZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICAgIGlmICghdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICAgIGRlcml2ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVyaXZlZENvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBkZXJpdmVkICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGNvbnRhaW5lZCBhc3NlcnRpb24uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRTdGF0ZWRBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSBzdGF0ZWQgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbiBjYW5ub3QgYmUgdmVyaWZpZWQuYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZFN0YXRlZEFzc2VydGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb250YWluZWRBc3NlcnRpb25Ob2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwiY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQiLCJjb250YWluZWRBc3NlcnRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImNvbnRhaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZWRDb250YWluZWRBc3NlcnRpb24iLCJzb21lIiwiY29udGFpbmVkQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZCIsImNvbnRhaW5lZEFzc2VydGlvbk5lZ2F0ZWQiLCJpc0Fzc2VydGlvbk5lZ2F0ZWQiLCJ2YXJpYWJsZU5vZGUiLCJuZWdhdGVkIiwibWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZXMiLCJ2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlIiwibWV0YXN0YXRlbWVudFZhcmlhYmxlTm9kZSIsIm1hdGNoIiwiZGVyaXZlZFN0YXRlZEFzc2VydGlvblZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NCQU5XO3FCQUNHO0FBRXRDLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQyx1Q0FDOUJDLGtDQUFrQ0MsSUFBQUEsaUJBQVUsRUFBQztBQUVwQyxTQUFTSix5QkFBeUJLLHNCQUFzQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN6RyxJQUFJQztJQUVKLElBQU1DLDJCQUEyQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUUzREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQTBDLE9BQXpCRiwwQkFBeUIsNkJBQTJCTDtJQUV6RixJQUFNUSw4QkFBOEI7UUFDbENDO1FBQ0FDO0tBQ0Q7SUFFRE4sNkJBQTZCSSw0QkFBNEJHLElBQUksQ0FBQyxTQUFDQztRQUM3RCxJQUFNUiw2QkFBNkJRLDJCQUEyQlosd0JBQXdCQyxhQUFhQyxTQUFTQztRQUU1RyxJQUFJQyw0QkFBNEI7WUFDOUIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSw0QkFBNEI7UUFDOUJELGFBQWFVLEtBQUssQ0FBQyxBQUFDLG9CQUE0QyxPQUF6QlIsMEJBQXlCLDJCQUF5Qkw7SUFDM0Y7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU0ssZ0NBQWdDVCxzQkFBc0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDakcsSUFBSVcsb0NBQW9DO0lBRXhDLElBQUlaLFNBQVM7UUFDWCxJQUFNRywyQkFBMkJGLGFBQWFHLFlBQVksQ0FBQ047UUFFM0RHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLDBCQUFrRCxPQUF6QkYsMEJBQXlCLDZCQUEyQkw7UUFFakcsSUFBTWUsNEJBQTRCQyxJQUFBQSwwQkFBa0IsRUFBQ2hCLHlCQUMvQ2lCLGVBQWVyQixrQkFBa0JJLHlCQUNqQ2tCLFVBQVVILDJCQUE0QixHQUFHO1FBRS9DLElBQUksT0FBTztRQUNULEdBQUc7UUFDTCxPQUFPLElBQUlFLGlCQUFpQixNQUFNO1lBQ2hDLElBQU1FLDZCQUE2QnJCLGdDQUFnQ0UseUJBQzdEb0IsOENBQThDRCwyQkFBMkJSLElBQUksQ0FBQyxTQUFDVTtnQkFDN0UsSUFBTUQsOENBQThDSCxhQUFhSyxLQUFLLENBQUNEO2dCQUV2RSxJQUFJRCw2Q0FBNkM7b0JBQy9DLE9BQU87Z0JBQ1Q7WUFDRjtZQUVOLElBQUksQ0FBQ0YsU0FBUztnQkFDWixJQUFJRSw2Q0FBNkM7b0JBQy9DTixvQ0FBb0M7Z0JBQ3RDO1lBQ0Y7WUFFQSxJQUFJSSxTQUFTO2dCQUNYLElBQUksQ0FBQ0UsNkNBQTZDO29CQUNoRE4sb0NBQW9DO2dCQUN0QztZQUNGO1FBQ0Y7UUFFQSxJQUFJQSxtQ0FBbUM7WUFDckNYLGFBQWFVLEtBQUssQ0FBQyxBQUFDLDRCQUFvRCxPQUF6QlIsMEJBQXlCLDJCQUF5Qkw7UUFDbkc7SUFDRjtJQUVBLE9BQU9jO0FBQ1Q7QUFFQSxTQUFTSiwrQkFBK0JWLHNCQUFzQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUNoRyxJQUFJb0IsaUNBQWlDO0lBRXJDLElBQUksQ0FBQ3JCLFNBQVM7UUFDWixJQUFNRywyQkFBMkJGLGFBQWFHLFlBQVksQ0FBQ047UUFFM0RHLGFBQWFVLEtBQUssQ0FBQyxBQUFDLGVBQXVDLE9BQXpCUiwwQkFBeUIsOENBQTRDTDtJQUN6RztJQUVBLE9BQU91QjtBQUNUIn0=
|
|
@@ -18,46 +18,80 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
var termNodeQuery = (0, _query.nodeQuery)("/definedAssertion/term!"), variableNodeQuery = (0, _query.nodeQuery)("/definedAssertion/term/variable!");
|
|
21
|
-
function verifyDefinedAssertion(definedAssertionNode, localContext) {
|
|
22
|
-
var definedAssertionVerified
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
function verifyDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
|
|
22
|
+
var definedAssertionVerified;
|
|
23
|
+
var definedAssertionString = localContext.nodeAsString(definedAssertionNode);
|
|
24
|
+
localContext.trace("Verifying the '".concat(definedAssertionString, "' defined assertion..."), definedAssertionNode);
|
|
25
|
+
var definedAssertionFunctions = [
|
|
26
|
+
verifyDerivedDefinedAssertion,
|
|
27
|
+
verifyStatedDefinedAssertion
|
|
28
|
+
];
|
|
29
|
+
definedAssertionVerified = definedAssertionFunctions.some(function(definedAssertionFunction) {
|
|
30
|
+
var definedAssertionVerified = definedAssertionFunction(definedAssertionNode, assignments, derived, localContext);
|
|
31
|
+
if (definedAssertionVerified) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
if (definedAssertionVerified) {
|
|
36
|
+
localContext.debug("...verified the '".concat(definedAssertionString, "' defined assertion."), definedAssertionNode);
|
|
37
|
+
}
|
|
38
|
+
return definedAssertionVerified;
|
|
39
|
+
}
|
|
40
|
+
function verifyDerivedDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
|
|
41
|
+
var derivedDefinedAssertionVerified = false;
|
|
42
|
+
if (derived) {
|
|
43
|
+
var definedAssertionString = localContext.nodeAsString(definedAssertionNode);
|
|
44
|
+
localContext.trace("Verifying the derived '".concat(definedAssertionString, "' defined assertion..."), definedAssertionNode);
|
|
45
|
+
var definedAssertionNegated = (0, _verify.isAssertionNegated)(definedAssertionNode), variableNode = variableNodeQuery(definedAssertionNode), termNode = termNodeQuery(definedAssertionNode), negated = definedAssertionNegated; ///
|
|
46
|
+
if (false) {
|
|
47
|
+
///
|
|
48
|
+
} else if (variableNode !== null) {
|
|
49
|
+
var variable = localContext.findVariableByVariableNode(variableNode);
|
|
50
|
+
if (variable !== null) {
|
|
51
|
+
var variableDefined = localContext.isVariableDefined(variable);
|
|
52
|
+
if (!negated) {
|
|
53
|
+
if (variableDefined) {
|
|
54
|
+
derivedDefinedAssertionVerified = true;
|
|
55
|
+
}
|
|
33
56
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
57
|
+
if (negated) {
|
|
58
|
+
if (!variableDefined) {
|
|
59
|
+
derivedDefinedAssertionVerified = true;
|
|
60
|
+
}
|
|
38
61
|
}
|
|
39
62
|
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
63
|
+
} else if (termNode !== null) {
|
|
64
|
+
var terms = [], termVerified = (0, _term.default)(termNode, terms, localContext, function() {
|
|
65
|
+
var verifiedAhead = true;
|
|
66
|
+
return verifiedAhead;
|
|
67
|
+
});
|
|
68
|
+
if (termVerified) {
|
|
69
|
+
var firstTerm = (0, _array.first)(terms), term = firstTerm, termGrounded = localContext.isTermGrounded(term);
|
|
70
|
+
if (!negated) {
|
|
71
|
+
if (termGrounded) {
|
|
72
|
+
derivedDefinedAssertionVerified = true;
|
|
73
|
+
}
|
|
51
74
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
75
|
+
if (negated) {
|
|
76
|
+
if (!termGrounded) {
|
|
77
|
+
derivedDefinedAssertionVerified = true;
|
|
78
|
+
}
|
|
56
79
|
}
|
|
57
80
|
}
|
|
58
81
|
}
|
|
82
|
+
if (derivedDefinedAssertionVerified) {
|
|
83
|
+
localContext.debug("...verified the derived '".concat(definedAssertionString, "' defined assertion."), definedAssertionNode);
|
|
84
|
+
}
|
|
59
85
|
}
|
|
60
|
-
return
|
|
86
|
+
return derivedDefinedAssertionVerified;
|
|
87
|
+
}
|
|
88
|
+
function verifyStatedDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
|
|
89
|
+
var derivedStatedAssertionVerified = false;
|
|
90
|
+
if (!derived) {
|
|
91
|
+
var definedAssertionString = localContext.nodeAsString(definedAssertionNode);
|
|
92
|
+
localContext.debug("The stated '".concat(definedAssertionString, "' defined assertion cannot be verified."), definedAssertionNode);
|
|
93
|
+
}
|
|
94
|
+
return derivedStatedAssertionVerified;
|
|
61
95
|
}
|
|
62
96
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVmaW5lZEFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVRlcm0gZnJvbSBcIi4vdGVybVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGlzQXNzZXJ0aW9uTmVnYXRlZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVmaW5lZEFzc2VydGlvbi90ZXJtIVwiKSxcbiAgICAgIHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2RlZmluZWRBc3NlcnRpb24vdGVybS92YXJpYWJsZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeURlZmluZWRBc3NlcnRpb24oZGVmaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlZmluZWRBc3NlcnRpb25WZXJpZmllZDtcblxuICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlZmluZWRBc3NlcnRpb25TdHJpbmd9JyBkZWZpbmVkIGFzc2VydGlvbi4uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb25zID0gW1xuICAgIHZlcmlmeURlcml2ZWREZWZpbmVkQXNzZXJ0aW9uLFxuICAgIHZlcmlmeVN0YXRlZERlZmluZWRBc3NlcnRpb25cbiAgXTtcblxuICBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb25zLnNvbWUoKGRlZmluZWRBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25WZXJpZmllZCA9IGRlZmluZWRBc3NlcnRpb25GdW5jdGlvbihkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVmaW5lZCBhc3NlcnRpb24uYCwgZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlZmluZWRBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZERlZmluZWRBc3NlcnRpb24oZGVmaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke2RlZmluZWRBc3NlcnRpb25TdHJpbmd9JyBkZWZpbmVkIGFzc2VydGlvbi4uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25OZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGRlZmluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShkZWZpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGRlZmluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICBuZWdhdGVkID0gZGVmaW5lZEFzc2VydGlvbk5lZ2F0ZWQ7ICAvLy9cblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB2YXJpYWJsZURlZmluZWQgPSBsb2NhbENvbnRleHQuaXNWYXJpYWJsZURlZmluZWQodmFyaWFibGUpO1xuXG4gICAgICAgIGlmICghbmVnYXRlZCkge1xuICAgICAgICAgIGlmICh2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGVybU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmICh0ZXJtVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RUZXJtID0gZmlyc3QodGVybXMpLFxuICAgICAgICAgICAgICB0ZXJtID0gZmlyc3RUZXJtLCAvLy9cbiAgICAgICAgICAgICAgdGVybUdyb3VuZGVkID0gbG9jYWxDb250ZXh0LmlzVGVybUdyb3VuZGVkKHRlcm0pO1xuXG4gICAgICAgIGlmICghbmVnYXRlZCkge1xuICAgICAgICAgIGlmICh0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBkZXJpdmVkICcke2RlZmluZWRBc3NlcnRpb25TdHJpbmd9JyBkZWZpbmVkIGFzc2VydGlvbi5gLCBkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZERlZmluZWRBc3NlcnRpb24oZGVmaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRTdGF0ZWRBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlIHN0YXRlZCAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVmaW5lZCBhc3NlcnRpb24gY2Fubm90IGJlIHZlcmlmaWVkLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkU3RhdGVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RGVmaW5lZEFzc2VydGlvbiIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsImRlZmluZWRBc3NlcnRpb25Ob2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwiZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkIiwiZGVmaW5lZEFzc2VydGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwiZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWREZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVkRGVmaW5lZEFzc2VydGlvbiIsInNvbWUiLCJkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQiLCJkZWZpbmVkQXNzZXJ0aW9uTmVnYXRlZCIsImlzQXNzZXJ0aW9uTmVnYXRlZCIsInZhcmlhYmxlTm9kZSIsInRlcm1Ob2RlIiwibmVnYXRlZCIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZURlZmluZWQiLCJpc1ZhcmlhYmxlRGVmaW5lZCIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZ5VGVybSIsInZlcmlmaWVkQWhlYWQiLCJmaXJzdFRlcm0iLCJmaXJzdCIsInRlcm0iLCJ0ZXJtR3JvdW5kZWQiLCJpc1Rlcm1Hcm91bmRlZCIsImRlcml2ZWRTdGF0ZWRBc3NlcnRpb25WZXJpZmllZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsyREFURDtxQkFFRDtxQkFDSTtzQkFDUzs7Ozs7O0FBRW5DLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDMUJDLG9CQUFvQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixTQUFTRix1QkFBdUJJLG9CQUFvQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUNyRyxJQUFJQztJQUVKLElBQU1DLHlCQUF5QkYsYUFBYUcsWUFBWSxDQUFDTjtJQUV6REcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQXdDLE9BQXZCRix3QkFBdUIsMkJBQXlCTDtJQUVyRixJQUFNUSw0QkFBNEI7UUFDaENDO1FBQ0FDO0tBQ0Q7SUFFRE4sMkJBQTJCSSwwQkFBMEJHLElBQUksQ0FBQyxTQUFDQztRQUN6RCxJQUFNUiwyQkFBMkJRLHlCQUF5Qlosc0JBQXNCQyxhQUFhQyxTQUFTQztRQUV0RyxJQUFJQywwQkFBMEI7WUFDNUIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSwwQkFBMEI7UUFDNUJELGFBQWFVLEtBQUssQ0FBQyxBQUFDLG9CQUEwQyxPQUF2QlIsd0JBQXVCLHlCQUF1Qkw7SUFDdkY7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU0ssOEJBQThCVCxvQkFBb0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDN0YsSUFBSVcsa0NBQWtDO0lBRXRDLElBQUlaLFNBQVM7UUFDWCxJQUFNRyx5QkFBeUJGLGFBQWFHLFlBQVksQ0FBQ047UUFFekRHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLDBCQUFnRCxPQUF2QkYsd0JBQXVCLDJCQUF5Qkw7UUFFN0YsSUFBTWUsMEJBQTBCQyxJQUFBQSwwQkFBa0IsRUFBQ2hCLHVCQUM3Q2lCLGVBQWVsQixrQkFBa0JDLHVCQUNqQ2tCLFdBQVdyQixjQUFjRyx1QkFDekJtQixVQUFVSix5QkFBMEIsR0FBRztRQUU3QyxJQUFJLE9BQU87UUFDVCxHQUFHO1FBQ0wsT0FBTyxJQUFJRSxpQkFBaUIsTUFBTTtZQUNoQyxJQUFNRyxXQUFXakIsYUFBYWtCLDBCQUEwQixDQUFDSjtZQUV6RCxJQUFJRyxhQUFhLE1BQU07Z0JBQ3JCLElBQU1FLGtCQUFrQm5CLGFBQWFvQixpQkFBaUIsQ0FBQ0g7Z0JBRXZELElBQUksQ0FBQ0QsU0FBUztvQkFDWixJQUFJRyxpQkFBaUI7d0JBQ25CUixrQ0FBa0M7b0JBQ3BDO2dCQUNGO2dCQUVBLElBQUlLLFNBQVM7b0JBQ1gsSUFBSSxDQUFDRyxpQkFBaUI7d0JBQ3BCUixrQ0FBa0M7b0JBQ3BDO2dCQUNGO1lBQ0Y7UUFDRixPQUFPLElBQUlJLGFBQWEsTUFBTTtZQUM1QixJQUFNTSxRQUFRLEVBQUUsRUFDVkMsZUFBZUMsSUFBQUEsYUFBVSxFQUFDUixVQUFVTSxPQUFPckIsY0FBYztnQkFDdkQsSUFBTXdCLGdCQUFnQjtnQkFFdEIsT0FBT0E7WUFDVDtZQUVOLElBQUlGLGNBQWM7Z0JBQ2hCLElBQU1HLFlBQVlDLElBQUFBLFlBQUssRUFBQ0wsUUFDbEJNLE9BQU9GLFdBQ1BHLGVBQWU1QixhQUFhNkIsY0FBYyxDQUFDRjtnQkFFakQsSUFBSSxDQUFDWCxTQUFTO29CQUNaLElBQUlZLGNBQWM7d0JBQ2hCakIsa0NBQWtDO29CQUNwQztnQkFDRjtnQkFFQSxJQUFJSyxTQUFTO29CQUNYLElBQUksQ0FBQ1ksY0FBYzt3QkFDakJqQixrQ0FBa0M7b0JBQ3BDO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLElBQUlBLGlDQUFpQztZQUNuQ1gsYUFBYVUsS0FBSyxDQUFDLEFBQUMsNEJBQWtELE9BQXZCUix3QkFBdUIseUJBQXVCTDtRQUMvRjtJQUNGO0lBRUEsT0FBT2M7QUFDVDtBQUVBLFNBQVNKLDZCQUE2QlYsb0JBQW9CLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQzVGLElBQUk4QixpQ0FBaUM7SUFFckMsSUFBSSxDQUFDL0IsU0FBUztRQUNaLElBQU1HLHlCQUF5QkYsYUFBYUcsWUFBWSxDQUFDTjtRQUV6REcsYUFBYVUsS0FBSyxDQUFDLEFBQUMsZUFBcUMsT0FBdkJSLHdCQUF1Qiw0Q0FBMENMO0lBQ3JHO0lBRUEsT0FBT2lDO0FBQ1QifQ==
|
package/lib/verify/frame.js
CHANGED
|
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
var declarationNodesQuery = (0, _query.nodesQuery)("/frame/declaration"), metavariableNodesQuery = (0, _query.nodesQuery)("/frame/metavariable");
|
|
22
|
-
function verifyFrame(frameNode, frames, derived, localMetaContext) {
|
|
22
|
+
function verifyFrame(frameNode, frames, assignments, derived, localMetaContext) {
|
|
23
23
|
var frameVerified;
|
|
24
24
|
var frameString = localMetaContext.nodeAsString(frameNode);
|
|
25
25
|
localMetaContext.trace("Verifying the '".concat(frameString, "' frame..."), frameNode);
|
|
@@ -72,4 +72,4 @@ function verifyMetavariable(metavariableNode, declarations, localMetaContext) {
|
|
|
72
72
|
return metavariableVerified;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBmcmFtZU1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9mcmFtZVwiO1xuaW1wb3J0IHZlcmlmeURlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb25cIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGRlY2xhcmF0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZnJhbWUvZGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9mcmFtZS9tZXRhdmFyaWFibGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgZnJhbWVWZXJpZmllZDtcblxuICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lLi4uYCwgZnJhbWVOb2RlKTtcblxuICBjb25zdCBkZWNsYXJhdGlvbnMgPSBbXSxcbiAgICAgICAgZGVjbGFyYXRpb25Ob2RlcyA9IGRlY2xhcmF0aW9uTm9kZXNRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICBkZWNsYXJhdGlvbnNWZXJpZmllZCA9IGRlY2xhcmF0aW9uTm9kZXMuZXZlcnkoKGRlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgICAgICByZXR1cm4gZGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgICAgfSk7XG5cbiAgaWYgKGRlY2xhcmF0aW9uc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZXMgPSBtZXRhdmFyaWFibGVOb2Rlc1F1ZXJ5KGZyYW1lTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlc1ZlcmlmaWVkID0gbWV0YXZhcmlhYmxlTm9kZXMuZXZlcnkoKG1ldGF2YXJpYWJsZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGRlY2xhcmF0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVWZXJpZmllZDtcbiAgICAgICAgICB9KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVzVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lID0gRnJhbWUuZnJvbURlY2xhcmF0aW9ucyhkZWNsYXJhdGlvbnMpO1xuXG4gICAgICBmcmFtZXMucHVzaChmcmFtZSk7XG5cbiAgICAgIGZyYW1lVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChmcmFtZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgZnJhbWUuYCwgZnJhbWVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhVHlwZSA9IG1ldGF2YXJpYWJsZS5nZXRNZXRhVHlwZSgpO1xuXG4gICAgaWYgKG1ldGFUeXBlID09PSBmcmFtZU1ldGFUeXBlKSB7XG4gICAgICBjb25zdCBmcmFtZUFzc2VydGlvbiA9IGxvY2FsTWV0YUNvbnRleHQuZmluZEZyYW1lQXNzZXJ0aW9uQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoZnJhbWVBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZnJhbWVBc3NlcnRpb25EZWNsYXJhdGlvbnMgPSBmcmFtZUFzc2VydGlvbi5nZXREZWNsYXJhdGlvbnMoKTtcblxuICAgICAgICBwdXNoKGRlY2xhcmF0aW9ucywgZnJhbWVBc3NlcnRpb25EZWNsYXJhdGlvbnMpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZXJlIGlzIG5vIGZyYW1lIGFzc2VydGlvbiBmb3IgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJhbWVNZXRhVHlwZU5hbWUgPSBmcmFtZU1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuYXNTdHJpbmcoKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSdzIG1ldGEtdHlwZSBpcyAnJHttZXRhVHlwZVN0cmluZ30nIHdoZW4gaXQgc2hvdWxkIGJlICcke2ZyYW1lTWV0YVR5cGVOYW1lfScuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgaXMgbm90IHByZXNlbnQnLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGVWZXJpZmllZDtcbn0iXSwibmFtZXMiOlsidmVyaWZ5RnJhbWUiLCJkZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZXNRdWVyeSIsImZyYW1lTm9kZSIsImZyYW1lcyIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsTWV0YUNvbnRleHQiLCJmcmFtZVZlcmlmaWVkIiwiZnJhbWVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImRlY2xhcmF0aW9ucyIsImRlY2xhcmF0aW9uTm9kZXMiLCJkZWNsYXJhdGlvbnNWZXJpZmllZCIsImV2ZXJ5IiwiZGVjbGFyYXRpb25Ob2RlIiwiZGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeURlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlTm9kZXMiLCJtZXRhdmFyaWFibGVzVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJmcmFtZSIsIkZyYW1lIiwiZnJvbURlY2xhcmF0aW9ucyIsInB1c2giLCJkZWJ1ZyIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZSIsImZyYW1lQXNzZXJ0aW9uIiwiZmluZEZyYW1lQXNzZXJ0aW9uQnlNZXRhdmFyaWFibGVOb2RlIiwiZnJhbWVBc3NlcnRpb25EZWNsYXJhdGlvbnMiLCJnZXREZWNsYXJhdGlvbnMiLCJmcmFtZU1ldGFUeXBlTmFtZSIsImdldE5hbWUiLCJtZXRhVHlwZVN0cmluZyIsImFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7OzREQVZOOzZEQUNRO2tFQUNJO3FCQUVUO3FCQUNNOzs7Ozs7QUFFM0IsSUFBTUMsd0JBQXdCQyxJQUFBQSxpQkFBVSxFQUFDLHVCQUNuQ0MseUJBQXlCRCxJQUFBQSxpQkFBVSxFQUFDO0FBRTNCLFNBQVNGLFlBQVlJLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQzNGLElBQUlDO0lBRUosSUFBTUMsY0FBY0YsaUJBQWlCRyxZQUFZLENBQUNQO0lBRWxESSxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUE2QixPQUFaRixhQUFZLGVBQWFOO0lBRWxFLElBQU1TLGVBQWUsRUFBRSxFQUNqQkMsbUJBQW1CYixzQkFBc0JHLFlBQ3pDVyx1QkFBdUJELGlCQUFpQkUsS0FBSyxDQUFDLFNBQUNDO1FBQzdDLElBQU1DLHNCQUFzQkMsSUFBQUEsb0JBQWlCLEVBQUNGLGlCQUFpQkosY0FBY0w7UUFFN0UsT0FBT1U7SUFDVDtJQUVOLElBQUlILHNCQUFzQjtRQUN4QixJQUFNSyxvQkFBb0JqQix1QkFBdUJDLFlBQzNDaUIsd0JBQXdCRCxrQkFBa0JKLEtBQUssQ0FBQyxTQUFDTTtZQUMvQyxJQUFNQyx1QkFBdUJDLG1CQUFtQkYsa0JBQWtCVCxjQUFjTDtZQUVoRixPQUFPZTtRQUNUO1FBRU4sSUFBSUYsdUJBQXVCO1lBQ3pCLElBQU1JLFFBQVFDLGNBQUssQ0FBQ0MsZ0JBQWdCLENBQUNkO1lBRXJDUixPQUFPdUIsSUFBSSxDQUFDSDtZQUVaaEIsZ0JBQWdCO1FBQ2xCO0lBQ0Y7SUFFQSxJQUFJQSxlQUFlO1FBQ2pCRCxpQkFBaUJxQixLQUFLLENBQUMsQUFBQyxvQkFBK0IsT0FBWm5CLGFBQVksYUFBV047SUFDcEU7SUFFQSxPQUFPSztBQUNUO0FBRUEsU0FBU2UsbUJBQW1CRixnQkFBZ0IsRUFBRVQsWUFBWSxFQUFFTCxnQkFBZ0I7SUFDMUUsSUFBSWUsdUJBQXVCO0lBRTNCLElBQU1PLHFCQUFxQnRCLGlCQUFpQkcsWUFBWSxDQUFDVztJQUV6RGQsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBb0MsT0FBbkJrQixvQkFBbUIsc0JBQW9CUjtJQUVoRixJQUFNUyxlQUFldkIsaUJBQWlCd0Isa0NBQWtDLENBQUNWLGtCQUFrQmQ7SUFFM0YsSUFBSXVCLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1FLFdBQVdGLGFBQWFHLFdBQVc7UUFFekMsSUFBSUQsYUFBYUUsZUFBYSxFQUFFO1lBQzlCLElBQU1DLGlCQUFpQjVCLGlCQUFpQjZCLG9DQUFvQyxDQUFDZjtZQUU3RSxJQUFJYyxtQkFBbUIsTUFBTTtnQkFDM0IsSUFBTUUsNkJBQTZCRixlQUFlRyxlQUFlO2dCQUVqRVgsSUFBQUEsV0FBSSxFQUFDZixjQUFjeUI7Z0JBRW5CZix1QkFBdUI7WUFDekIsT0FBTztnQkFDTGYsaUJBQWlCcUIsS0FBSyxDQUFDLEFBQUMsd0NBQTBELE9BQW5CQyxvQkFBbUIsb0JBQWtCUjtZQUN0RztRQUNGLE9BQU87WUFDTCxJQUFNa0Isb0JBQW9CTCxlQUFhLENBQUNNLE9BQU8sSUFDekNDLGlCQUFpQlQsU0FBU1UsUUFBUTtZQUV4Q25DLGlCQUFpQnFCLEtBQUssQ0FBQyxBQUFDLFFBQTJEYSxPQUFwRFosb0JBQW1CLG1DQUF1RVUsT0FBdENFLGdCQUFlLHlCQUF5QyxPQUFsQkYsbUJBQWtCLE9BQUtsQjtRQUNsSjtJQUNGLE9BQU87UUFDTGQsaUJBQWlCcUIsS0FBSyxDQUFDLEFBQUMsUUFBMEIsT0FBbkJDLG9CQUFtQixvQ0FBa0NSO0lBQ3RGO0lBRUEsSUFBSUMsc0JBQXNCO1FBQ3hCZixpQkFBaUJxQixLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJDLG9CQUFtQixvQkFBa0JSO0lBQ2xGO0lBRUEsT0FBT0M7QUFDVCJ9
|
|
@@ -48,7 +48,7 @@ function verifyDerivedFrameAssertion(frameAssertionNode, assignments, derived, l
|
|
|
48
48
|
if (metavariableVerified) {
|
|
49
49
|
var frameAssertion = localMetaContext.findFrameAssertionByMetavariableNode(metavariableNode);
|
|
50
50
|
if (frameAssertion !== null) {
|
|
51
|
-
var frames = [], frameNode = frameNodeQuery(frameAssertionNode), frameVerified = (0, _frame.default)(frameNode, frames, derived, localMetaContext);
|
|
51
|
+
var frames = [], frameNode = frameNodeQuery(frameAssertionNode), frameVerified = (0, _frame.default)(frameNode, frames, assignments, derived, localMetaContext);
|
|
52
52
|
if (frameVerified) {
|
|
53
53
|
var firstFrame = (0, _array.first)(frames), frame = firstFrame, frameSingular = frame.isSingular();
|
|
54
54
|
if (frameSingular) {
|
|
@@ -83,7 +83,7 @@ function verifyStatedFrameAssertion(frameAssertionNode, assignments, derived, lo
|
|
|
83
83
|
localMetaContext.trace("Verifying the '".concat(frameAssertionString, "' stated frame assertion..."), frameAssertionNode);
|
|
84
84
|
var metavariableNode = metavariableNodeQuery(frameAssertionNode), metavariableVerified = verifyMetavariable(metavariableNode, localMetaContext);
|
|
85
85
|
if (metavariableVerified) {
|
|
86
|
-
var frames = [], frameNode = frameNodeQuery(frameAssertionNode), frameVerified = (0, _frame.default)(frameNode, frames, derived, localMetaContext);
|
|
86
|
+
var frames = [], frameNode = frameNodeQuery(frameAssertionNode), frameVerified = (0, _frame.default)(frameNode, frames, assignments, derived, localMetaContext);
|
|
87
87
|
if (frameVerified) {
|
|
88
88
|
var firstFrame = (0, _array.first)(frames), frame = firstFrame, frameAssertion = _frameAssertion.default.fromFrameAssertionNodeFrameAndMetavariableNode(frameAssertionNode, frame, metavariableNode), frameAssertionAssignment = _frameAssertion1.default.fromFrameAssertion(frameAssertion), assignment = frameAssertionAssignment;
|
|
89
89
|
assignments.push(assignment);
|
|
@@ -118,4 +118,4 @@ function verifyMetavariable(metavariableNode, localMetaContext) {
|
|
|
118
118
|
return metavariableVerified;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWVBc3NlcnRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBGcmFtZUFzc2VydGlvbiBmcm9tIFwiLi4vZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQgZnJvbSBcIi4uL2Fzc2lnbm1lbnQvZnJhbWVBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGZyYW1lTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2ZyYW1lQXNzZXJ0aW9uL2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9mcmFtZUFzc2VydGlvbi9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBmcmFtZUFzc2VydGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IGZyYW1lQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgZnJhbWUgYXNzZXJ0aW9uLi4uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCB2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkRnJhbWVBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVkRnJhbWVBc3NlcnRpb25cbiAgXTtcblxuICBmcmFtZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgodmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9uKGZyYW1lQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBmcmFtZSBhc3NlcnRpb24uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkRnJhbWVBc3NlcnRpb24oZnJhbWVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGZyYW1lIGFzc2VydGlvbi4uLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGZyYW1lQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uID0gbG9jYWxNZXRhQ29udGV4dC5maW5kRnJhbWVBc3NlcnRpb25CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChmcmFtZUFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoZnJhbWVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgZnJhbWVTaW5ndWxhciA9IGZyYW1lLmlzU2luZ3VsYXIoKTtcblxuICAgICAgICAgIGlmIChmcmFtZVNpbmd1bGFyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGZyYW1lLmdldERlY2xhcmF0aW9uKCksXG4gICAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YUxlbW1hQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgICAgICAgbWV0YXRoZW9yZW0gPSBsb2NhbE1ldGFDb250ZXh0LmZpbmRNZXRhdGhlb3JlbUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgICAgIG1ldGFMZW1tYU1ldGF0aGVvcmVtID0gKG1ldGFMZW1tYSB8fCBtZXRhdGhlb3JlbSk7ICAvLy9cblxuICAgICAgICAgICAgaWYgKG1ldGFMZW1tYU1ldGF0aGVvcmVtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtID0gZGVjbGFyYXRpb24ubWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtKG1ldGFMZW1tYU1ldGF0aGVvcmVtKSxcbiAgICAgICAgICAgICAgICAgICAgZnJhbWVBc3NlcnRpb25NYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0gPSBmcmFtZUFzc2VydGlvbi5tYXRjaE1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgICAgIGRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkID0gKGRlY2xhcmF0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtICYmIGZyYW1lQXNzZXJ0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgICAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZXJlIGFyZSBubyBtZXRhLWxlbW1hcyBvciBtZXRhdGhlb3JlbXMgY29ycmVzcG9uZGluZyB0byB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYW1lU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICAgICAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlICcke2ZyYW1lU3RyaW5nfScgaXMgbm90IHNpbmd1bGFyLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGVyZSBpcyBubyBmcmFtZUFzc2VydGlvbiBwcmVzZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGZyYW1lIGFzc2VydGlvbi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkRnJhbWVBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkRnJhbWVBc3NlcnRpb24oZnJhbWVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgc3RhdGVkRnJhbWVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBzdGF0ZWQgZnJhbWUgYXNzZXJ0aW9uLi4uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoZnJhbWVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgICAgY29uc3QgZnJhbWVzID0gW10sXG4gICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShmcmFtZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RGcmFtZSA9IGZpcnN0KGZyYW1lcyksXG4gICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgIGZyYW1lQXNzZXJ0aW9uID0gRnJhbWVBc3NlcnRpb24uZnJvbUZyYW1lQXNzZXJ0aW9uTm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShmcmFtZUFzc2VydGlvbk5vZGUsIGZyYW1lLCBtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50ID0gRnJhbWVBc3NlcnRpb25Bc3NpZ25tZW50LmZyb21GcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbiksXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnQgPSBmcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQ7XG5cbiAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICBzdGF0ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVkRnJhbWVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGZyYW1lIGFzc2VydGlvbi5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS4uLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsTWV0YUNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7ZnJhbWVNZXRhVHlwZU5hbWV9Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBpcyBub3QgcHJlc2VudCcuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZyYW1lQXNzZXJ0aW9uIiwiZnJhbWVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJmcmFtZUFzc2VydGlvbk5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwiZnJhbWVBc3NlcnRpb25WZXJpZmllZCIsImZyYW1lQXNzZXJ0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRGcmFtZUFzc2VydGlvbiIsInZlcmlmeVN0YXRlZEZyYW1lQXNzZXJ0aW9uIiwic29tZSIsInZlcmlmeUZyYW1lQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwiZnJhbWVBc3NlcnRpb24iLCJmaW5kRnJhbWVBc3NlcnRpb25CeU1ldGF2YXJpYWJsZU5vZGUiLCJmcmFtZXMiLCJmcmFtZU5vZGUiLCJmcmFtZVZlcmlmaWVkIiwidmVyaWZ5RnJhbWUiLCJmaXJzdEZyYW1lIiwiZmlyc3QiLCJmcmFtZSIsImZyYW1lU2luZ3VsYXIiLCJpc1Npbmd1bGFyIiwiZGVjbGFyYXRpb24iLCJnZXREZWNsYXJhdGlvbiIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhTGVtbWEiLCJmaW5kTWV0YUxlbW1hQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXRoZW9yZW0iLCJmaW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhTGVtbWFNZXRhdGhlb3JlbSIsImRlY2xhcmF0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtIiwibWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtIiwiZnJhbWVBc3NlcnRpb25NYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhdmFyaWFibGVTdHJpbmciLCJmcmFtZVN0cmluZyIsInN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQiLCJGcmFtZUFzc2VydGlvbiIsImZyb21GcmFtZUFzc2VydGlvbk5vZGVGcmFtZUFuZE1ldGF2YXJpYWJsZU5vZGUiLCJmcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQiLCJGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQiLCJmcm9tRnJhbWVBc3NlcnRpb24iLCJhc3NpZ25tZW50IiwicHVzaCIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBd0JBOzs7NERBWEE7NkRBQ0U7cUVBQ0M7c0VBQ1U7cUJBRWY7cUJBQ0k7Ozs7OztBQUUxQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsMkJBQzNCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YscUJBQXFCSSxrQkFBa0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUNyRyxJQUFJQztJQUVKLElBQU1DLHVCQUF1QkYsaUJBQWlCRyxZQUFZLENBQUNOO0lBRTNERyxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFzQyxPQUFyQkYsc0JBQXFCLHlCQUF1Qkw7SUFFckYsSUFBTVEsZ0NBQWdDO1FBQ3BDQztRQUNBQztLQUNEO0lBRUROLHlCQUF5QkksOEJBQThCRyxJQUFJLENBQUMsU0FBQ0M7UUFDM0QsSUFBTVIseUJBQXlCUSw2QkFBNkJaLG9CQUFvQkMsYUFBYUMsU0FBU0M7UUFFdEcsSUFBSUMsd0JBQXdCO1lBQzFCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEsd0JBQXdCO1FBQzFCRCxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF3QyxPQUFyQlIsc0JBQXFCLHVCQUFxQkw7SUFDdkY7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU0ssNEJBQTRCVCxrQkFBa0IsRUFBRUMs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
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWVBc3NlcnRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBGcmFtZUFzc2VydGlvbiBmcm9tIFwiLi4vZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQgZnJvbSBcIi4uL2Fzc2lnbm1lbnQvZnJhbWVBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGZyYW1lTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2ZyYW1lQXNzZXJ0aW9uL2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9mcmFtZUFzc2VydGlvbi9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBmcmFtZUFzc2VydGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IGZyYW1lQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgZnJhbWUgYXNzZXJ0aW9uLi4uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCB2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkRnJhbWVBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVkRnJhbWVBc3NlcnRpb25cbiAgXTtcblxuICBmcmFtZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgodmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUFzc2VydGlvbkZ1bmN0aW9uKGZyYW1lQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBmcmFtZSBhc3NlcnRpb24uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkRnJhbWVBc3NlcnRpb24oZnJhbWVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIGZyYW1lIGFzc2VydGlvbi4uLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGZyYW1lQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uID0gbG9jYWxNZXRhQ29udGV4dC5maW5kRnJhbWVBc3NlcnRpb25CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChmcmFtZUFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBmcmFtZXMgPSBbXSxcbiAgICAgICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoZnJhbWVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKGZyYW1lVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBmaXJzdEZyYW1lID0gZmlyc3QoZnJhbWVzKSxcbiAgICAgICAgICAgICAgICBmcmFtZSA9IGZpcnN0RnJhbWUsIC8vL1xuICAgICAgICAgICAgICAgIGZyYW1lU2luZ3VsYXIgPSBmcmFtZS5pc1Npbmd1bGFyKCk7XG5cbiAgICAgICAgICBpZiAoZnJhbWVTaW5ndWxhcikge1xuICAgICAgICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSBmcmFtZS5nZXREZWNsYXJhdGlvbigpLFxuICAgICAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IGRlY2xhcmF0aW9uLmdldE1ldGF2YXJpYWJsZU5vZGUoKSxcbiAgICAgICAgICAgICAgICAgIG1ldGFMZW1tYSA9IGxvY2FsTWV0YUNvbnRleHQuZmluZE1ldGFMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgICAgIG1ldGF0aGVvcmVtID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgICAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbk1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSA9IGRlY2xhcmF0aW9uLm1hdGNoTWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSksXG4gICAgICAgICAgICAgICAgICAgIGZyYW1lQXNzZXJ0aW9uTWF0Y2hlc01ldGFMZW1tYU1ldGF0aGVvcmVtID0gZnJhbWVBc3NlcnRpb24ubWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtKG1ldGFMZW1tYU1ldGF0aGVvcmVtKTtcblxuICAgICAgICAgICAgICBkZXJpdmVkRnJhbWVBc3NlcnRpb25WZXJpZmllZCA9IChkZWNsYXJhdGlvbk1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSAmJiBmcmFtZUFzc2VydGlvbk1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGVyZSBhcmUgbm8gbWV0YS1sZW1tYXMgb3IgbWV0YXRoZW9yZW1zIGNvcnJlc3BvbmRpbmcgdG8gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lTm9kZSk7XG5cbiAgICAgICAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZSAnJHtmcmFtZVN0cmluZ30nIGlzIG5vdCBzaW5ndWxhci5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlcmUgaXMgbm8gZnJhbWVBc3NlcnRpb24gcHJlc2VudCBmb3IgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBmcmFtZUFzc2VydGlvbk5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkRnJhbWVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBmcmFtZSBhc3NlcnRpb24uYCwgZnJhbWVBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZEZyYW1lQXNzZXJ0aW9uKGZyYW1lQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBmcmFtZUFzc2VydGlvblN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZyYW1lQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGZyYW1lIGFzc2VydGlvbi4uLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGZyYW1lQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoZnJhbWVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIGZyYW1lVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZShmcmFtZU5vZGUsIGZyYW1lcywgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmaXJzdEZyYW1lID0gZmlyc3QoZnJhbWVzKSxcbiAgICAgICAgICAgICAgZnJhbWUgPSBmaXJzdEZyYW1lLCAvLy9cbiAgICAgICAgICAgICAgZnJhbWVBc3NlcnRpb24gPSBGcmFtZUFzc2VydGlvbi5mcm9tRnJhbWVBc3NlcnRpb25Ob2RlRnJhbWVBbmRNZXRhdmFyaWFibGVOb2RlKGZyYW1lQXNzZXJ0aW9uTm9kZSwgZnJhbWUsIG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgICBmcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQgPSBGcmFtZUFzc2VydGlvbkFzc2lnbm1lbnQuZnJvbUZyYW1lQXNzZXJ0aW9uKGZyYW1lQXNzZXJ0aW9uKSxcbiAgICAgICAgICAgICAgYXNzaWdubWVudCA9IGZyYW1lQXNzZXJ0aW9uQXNzaWdubWVudDtcblxuICAgICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuXG4gICAgICAgIHN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZWRGcmFtZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVBc3NlcnRpb25TdHJpbmd9JyBzdGF0ZWQgZnJhbWUgYXNzZXJ0aW9uLmAsIGZyYW1lQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhVHlwZSA9IG1ldGF2YXJpYWJsZS5nZXRNZXRhVHlwZSgpO1xuXG4gICAgaWYgKG1ldGFUeXBlID09PSBmcmFtZU1ldGFUeXBlKSB7XG4gICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZyYW1lTWV0YVR5cGVOYW1lID0gZnJhbWVNZXRhVHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgICBtZXRhVHlwZVN0cmluZyA9IG1ldGFUeXBlLmFzU3RyaW5nKCk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGlzIG5vdCBwcmVzZW50Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RnJhbWVBc3NlcnRpb24iLCJmcmFtZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImZyYW1lQXNzZXJ0aW9uTm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsTWV0YUNvbnRleHQiLCJmcmFtZUFzc2VydGlvblZlcmlmaWVkIiwiZnJhbWVBc3NlcnRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeUZyYW1lQXNzZXJ0aW9uRnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZEZyYW1lQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVkRnJhbWVBc3NlcnRpb24iLCJzb21lIiwidmVyaWZ5RnJhbWVBc3NlcnRpb25GdW5jdGlvbiIsImRlYnVnIiwiZGVyaXZlZEZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJmcmFtZUFzc2VydGlvbiIsImZpbmRGcmFtZUFzc2VydGlvbkJ5TWV0YXZhcmlhYmxlTm9kZSIsImZyYW1lcyIsImZyYW1lTm9kZSIsImZyYW1lVmVyaWZpZWQiLCJ2ZXJpZnlGcmFtZSIsImZpcnN0RnJhbWUiLCJmaXJzdCIsImZyYW1lIiwiZnJhbWVTaW5ndWxhciIsImlzU2luZ3VsYXIiLCJkZWNsYXJhdGlvbiIsImdldERlY2xhcmF0aW9uIiwiZ2V0TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFMZW1tYSIsImZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdGhlb3JlbSIsImZpbmRNZXRhdGhlb3JlbUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtIiwiZGVjbGFyYXRpb25NYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtYXRjaE1ldGFMZW1tYU9yTWV0YVRoZW9yZW0iLCJmcmFtZUFzc2VydGlvbk1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsImZyYW1lU3RyaW5nIiwic3RhdGVkRnJhbWVBc3NlcnRpb25WZXJpZmllZCIsIkZyYW1lQXNzZXJ0aW9uIiwiZnJvbUZyYW1lQXNzZXJ0aW9uTm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZSIsImZyYW1lQXNzZXJ0aW9uQXNzaWdubWVudCIsIkZyYW1lQXNzZXJ0aW9uQXNzaWdubWVudCIsImZyb21GcmFtZUFzc2VydGlvbiIsImFzc2lnbm1lbnQiLCJwdXNoIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFUeXBlIiwiZ2V0TWV0YVR5cGUiLCJmcmFtZU1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YVR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUF3QkE7Ozs0REFYQTs2REFDRTtxRUFDQztzRUFDVTtxQkFFZjtxQkFDSTs7Ozs7O0FBRTFCLElBQU1DLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQywyQkFDM0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixTQUFTRixxQkFBcUJJLGtCQUFrQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3JHLElBQUlDO0lBRUosSUFBTUMsdUJBQXVCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFM0RHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXNDLE9BQXJCRixzQkFBcUIseUJBQXVCTDtJQUVyRixJQUFNUSxnQ0FBZ0M7UUFDcENDO1FBQ0FDO0tBQ0Q7SUFFRE4seUJBQXlCSSw4QkFBOEJHLElBQUksQ0FBQyxTQUFDQztRQUMzRCxJQUFNUix5QkFBeUJRLDZCQUE2Qlosb0JBQW9CQyxhQUFhQyxTQUFTQztRQUV0RyxJQUFJQyx3QkFBd0I7WUFDMUIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSx3QkFBd0I7UUFDMUJELGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXdDLE9BQXJCUixzQkFBcUIsdUJBQXFCTDtJQUN2RjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQSxTQUFTSyw0QkFBNEJULGtCQUFrQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQzdGLElBQUlXLGdDQUFnQztJQUVwQyxJQUFJWixTQUFTO1FBQ1gsSUFBTUcsdUJBQXVCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFM0RHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXNDLE9BQXJCRixzQkFBcUIsaUNBQStCTDtRQUU3RixJQUFNZSxtQkFBbUJoQixzQkFBc0JDLHFCQUN6Q2dCLHVCQUF1QkMsbUJBQW1CRixrQkFBa0JaO1FBRWxFLElBQUlhLHNCQUFzQjtZQUN4QixJQUFNRSxpQkFBaUJmLGlCQUFpQmdCLG9DQUFvQyxDQUFDSjtZQUU3RSxJQUFJRyxtQkFBbUIsTUFBTTtnQkFDM0IsSUFBTUUsU0FBUyxFQUFFLEVBQ1hDLFlBQVl4QixlQUFlRyxxQkFDM0JzQixnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ0YsV0FBV0QsUUFBUW5CLGFBQWFDLFNBQVNDO2dCQUUzRSxJQUFJbUIsZUFBZTtvQkFDakIsSUFBTUUsYUFBYUMsSUFBQUEsWUFBSyxFQUFDTCxTQUNuQk0sUUFBUUYsWUFDUkcsZ0JBQWdCRCxNQUFNRSxVQUFVO29CQUV0QyxJQUFJRCxlQUFlO3dCQUNqQixJQUFNRSxjQUFjSCxNQUFNSSxjQUFjLElBQ2xDZixvQkFBbUJjLFlBQVlFLG1CQUFtQixJQUNsREMsWUFBWTdCLGlCQUFpQjhCLCtCQUErQixDQUFDbEIsb0JBQzdEbUIsY0FBYy9CLGlCQUFpQmdDLGlDQUFpQyxDQUFDcEIsb0JBQ2pFcUIsdUJBQXdCSixhQUFhRSxhQUFlLEdBQUc7d0JBRTdELElBQUlFLHlCQUF5QixNQUFNOzRCQUNqQyxJQUFNQyx5Q0FBeUNSLFlBQVlTLDJCQUEyQixDQUFDRix1QkFDakZHLDRDQUE0Q3JCLGVBQWVvQiwyQkFBMkIsQ0FBQ0Y7NEJBRTdGdEIsZ0NBQWlDdUIsMENBQTBDRTt3QkFDN0UsT0FBTzs0QkFDTCxJQUFNQyxxQkFBcUJyQyxpQkFBaUJHLFlBQVksQ0FBQ1M7NEJBRXpEWixpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLGtFQUFvRixPQUFuQjJCLG9CQUFtQixvQkFBa0J4Qzt3QkFDaEk7b0JBQ0YsT0FBTzt3QkFDTCxJQUFNeUMsY0FBY3RDLGlCQUFpQkcsWUFBWSxDQUFDZTt3QkFFbERsQixpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLFFBQW1CLE9BQVo0QixhQUFZLHVCQUFxQnpDO29CQUNsRTtnQkFDRjtZQUNGLE9BQU87Z0JBQ0wsSUFBTXdDLHNCQUFxQnJDLGlCQUFpQkcsWUFBWSxDQUFDUztnQkFFekRaLGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsK0NBQWlFLE9BQW5CMkIscUJBQW1CLG9CQUFrQnhDO1lBQzdHO1FBQ0Y7UUFFQSxJQUFJYywrQkFBK0I7WUFDakNYLGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXdDLE9BQXJCUixzQkFBcUIsK0JBQTZCTDtRQUMvRjtJQUNGO0lBRUEsT0FBT2M7QUFDVDtBQUVBLFNBQVNKLDJCQUEyQlYsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDNUYsSUFBSXVDLCtCQUErQjtJQUVuQyxJQUFJLENBQUN4QyxTQUFTO1FBQ1osSUFBTUcsdUJBQXVCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFM0RHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXNDLE9BQXJCRixzQkFBcUIsZ0NBQThCTDtRQUU1RixJQUFNZSxtQkFBbUJoQixzQkFBc0JDLHFCQUN6Q2dCLHVCQUF1QkMsbUJBQW1CRixrQkFBa0JaO1FBRWxFLElBQUlhLHNCQUFzQjtZQUN4QixJQUFNSSxTQUFTLEVBQUUsRUFDWEMsWUFBWXhCLGVBQWVHLHFCQUMzQnNCLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDRixXQUFXRCxRQUFRbkIsYUFBYUMsU0FBU0M7WUFFM0UsSUFBSW1CLGVBQWU7Z0JBQ2pCLElBQU1FLGFBQWFDLElBQUFBLFlBQUssRUFBQ0wsU0FDbkJNLFFBQVFGLFlBQ1JOLGlCQUFpQnlCLHVCQUFjLENBQUNDLDhDQUE4QyxDQUFDNUMsb0JBQW9CMEIsT0FBT1gsbUJBQzFHOEIsMkJBQTJCQyx3QkFBd0IsQ0FBQ0Msa0JBQWtCLENBQUM3QixpQkFDdkU4QixhQUFhSDtnQkFFbkI1QyxZQUFZZ0QsSUFBSSxDQUFDRDtnQkFFakJOLCtCQUErQjtZQUNqQztRQUNGO1FBRUEsSUFBSUEsOEJBQThCO1lBQ2hDdkMsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBd0MsT0FBckJSLHNCQUFxQiw4QkFBNEJMO1FBQzlGO0lBQ0Y7SUFFQSxPQUFPMEM7QUFDVDtBQUVBLFNBQVN6QixtQkFBbUJGLGdCQUFnQixFQUFFWixnQkFBZ0I7SUFDNUQsSUFBSWEsdUJBQXVCO0lBRTNCLElBQU13QixxQkFBcUJyQyxpQkFBaUJHLFlBQVksQ0FBQ1M7SUFFekRaLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CaUMsb0JBQW1CLHNCQUFvQnpCO0lBRWhGLElBQU1tQyxlQUFlL0MsaUJBQWlCZ0Qsa0NBQWtDLENBQUNwQyxrQkFBa0JaO0lBRTNGLElBQUkrQyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNRSxXQUFXRixhQUFhRyxXQUFXO1FBRXpDLElBQUlELGFBQWFFLGVBQWEsRUFBRTtZQUM5QnRDLHVCQUF1QjtRQUN6QixPQUFPO1lBQ0wsSUFBTXVDLG9CQUFvQkQsZUFBYSxDQUFDRSxPQUFPLElBQ3pDQyxpQkFBaUJMLFNBQVNNLFFBQVE7WUFFeEN2RCxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLFFBQTJENEMsT0FBcERqQixvQkFBbUIsbUNBQXVFZSxPQUF0Q0UsZ0JBQWUseUJBQXlDLE9BQWxCRixtQkFBa0IsT0FBS3hDO1FBQ2xKO0lBQ0YsT0FBTztRQUNMWixpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLFFBQTBCLE9BQW5CMkIsb0JBQW1CLG9DQUFrQ3pCO0lBQ3RGO0lBRUEsSUFBSUMsc0JBQXNCO1FBQ3hCYixpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUFzQyxPQUFuQjJCLG9CQUFtQixvQkFBa0J6QjtJQUNsRjtJQUVBLE9BQU9DO0FBQ1QifQ==
|