occam-verify-cli 0.0.465 → 0.0.467
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/antecedent.js +214 -0
- package/lib/axiom.js +93 -78
- package/lib/axiomLemmaTheorem.js +190 -0
- package/lib/consequent.js +157 -0
- package/lib/constants.js +9 -1
- package/lib/lemma.js +93 -78
- package/lib/ruleNames.js +4 -4
- package/lib/substitution.js +123 -0
- package/lib/theorem.js +93 -78
- package/lib/utilities/statement.js +45 -0
- package/lib/utilities/string.js +6 -6
- package/lib/verify/antecedentOrAntecedents.js +38 -0
- package/lib/verify/axiom.js +15 -14
- package/lib/verify/conditinalIndicative.js +32 -0
- package/lib/verify/{indicativeConditional.js → conditionalIndicative.js} +10 -10
- package/lib/verify/consequent.js +36 -0
- package/lib/verify/lemma.js +25 -19
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/rule.js +2 -3
- package/lib/verify/theorem.js +21 -18
- package/lib/verify/unconditionalIndicative.js +28 -0
- package/package.json +3 -3
- package/src/antecedent.js +235 -0
- package/src/axiom.js +5 -95
- package/src/axiomLemmaTheorem.js +190 -0
- package/src/consequent.js +187 -0
- package/src/constants.js +2 -0
- package/src/lemma.js +5 -95
- package/src/ruleNames.js +1 -1
- package/src/substitution.js +130 -0
- package/src/theorem.js +5 -95
- package/src/utilities/statement.js +50 -0
- package/src/utilities/string.js +6 -6
- package/src/verify/antecedentOrAntecedents.js +40 -0
- package/src/verify/axiom.js +21 -16
- package/src/verify/conditinalIndicative.js +31 -0
- package/src/verify/conditionalIndicative.js +29 -0
- package/src/verify/consequent.js +36 -0
- package/src/verify/lemma.js +38 -21
- package/src/verify/metaproof.js +2 -1
- package/src/verify/rule.js +1 -3
- package/src/verify/theorem.js +28 -22
- package/src/verify/unconditionalIndicative.js +24 -0
- package/src/verify/indicativeConditional.js +0 -29
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
bracketedStatementChildNodeFromChildNodes: function() {
|
|
13
|
+
return bracketedStatementChildNodeFromChildNodes;
|
|
14
|
+
},
|
|
15
|
+
matchBracketedStatementChildNode: function() {
|
|
16
|
+
return matchBracketedStatementChildNode;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _array = require("../utilities/array");
|
|
20
|
+
var _ruleNames = require("../ruleNames");
|
|
21
|
+
var _constants = require("../constants");
|
|
22
|
+
function bracketedStatementChildNodeFromChildNodes(childNodes) {
|
|
23
|
+
var bracketedStatementChildNode = null;
|
|
24
|
+
var childNodesLength = childNodes.length;
|
|
25
|
+
if (childNodesLength === _constants.BRACKETED_STATEMENT_CHILD_NODES_LENGTH) {
|
|
26
|
+
var firstChildNode = (0, _array.first)(childNodes), thirdChildNode = (0, _array.third)(childNodes), secondChildNode = (0, _array.second)(childNodes), firstChildNodeTerminalNode = firstChildNode.isTerminalNode(), thirdChildNodeTerminalNode = thirdChildNode.isTerminalNode(), secondChildNodeNonTerminalNode = secondChildNode.isNonTerminalNode();
|
|
27
|
+
if (firstChildNodeTerminalNode && secondChildNodeNonTerminalNode && thirdChildNodeTerminalNode) {
|
|
28
|
+
var nonTerminalNode = secondChildNode, firstTerminalNode = firstChildNode, secondTerminalNode = thirdChildNode, nonTerminalNodeRuleName = nonTerminalNode.getRuleName(), firstTerminalNodeContent = firstTerminalNode.getContent(), secondTerminalNodeContent = secondTerminalNode.getContent(), firstTerminalNodeContentLeftBracket = firstTerminalNodeContent === _constants.LEFT_BRACKET, secondTerminalNodeContentRightBracket = secondTerminalNodeContent === _constants.RIGHT_BRACKET, nonTerminalNodeRuleNameStatementRuleName = nonTerminalNodeRuleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
29
|
+
if (firstTerminalNodeContentLeftBracket && nonTerminalNodeRuleNameStatementRuleName && secondTerminalNodeContentRightBracket) {
|
|
30
|
+
bracketedStatementChildNode = nonTerminalNode; ///
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return bracketedStatementChildNode;
|
|
35
|
+
}
|
|
36
|
+
function matchBracketedStatementChildNode(childNodes, callback) {
|
|
37
|
+
var bracketedStatementChildNodeMatches = false;
|
|
38
|
+
var bracketedStatementChildNode = bracketedStatementChildNodeFromChildNodes(childNodes);
|
|
39
|
+
if (bracketedStatementChildNode !== null) {
|
|
40
|
+
bracketedStatementChildNodeMatches = callback(bracketedStatementChildNode);
|
|
41
|
+
}
|
|
42
|
+
return bracketedStatementChildNodeMatches;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaXJzdCwgc2Vjb25kLCB0aGlyZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBMRUZUX0JSQUNLRVQsIFJJR0hUX0JSQUNLRVQsIEJSQUNLRVRFRF9TVEFURU1FTlRfQ0hJTERfTk9ERVNfTEVOR1RIIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbUNoaWxkTm9kZXMoY2hpbGROb2Rlcykge1xuICBsZXQgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gbnVsbDtcblxuICBjb25zdCBjaGlsZE5vZGVzTGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKGNoaWxkTm9kZXNMZW5ndGggPT09IEJSQUNLRVRFRF9TVEFURU1FTlRfQ0hJTERfTk9ERVNfTEVOR1RIKSB7XG4gICAgY29uc3QgZmlyc3RDaGlsZE5vZGUgPSBmaXJzdChjaGlsZE5vZGVzKSxcbiAgICAgICAgICB0aGlyZENoaWxkTm9kZSA9IHRoaXJkKGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZSA9IHNlY29uZChjaGlsZE5vZGVzKSxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgdGhpcmRDaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSB0aGlyZENoaWxkTm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHNlY29uZENoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGZpcnN0Q2hpbGROb2RlVGVybWluYWxOb2RlICYmIHNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSAmJiB0aGlyZENoaWxkTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc2Vjb25kQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBmaXJzdFRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgIHNlY29uZFRlcm1pbmFsTm9kZSA9IHRoaXJkQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50ID0gZmlyc3RUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudCA9IHNlY29uZFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICBmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCA9IChmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IExFRlRfQlJBQ0tFVCksXG4gICAgICAgICAgICBzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50UmlnaHRCcmFja2V0ID0gKHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IFJJR0hUX0JSQUNLRVQpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9PT0gU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCAmJiBub25UZXJtaW5hbE5vZGVSdWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lICYmIHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnRSaWdodEJyYWNrZXQpIHtcbiAgICAgICAgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gbm9uVGVybWluYWxOb2RlOyAgLy8vXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoQnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlKGNoaWxkTm9kZXMsIGNhbGxiYWNrKSB7XG4gIGxldCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbUNoaWxkTm9kZXMoY2hpbGROb2Rlcyk7XG5cbiAgaWYgKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSAhPT0gbnVsbCkge1xuICAgIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZU1hdGNoZXMgPSBjYWxsYmFjayhicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZU1hdGNoZXM7XG59XG4iXSwibmFtZXMiOlsiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbUNoaWxkTm9kZXMiLCJtYXRjaEJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSIsImNoaWxkTm9kZXMiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiQlJBQ0tFVEVEX1NUQVRFTUVOVF9DSElMRF9OT0RFU19MRU5HVEgiLCJmaXJzdENoaWxkTm9kZSIsImZpcnN0IiwidGhpcmRDaGlsZE5vZGUiLCJ0aGlyZCIsInNlY29uZENoaWxkTm9kZSIsInNlY29uZCIsImZpcnN0Q2hpbGROb2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0aGlyZENoaWxkTm9kZVRlcm1pbmFsTm9kZSIsInNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiZmlyc3RUZXJtaW5hbE5vZGUiLCJzZWNvbmRUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCIsInNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCIsIkxFRlRfQlJBQ0tFVCIsInNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnRSaWdodEJyYWNrZXQiLCJSSUdIVF9CUkFDS0VUIiwibm9uVGVybWluYWxOb2RlUnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJjYWxsYmFjayIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZU1hdGNoZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQU1nQkEseUNBQXlDO2VBQXpDQTs7SUFpQ0FDLGdDQUFnQztlQUFoQ0E7OztxQkFyQ3FCO3lCQUNEO3lCQUNnRDtBQUU3RSxTQUFTRCwwQ0FBMENFLFVBQVUsRUFBRTtJQUNwRSxJQUFJQyw4QkFBOEIsSUFBSTtJQUV0QyxJQUFNQyxtQkFBbUJGLFdBQVdHLE1BQU07SUFFMUMsSUFBSUQscUJBQXFCRSxpREFBc0MsRUFBRTtRQUMvRCxJQUFNQyxpQkFBaUJDLElBQUFBLFlBQUssRUFBQ04sYUFDdkJPLGlCQUFpQkMsSUFBQUEsWUFBSyxFQUFDUixhQUN2QlMsa0JBQWtCQyxJQUFBQSxhQUFNLEVBQUNWLGFBQ3pCVyw2QkFBNkJOLGVBQWVPLGNBQWMsSUFDMURDLDZCQUE2Qk4sZUFBZUssY0FBYyxJQUMxREUsaUNBQWlDTCxnQkFBZ0JNLGlCQUFpQjtRQUV4RSxJQUFJSiw4QkFBOEJHLGtDQUFrQ0QsNEJBQTRCO1lBQzlGLElBQU1HLGtCQUFrQlAsaUJBQ2xCUSxvQkFBb0JaLGdCQUNwQmEscUJBQXFCWCxnQkFDckJZLDBCQUEwQkgsZ0JBQWdCSSxXQUFXLElBQ3JEQywyQkFBMkJKLGtCQUFrQkssVUFBVSxJQUN2REMsNEJBQTRCTCxtQkFBbUJJLFVBQVUsSUFDekRFLHNDQUF1Q0gsNkJBQTZCSSx1QkFBWSxFQUNoRkMsd0NBQXlDSCw4QkFBOEJJLHdCQUFhLEVBQ3BGQywyQ0FBNENULDRCQUE0QlUsOEJBQW1CO1lBRWpHLElBQUlMLHVDQUF1Q0ksNENBQTRDRix1Q0FBdUM7Z0JBQzVIekIsOEJBQThCZSxpQkFBa0IsR0FBRztZQUNyRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPZjtBQUNUO0FBRU8sU0FBU0YsaUNBQWlDQyxVQUFVLEVBQUU4QixRQUFRLEVBQUU7SUFDckUsSUFBSUMscUNBQXFDLEtBQUs7SUFFOUMsSUFBTTlCLDhCQUE4QkgsMENBQTBDRTtJQUU5RSxJQUFJQyxnQ0FBZ0MsSUFBSSxFQUFFO1FBQ3hDOEIscUNBQXFDRCxTQUFTN0I7SUFDaEQsQ0FBQztJQUVELE9BQU84QjtBQUNUIn0=
|
package/lib/utilities/string.js
CHANGED
|
@@ -30,8 +30,8 @@ _export(exports, {
|
|
|
30
30
|
unqualifiedStatementNodeFromUnqualifiedStatementString: function() {
|
|
31
31
|
return unqualifiedStatementNodeFromUnqualifiedStatementString;
|
|
32
32
|
},
|
|
33
|
-
|
|
34
|
-
return
|
|
33
|
+
conditionalIndicativeNodeFromConditionalIndicativeString: function() {
|
|
34
|
+
return conditionalIndicativeNodeFromConditionalIndicativeString;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
var _constants = require("../constants");
|
|
@@ -87,9 +87,9 @@ function unqualifiedStatementNodeFromUnqualifiedStatementString(unqualifiedState
|
|
|
87
87
|
var ruleName = _ruleNames.UNQUALIFIED_STATEMENT_RULE_NAME, content = unqualifiedStatementString, node = releaseContext.nodeFromContentAndRuleName(content, ruleName), unqualifiedStatementNode = node; ///
|
|
88
88
|
return unqualifiedStatementNode;
|
|
89
89
|
}
|
|
90
|
-
function
|
|
91
|
-
var ruleName = _ruleNames.
|
|
92
|
-
return
|
|
90
|
+
function conditionalIndicativeNodeFromConditionalIndicativeString(conditionalIndicativeString, releaseContext) {
|
|
91
|
+
var ruleName = _ruleNames.CONDITIONAL_INDICATIVE_RULE_NAME, content = conditionalIndicativeString, node = releaseContext.nodeFromContentAndRuleName(content, ruleName), conditionalIndicativeNode = node; ///
|
|
92
|
+
return conditionalIndicativeNode;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDT01NQSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFRFUk1fUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTkRJVElPTkFMX0lORElDQVRJVkVfUlVMRV9OQU1FLFxuICAgICAgICAgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUV9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudFwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlQXNTdHJpbmcobm9kZSkge1xuICBsZXQgc3RyaW5nID0gbnVsbDtcblxuICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgIHN0cmluZyA9IGNvbnRlbnQ7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpO1xuXG4gICAgICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKGNoaWxkTm9kZSk7XG5cbiAgICAgICAgc3RyaW5nID0gKHN0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgIG5vZGVTdHJpbmcgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgYCR7c3RyaW5nfSR7bm9kZVN0cmluZ31gO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzQXNTdHJpbmcobm9kZXMpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9kZXMucmVkdWNlKChzdHJpbmcsIG5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gICAgaWYgKHN0cmluZyA9PT0gbnVsbCkge1xuICAgICAgc3RyaW5nID0gbm9kZVN0cmluZzsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHtDT01NQX0ke25vZGVTdHJpbmd9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybU5vZGVGcm9tVGVybVN0cmluZyh0ZXJtU3RyaW5nLCByZWxlYXNlQ29udGV4dCkge1xuICBjb25zdCBydWxlTmFtZSA9IFRFUk1fUlVMRV9OQU1FLFxuICAgICAgICBjb250ZW50ID0gdGVybVN0cmluZywgLy8vXG4gICAgICAgIG5vZGUgPSByZWxlYXNlQ29udGV4dC5ub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSksXG4gICAgICAgIHRlcm1Ob2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiB0ZXJtTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsTm9kZUZyb21MYWJlbFN0cmluZyhsYWJlbFN0cmluZywgcmVsZWFzZUNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGxhYmVsU3RyaW5nLCAvLy9cbiAgICAgICAgcnVsZU5hbWUgPSBMQUJFTF9SVUxFX05BTUUsXG4gICAgICAgIG5vZGUgPSByZWxlYXNlQ29udGV4dC5ub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSksXG4gICAgICAgIGxhYmVsTm9kZSA9IG5vZGU7IC8vL1xuXG4gIHJldHVybiBsYWJlbE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgY29udGVudCA9IGAke3N0YXRlbWVudFN0cmluZ31cbmAsXG4gICAgICAgIG5vZGUgPSByZWxlYXNlQ29udGV4dC5ub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiBzdGF0ZW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCkge1xuICBjb25zdCBydWxlTmFtZSA9IFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICBjb250ZW50ID0gYCR7bWV0YXN0YXRlbWVudFN0cmluZ31cbmAsXG4gICAgICAgIG5vZGUgPSByZWxlYXNlQ29udGV4dC5ub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcodW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgY29udGVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgbm9kZSA9IHJlbGVhc2VDb250ZXh0Lm5vZGVGcm9tQ29udGVudEFuZFJ1bGVOYW1lKGNvbnRlbnQsIHJ1bGVOYW1lKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlRnJvbUNvbmRpdGlvbmFsSW5kaWNhdGl2ZVN0cmluZyhjb25kaXRpb25hbEluZGljYXRpdmVTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gQ09ORElUSU9OQUxfSU5ESUNBVElWRV9SVUxFX05BTUUsXG4gICAgICAgIGNvbnRlbnQgPSBjb25kaXRpb25hbEluZGljYXRpdmVTdHJpbmcsIC8vL1xuICAgICAgICBub2RlID0gcmVsZWFzZUNvbnRleHQubm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUpLFxuICAgICAgICBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJ0ZXJtTm9kZUZyb21UZXJtU3RyaW5nIiwibGFiZWxOb2RlRnJvbUxhYmVsU3RyaW5nIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZUZyb21Db25kaXRpb25hbEluZGljYXRpdmVTdHJpbmciLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZSIsInN0cmluZyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJmb3JFYWNoIiwiY2hpbGROb2RlIiwibm9kZVN0cmluZyIsIm5vZGVzIiwicmVkdWNlIiwiQ09NTUEiLCJ0ZXJtU3RyaW5nIiwicmVsZWFzZUNvbnRleHQiLCJydWxlTmFtZSIsIlRFUk1fUlVMRV9OQU1FIiwibm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUiLCJ0ZXJtTm9kZSIsImxhYmVsU3RyaW5nIiwiTEFCRUxfUlVMRV9OQU1FIiwibGFiZWxOb2RlIiwic3RhdGVtZW50U3RyaW5nIiwiVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwiVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZVN0cmluZyIsIkNPTkRJVElPTkFMX0lORElDQVRJVkVfUlVMRV9OQU1FIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBYWdCQSxZQUFZO2VBQVpBOztJQTRCQUMsYUFBYTtlQUFiQTs7SUFnQkFDLHNCQUFzQjtlQUF0QkE7O0lBU0FDLHdCQUF3QjtlQUF4QkE7O0lBU0FDLGdDQUFnQztlQUFoQ0E7O0lBV0FDLHdDQUF3QztlQUF4Q0E7O0lBV0FDLHNEQUFzRDtlQUF0REE7O0lBU0FDLHdEQUF3RDtlQUF4REE7Ozt5QkF4R007cUJBQ0k7eUJBS3lCO0FBRW5ELElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxvQ0FDL0JDLHlCQUF5QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVsQyxTQUFTVCxhQUFhVyxJQUFJLEVBQUU7SUFDakMsSUFBSUMsU0FBUyxJQUFJO0lBRWpCLElBQUlELFNBQVMsSUFBSSxFQUFFO1FBQ2pCLElBQU1FLG1CQUFtQkYsS0FBS0csY0FBYztRQUU1QyxJQUFJRCxrQkFBa0I7WUFDcEIsSUFBTUUsZUFBZUosTUFDZkssVUFBVUQsYUFBYUUsVUFBVTtZQUV2Q0wsU0FBU0ksU0FBUyxHQUFHO1FBQ3ZCLE9BQU87WUFDTCxJQUFNRSxrQkFBa0JQLE1BQ2xCUSxhQUFhRCxnQkFBZ0JFLGFBQWE7WUFFaERELFdBQVdFLE9BQU8sQ0FBQyxTQUFDQyxXQUFjO2dCQUNoQyxJQUFNQyxhQUFhdkIsYUFBYXNCO2dCQUVoQ1YsU0FBUyxBQUFDQSxXQUFXLElBQUksR0FDZFcsYUFDQyxBQUFDLEdBQVdBLE9BQVRYLFFBQW9CLE9BQVhXLFdBQVk7WUFDdEM7UUFDRixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9YO0FBQ1Q7QUFFTyxTQUFTWCxjQUFjdUIsS0FBSyxFQUFFO0lBQ25DLElBQU1aLFNBQVNZLE1BQU1DLE1BQU0sQ0FBQyxTQUFDYixRQUFRRCxNQUFTO1FBQzVDLElBQU1ZLGFBQWF2QixhQUFhVztRQUVoQyxJQUFJQyxXQUFXLElBQUksRUFBRTtZQUNuQkEsU0FBU1csWUFBYSxHQUFHO1FBQzNCLE9BQU87WUFDTFgsU0FBUyxBQUFDLEdBQVdjLE9BQVRkLFFBQWlCVyxPQUFSRyxnQkFBSyxFQUFjLE9BQVhIO1FBQy9CLENBQUM7UUFFRCxPQUFPWDtJQUNULEdBQUcsSUFBSTtJQUVQLE9BQU9BO0FBQ1Q7QUFFTyxTQUFTVix1QkFBdUJ5QixVQUFVLEVBQUVDLGNBQWMsRUFBRTtJQUNqRSxJQUFNQyxXQUFXQyx5QkFBYyxFQUN6QmQsVUFBVVcsWUFDVmhCLE9BQU9pQixlQUFlRywwQkFBMEIsQ0FBQ2YsU0FBU2EsV0FDMURHLFdBQVdyQixNQUFPLEdBQUc7SUFFM0IsT0FBT3FCO0FBQ1Q7QUFFTyxTQUFTN0IseUJBQXlCOEIsV0FBVyxFQUFFTCxjQUFjLEVBQUU7SUFDcEUsSUFBTVosVUFBVWlCLGFBQ1ZKLFdBQVdLLDBCQUFlLEVBQzFCdkIsT0FBT2lCLGVBQWVHLDBCQUEwQixDQUFDZixTQUFTYSxXQUMxRE0sWUFBWXhCLE1BQU0sR0FBRztJQUUzQixPQUFPd0I7QUFDVDtBQUVPLFNBQVMvQixpQ0FBaUNnQyxlQUFlLEVBQUVSLGNBQWMsRUFBRTtJQUNoRixJQUFNQyxXQUFXUSwwQ0FBK0IsRUFDMUNyQixVQUFVLEFBQUMsR0FBa0IsT0FBaEJvQixpQkFBZ0IsT0FFN0J6QixPQUFPaUIsZUFBZUcsMEJBQTBCLENBQUNmLFNBQVNhLFdBQzFEUywyQkFBMkIzQixNQUMzQjRCLGdCQUFnQi9CLG1CQUFtQjhCO0lBRXpDLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTbEMseUNBQXlDbUMsbUJBQW1CLEVBQUVaLGNBQWMsRUFBRTtJQUM1RixJQUFNQyxXQUFXWSw4Q0FBbUMsRUFDOUN6QixVQUFVLEFBQUMsR0FBc0IsT0FBcEJ3QixxQkFBb0IsT0FFakM3QixPQUFPaUIsZUFBZUcsMEJBQTBCLENBQUNmLFNBQVNhLFdBQzFEYSwrQkFBK0IvQixNQUMvQmdDLG9CQUFvQmpDLHVCQUF1QmdDO0lBRWpELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTckMsdURBQXVEc0MsMEJBQTBCLEVBQUVoQixjQUFjLEVBQUU7SUFDakgsSUFBTUMsV0FBV1EsMENBQStCLEVBQzFDckIsVUFBVTRCLDRCQUNWakMsT0FBT2lCLGVBQWVHLDBCQUEwQixDQUFDZixTQUFTYSxXQUMxRFMsMkJBQTJCM0IsTUFBTyxHQUFHO0lBRTNDLE9BQU8yQjtBQUNUO0FBRU8sU0FBUy9CLHlEQUF5RHNDLDJCQUEyQixFQUFFakIsY0FBYyxFQUFFO0lBQ3BILElBQU1DLFdBQVdpQiwyQ0FBZ0MsRUFDM0M5QixVQUFVNkIsNkJBQ1ZsQyxPQUFPaUIsZUFBZUcsMEJBQTBCLENBQUNmLFNBQVNhLFdBQzFEa0IsNEJBQTRCcEMsTUFBTyxHQUFHO0lBRTVDLE9BQU9vQztBQUNUIn0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return verifyAntecedentOrAntecedents;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _assertion = /*#__PURE__*/ _interopRequireDefault(require("../assertion"));
|
|
12
|
+
var _antecedent = /*#__PURE__*/ _interopRequireDefault(require("../antecedent"));
|
|
13
|
+
var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
|
|
14
|
+
var _query = require("../utilities/query");
|
|
15
|
+
function _interopRequireDefault(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement"), unqualifiedStatementNodesQuery = (0, _query.nodesQuery)("/antecedent|antecedents/unqualifiedStatement");
|
|
21
|
+
function verifyAntecedentOrAntecedents(antecedentOrAntecedentsNode, antecedents, proofContext) {
|
|
22
|
+
var antecedentOrAntecedentsVerified;
|
|
23
|
+
proofContext.begin(antecedentOrAntecedentsNode);
|
|
24
|
+
var unqualifiedStatementNodes = unqualifiedStatementNodesQuery(antecedentOrAntecedentsNode);
|
|
25
|
+
antecedentOrAntecedentsVerified = unqualifiedStatementNodes.every(function(unqualifiedStatementNode) {
|
|
26
|
+
var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
27
|
+
if (unqualifiedStatementVerified) {
|
|
28
|
+
var statementNode = statementNodeQuery(unqualifiedStatementNode), assertion = _assertion.default.fromUnqualifiedStatementNode(unqualifiedStatementNode), antecedent = _antecedent.default.fromStatementNode(statementNode);
|
|
29
|
+
antecedents.push(antecedent);
|
|
30
|
+
proofContext.addAssertion(assertion);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
antecedentOrAntecedentsVerified ? proofContext.complete(antecedentOrAntecedentsNode) : proofContext.halt(antecedentOrAntecedentsNode);
|
|
35
|
+
return antecedentOrAntecedentsVerified;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYW50ZWNlZGVudE9yQW50ZWNlZGVudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBc3NlcnRpb24gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuaW1wb3J0IEFudGVjZWRlbnQgZnJvbSBcIi4uL2FudGVjZWRlbnRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnRcIiksXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2FudGVjZWRlbnR8YW50ZWNlZGVudHMvdW5xdWFsaWZpZWRTdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUFudGVjZWRlbnRPckFudGVjZWRlbnRzKGFudGVjZWRlbnRPckFudGVjZWRlbnRzTm9kZSwgYW50ZWNlZGVudHMsIHByb29mQ29udGV4dCkge1xuICBsZXQgYW50ZWNlZGVudE9yQW50ZWNlZGVudHNWZXJpZmllZDtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4oYW50ZWNlZGVudE9yQW50ZWNlZGVudHNOb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlc1F1ZXJ5KGFudGVjZWRlbnRPckFudGVjZWRlbnRzTm9kZSk7XG5cbiAgYW50ZWNlZGVudE9yQW50ZWNlZGVudHNWZXJpZmllZCA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMuZXZlcnkoKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgYXNzZXJ0aW9uID0gQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIGFudGVjZWRlbnQgPSBBbnRlY2VkZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBhbnRlY2VkZW50cy5wdXNoKGFudGVjZWRlbnQpO1xuXG4gICAgICBwcm9vZkNvbnRleHQuYWRkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgYW50ZWNlZGVudE9yQW50ZWNlZGVudHNWZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKGFudGVjZWRlbnRPckFudGVjZWRlbnRzTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoYW50ZWNlZGVudE9yQW50ZWNlZGVudHNOb2RlKTtcblxuICByZXR1cm4gYW50ZWNlZGVudE9yQW50ZWNlZGVudHNWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlBbnRlY2VkZW50T3JBbnRlY2VkZW50cyIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJhbnRlY2VkZW50T3JBbnRlY2VkZW50c05vZGUiLCJhbnRlY2VkZW50cyIsInByb29mQ29udGV4dCIsImFudGVjZWRlbnRPckFudGVjZWRlbnRzVmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMiLCJldmVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NlcnRpb24iLCJBc3NlcnRpb24iLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiYW50ZWNlZGVudCIsIkFudGVjZWRlbnQiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInB1c2giLCJhZGRBc3NlcnRpb24iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBd0JBOzs7OERBVEY7K0RBQ0M7Z0VBQ2dCO3FCQUVEOzs7Ozs7QUFFdEMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLG9DQUMvQkMsaUNBQWlDQyxJQUFBQSxpQkFBVSxFQUFDO0FBRW5DLFNBQVNKLDhCQUE4QkssMkJBQTJCLEVBQUVDLFdBQVcsRUFBRUMsWUFBWSxFQUFFO0lBQzVHLElBQUlDO0lBRUpELGFBQWFFLEtBQUssQ0FBQ0o7SUFFbkIsSUFBTUssNEJBQTRCUCwrQkFBK0JFO0lBRWpFRyxrQ0FBa0NFLDBCQUEwQkMsS0FBSyxDQUFDLFNBQUNDLDBCQUE2QjtRQUM5RixJQUFNQywrQkFBK0JDLElBQUFBLG9CQUEwQixFQUFDRiwwQkFBMEJMO1FBRTFGLElBQUlNLDhCQUE4QjtZQUNoQyxJQUFNRSxnQkFBZ0JkLG1CQUFtQlcsMkJBQ25DSSxZQUFZQyxrQkFBUyxDQUFDQyw0QkFBNEIsQ0FBQ04sMkJBQ25ETyxhQUFhQyxtQkFBVSxDQUFDQyxpQkFBaUIsQ0FBQ047WUFFaERULFlBQVlnQixJQUFJLENBQUNIO1lBRWpCWixhQUFhZ0IsWUFBWSxDQUFDUDtZQUUxQixPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0g7SUFFQVIsa0NBQ0VELGFBQWFpQixRQUFRLENBQUNuQiwrQkFDcEJFLGFBQWFrQixJQUFJLENBQUNwQiw0QkFBNEI7SUFFbEQsT0FBT0c7QUFDVCJ9
|
package/lib/verify/axiom.js
CHANGED
|
@@ -9,10 +9,11 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _axiom = /*#__PURE__*/ _interopRequireDefault(require("../axiom"));
|
|
12
|
-
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
13
12
|
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
13
|
+
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
14
|
+
var _conditinalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditinalIndicative"));
|
|
15
|
+
var _unconditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalIndicative"));
|
|
16
|
+
var _array = require("../utilities/array");
|
|
16
17
|
var _string = require("../utilities/string");
|
|
17
18
|
var _query = require("../utilities/query");
|
|
18
19
|
function _interopRequireDefault(obj) {
|
|
@@ -20,7 +21,7 @@ function _interopRequireDefault(obj) {
|
|
|
20
21
|
default: obj
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"),
|
|
24
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/axiom/label"), conditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/axiom/conditionalIndicative!"), unconditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/axiom/unconditionalIndicative!");
|
|
24
25
|
function verifyAxiom(axiomNode, fileContext) {
|
|
25
26
|
var axiomVerified = false;
|
|
26
27
|
fileContext.begin(axiomNode);
|
|
@@ -28,16 +29,16 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
28
29
|
fileContext.debug("Verifying the '".concat(labelsString, "' axiom..."));
|
|
29
30
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
30
31
|
if (labelsVerified) {
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
if (
|
|
34
|
-
|
|
32
|
+
var antecedents = [], consequents = [], conditionalIndicativeNode = conditionalIndicativeNodeQuery(axiomNode), unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(axiomNode);
|
|
33
|
+
var conditionalIndicativeVerified = false, unconditionalIndicativeVerified = false;
|
|
34
|
+
if (conditionalIndicativeNode !== null) {
|
|
35
|
+
conditionalIndicativeVerified = (0, _conditinalIndicative.default)(conditionalIndicativeNode, antecedents, consequents, proofContext);
|
|
35
36
|
}
|
|
36
|
-
if (
|
|
37
|
-
|
|
37
|
+
if (unconditionalIndicativeNode !== null) {
|
|
38
|
+
unconditionalIndicativeVerified = (0, _unconditionalIndicative.default)(unconditionalIndicativeNode, consequents, proofContext);
|
|
38
39
|
}
|
|
39
|
-
if (
|
|
40
|
-
var axiom = _axiom.default.
|
|
40
|
+
if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
|
|
41
|
+
var firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, axiom = _axiom.default.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
41
42
|
fileContext.addAxiom(axiom);
|
|
42
43
|
axiomVerified = true;
|
|
43
44
|
}
|
|
@@ -45,8 +46,8 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
45
46
|
if (axiomVerified) {
|
|
46
47
|
fileContext.info("Verified the '".concat(labelsString, "' axiom."));
|
|
47
48
|
}
|
|
48
|
-
axiomVerified ? fileContext.complete(axiomNode) : fileContext.
|
|
49
|
+
axiomVerified ? fileContext.complete(axiomNode) : fileContext.complete(axiomNode);
|
|
49
50
|
return axiomVerified;
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlDb25kaXRpb25hbEluZGljYXRpdmUgZnJvbSBcIi4uL3ZlcmlmeS9jb25kaXRpbmFsSW5kaWNhdGl2ZVwiO1xuaW1wb3J0IHZlcmlmeVVuY29uZGl0aW9uYWxJbmRpY2F0aXZlIGZyb20gXCIuLi92ZXJpZnkvdW5jb25kaXRpb25hbEluZGljYXRpdmVcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2Rlc0FzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9heGlvbS9sYWJlbFwiKSxcbiAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9heGlvbS9jb25kaXRpb25hbEluZGljYXRpdmUhXCIpLFxuICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb20vdW5jb25kaXRpb25hbEluZGljYXRpdmUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlBeGlvbShheGlvbU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBheGlvbVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4oYXhpb21Ob2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KGF4aW9tTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IG5vZGVzQXNTdHJpbmcobGFiZWxOb2RlcyksXG4gICAgICAgIHByb29mQ29udGV4dCA9IFByb29mQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpO1xuXG4gIGZpbGVDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsc1N0cmluZ30nIGF4aW9tLi4uYCk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGFudGVjZWRlbnRzID0gW10sXG4gICAgICAgICAgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlID0gY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5KGF4aW9tTm9kZSksXG4gICAgICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlID0gdW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkoYXhpb21Ob2RlKTtcblxuICAgIGxldCBjb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGZhbHNlLFxuICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlICE9PSBudWxsKSB7XG4gICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgfHwgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCkge1xuICAgICAgY29uc3QgZmlyc3RDb25zZXF1ZW50ID0gZmlyc3QoY29uc2VxdWVudHMpLFxuICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQobGFiZWxzLCBhbnRlY2VkZW50cywgY29uc2VxdWVudCk7XG5cbiAgICAgIGZpbGVDb250ZXh0LmFkZEF4aW9tKGF4aW9tKTtcblxuICAgICAgYXhpb21WZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKGF4aW9tVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgYXhpb20uYCk7XG4gIH1cblxuICBheGlvbVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShheGlvbU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKGF4aW9tTm9kZSk7XG5cbiAgcmV0dXJuIGF4aW9tVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5QXhpb20iLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkiLCJheGlvbU5vZGUiLCJmaWxlQ29udGV4dCIsImF4aW9tVmVyaWZpZWQiLCJiZWdpbiIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwicHJvb2ZDb250ZXh0IiwiUHJvb2ZDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZGVidWciLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImFudGVjZWRlbnRzIiwiY29uc2VxdWVudHMiLCJjb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJ1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIiwidmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIiwidmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJheGlvbSIsIkF4aW9tIiwiZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudCIsImFkZEF4aW9tIiwiaW5mbyIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUF3QkE7OzswREFkTjswREFDTzsyREFDQTt5RUFDZTs0RUFDRTtxQkFFcEI7c0JBQ1E7cUJBQ1E7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsaUJBQzdCQyxpQ0FBaUNDLElBQUFBLGdCQUFTLEVBQUMsa0NBQzNDQyxtQ0FBbUNELElBQUFBLGdCQUFTLEVBQUM7QUFFcEMsU0FBU0osWUFBWU0sU0FBUyxFQUFFQyxXQUFXLEVBQUU7SUFDMUQsSUFBSUMsZ0JBQWdCLEtBQUs7SUFFekJELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVQsZ0JBQWdCSyxZQUM3QkssZUFBZUMsSUFBQUEscUJBQWEsRUFBQ0YsYUFDN0JHLGVBQWVDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDUjtJQUVsREEsWUFBWVMsS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJMLGNBQWE7SUFFakQsSUFBTU0sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVCxZQUFZTyxRQUFRVjtJQUV4RCxJQUFJVyxnQkFBZ0I7UUFDbEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxjQUFjLEVBQUUsRUFDaEJDLDRCQUE0Qm5CLCtCQUErQkcsWUFDM0RpQiw4QkFBOEJsQixpQ0FBaUNDO1FBRXJFLElBQUlrQixnQ0FBZ0MsS0FBSyxFQUN2Q0Msa0NBQWtDLEtBQUs7UUFFekMsSUFBSUgsOEJBQThCLElBQUksRUFBRTtZQUN0Q0UsZ0NBQWdDRSxJQUFBQSw2QkFBMkIsRUFBQ0osMkJBQTJCRixhQUFhQyxhQUFhUjtRQUNuSCxDQUFDO1FBRUQsSUFBSVUsZ0NBQWdDLElBQUksRUFBRTtZQUN4Q0Usa0NBQWtDRSxJQUFBQSxnQ0FBNkIsRUFBQ0osNkJBQTZCRixhQUFhUjtRQUM1RyxDQUFDO1FBRUQsSUFBSVcsaUNBQWlDQyxpQ0FBaUM7WUFDcEUsSUFBTUcsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNSLGNBQ3hCUyxhQUFhRixpQkFDYkcsUUFBUUMsY0FBSyxDQUFDQyxrQ0FBa0MsQ0FBQ2hCLFFBQVFHLGFBQWFVO1lBRTVFdkIsWUFBWTJCLFFBQVEsQ0FBQ0g7WUFFckJ2QixnQkFBZ0IsSUFBSTtRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGVBQWU7UUFDakJELFlBQVk0QixJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYnhCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxnQkFDRUQsWUFBWTZCLFFBQVEsQ0FBQzlCLGFBQ25CQyxZQUFZNkIsUUFBUSxDQUFDOUIsVUFBVTtJQUVuQyxPQUFPRTtBQUNUIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return verifyConditionalIndicative;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("../verify/consequent"));
|
|
12
|
+
var _antecedentOrAntecedents = /*#__PURE__*/ _interopRequireDefault(require("../verify/antecedentOrAntecedents"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
function _interopRequireDefault(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var consequentNodeQuery = (0, _query.nodeQuery)("/conditionalIndicative/consequent!"), antecedentOrAntecedentsNodeQuery = (0, _query.nodeQuery)("/conditionalIndicative/antecedent|antecedents!");
|
|
20
|
+
function verifyConditionalIndicative(conditionalIndicativeNode, antecedents, consequents, proofContext) {
|
|
21
|
+
var conditionalIndicativeVerified = false;
|
|
22
|
+
proofContext.begin(conditionalIndicativeNode);
|
|
23
|
+
var consequentNode = consequentNodeQuery(conditionalIndicativeNode), antecedentOrAntecedentsNode = antecedentOrAntecedentsNodeQuery(conditionalIndicativeNode), antecedentOrAntecedentsVerified = (0, _antecedentOrAntecedents.default)(antecedentOrAntecedentsNode, antecedents, proofContext);
|
|
24
|
+
if (antecedentOrAntecedentsVerified) {
|
|
25
|
+
var consequentVerified = (0, _consequent.default)(consequentNode, consequents, proofContext);
|
|
26
|
+
conditionalIndicativeVerified = consequentVerified; ///
|
|
27
|
+
}
|
|
28
|
+
conditionalIndicativeVerified ? proofContext.complete(conditionalIndicativeNode) : proofContext.halt(conditionalIndicativeNode);
|
|
29
|
+
return conditionalIndicativeVerified;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uZGl0aW5hbEluZGljYXRpdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlDb25zZXF1ZW50IGZyb20gXCIuLi92ZXJpZnkvY29uc2VxdWVudFwiO1xuaW1wb3J0IHZlcmlmeUFudGVjZWRlbnRPckFudGVjZWRlbnRzIGZyb20gXCIuLi92ZXJpZnkvYW50ZWNlZGVudE9yQW50ZWNlZGVudHNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmRpdGlvbmFsSW5kaWNhdGl2ZS9jb25zZXF1ZW50IVwiKSxcbiAgICAgIGFudGVjZWRlbnRPckFudGVjZWRlbnRzTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmRpdGlvbmFsSW5kaWNhdGl2ZS9hbnRlY2VkZW50fGFudGVjZWRlbnRzIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBjb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbihjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKTtcblxuICBjb25zdCBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSksXG4gICAgICAgIGFudGVjZWRlbnRPckFudGVjZWRlbnRzTm9kZSA9IGFudGVjZWRlbnRPckFudGVjZWRlbnRzTm9kZVF1ZXJ5KGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUpLFxuICAgICAgICBhbnRlY2VkZW50T3JBbnRlY2VkZW50c1ZlcmlmaWVkID0gdmVyaWZ5QW50ZWNlZGVudE9yQW50ZWNlZGVudHMoYW50ZWNlZGVudE9yQW50ZWNlZGVudHNOb2RlLCBhbnRlY2VkZW50cywgcHJvb2ZDb250ZXh0KTtcblxuICBpZiAoYW50ZWNlZGVudE9yQW50ZWNlZGVudHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeUNvbnNlcXVlbnQoY29uc2VxdWVudE5vZGUsIGNvbnNlcXVlbnRzLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgPSBjb25zZXF1ZW50VmVyaWZpZWQ7ICAvLy9cbiAgfVxuXG4gIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSk7XG5cbiAgcmV0dXJuIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJhbnRlY2VkZW50T3JBbnRlY2VkZW50c05vZGVRdWVyeSIsImNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUiLCJhbnRlY2VkZW50cyIsImNvbnNlcXVlbnRzIiwicHJvb2ZDb250ZXh0IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJiZWdpbiIsImNvbnNlcXVlbnROb2RlIiwiYW50ZWNlZGVudE9yQW50ZWNlZGVudHNOb2RlIiwiYW50ZWNlZGVudE9yQW50ZWNlZGVudHNWZXJpZmllZCIsInZlcmlmeUFudGVjZWRlbnRPckFudGVjZWRlbnRzIiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsrREFSSzs0RUFDYTtxQkFFaEI7Ozs7OztBQUUxQixJQUFNQyxzQkFBc0JDLElBQUFBLGdCQUFTLEVBQUMsdUNBQ2hDQyxtQ0FBbUNELElBQUFBLGdCQUFTLEVBQUM7QUFFcEMsU0FBU0YsNEJBQTRCSSx5QkFBeUIsRUFBRUMsV0FBVyxFQUFFQyxXQUFXLEVBQUVDLFlBQVksRUFBRTtJQUNySCxJQUFJQyxnQ0FBZ0MsS0FBSztJQUV6Q0QsYUFBYUUsS0FBSyxDQUFDTDtJQUVuQixJQUFNTSxpQkFBaUJULG9CQUFvQkcsNEJBQ3JDTyw4QkFBOEJSLGlDQUFpQ0MsNEJBQy9EUSxrQ0FBa0NDLElBQUFBLGdDQUE2QixFQUFDRiw2QkFBNkJOLGFBQWFFO0lBRWhILElBQUlLLGlDQUFpQztRQUNuQyxJQUFNRSxxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDTCxnQkFBZ0JKLGFBQWFDO1FBRXpFQyxnQ0FBZ0NNLG9CQUFxQixHQUFHO0lBQzFELENBQUM7SUFFRE4sZ0NBQ0VELGFBQWFTLFFBQVEsQ0FBQ1osNkJBQ3BCRyxhQUFhVSxJQUFJLENBQUNiLDBCQUEwQjtJQUVoRCxPQUFPSTtBQUNUIn0=
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return verifyConditionalIndicative;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
|
|
@@ -15,19 +15,19 @@ function _interopRequireDefault(obj) {
|
|
|
15
15
|
default: obj
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
var unqualifiedStatementNodesQuery = (0, _query.nodesQuery)("/
|
|
19
|
-
function
|
|
20
|
-
var
|
|
21
|
-
proofContext.begin(
|
|
22
|
-
var unqualifiedStatementNodes = unqualifiedStatementNodesQuery(
|
|
23
|
-
|
|
18
|
+
var unqualifiedStatementNodesQuery = (0, _query.nodesQuery)("/conditionalIndicative/unqualifiedStatement");
|
|
19
|
+
function verifyConditionalIndicative(conditionalIndicativeNode, proofContext) {
|
|
20
|
+
var conditionalIndicativeVerified;
|
|
21
|
+
proofContext.begin(conditionalIndicativeNode);
|
|
22
|
+
var unqualifiedStatementNodes = unqualifiedStatementNodesQuery(conditionalIndicativeNode);
|
|
23
|
+
conditionalIndicativeVerified = unqualifiedStatementNodes.every(function(unqualifiedStatementNode) {
|
|
24
24
|
var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
25
25
|
if (unqualifiedStatementVerified) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
|
|
30
|
-
return
|
|
29
|
+
conditionalIndicativeVerified ? proofContext.complete(conditionalIndicativeNode) : proofContext.halt(conditionalIndicativeNode);
|
|
30
|
+
return conditionalIndicativeVerified;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uZGl0aW9uYWxJbmRpY2F0aXZlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9zdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb25kaXRpb25hbEluZGljYXRpdmUvdW5xdWFsaWZpZWRTdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZShjb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbihjb25kaXRpb25hbEluZGljYXRpdmVOb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlc1F1ZXJ5KGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUpO1xuXG4gIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlcy5ldmVyeSgodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSkgOlxuICAgICAgcHJvb2ZDb250ZXh0LmhhbHQoY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSk7XG5cbiAgcmV0dXJuIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbmRpdGlvbmFsSW5kaWNhdGl2ZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwicHJvb2ZDb250ZXh0IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMiLCJldmVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztnRUFOZTtxQkFFWjs7Ozs7O0FBRTNCLElBQU1DLGlDQUFpQ0MsSUFBQUEsaUJBQVUsRUFBQztBQUVuQyxTQUFTRiw0QkFBNEJHLHlCQUF5QixFQUFFQyxZQUFZLEVBQUU7SUFDM0YsSUFBSUM7SUFFSkQsYUFBYUUsS0FBSyxDQUFDSDtJQUVuQixJQUFNSSw0QkFBNEJOLCtCQUErQkU7SUFFakVFLGdDQUFnQ0UsMEJBQTBCQyxLQUFLLENBQUMsU0FBQ0MsMEJBQTZCO1FBQzVGLElBQU1DLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNGLDBCQUEwQkw7UUFFMUYsSUFBSU0sOEJBQThCO1lBQ2hDLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVBTCxnQ0FDRUQsYUFBYVEsUUFBUSxDQUFDVCw2QkFDcEJDLGFBQWFTLElBQUksQ0FBQ1YsMEJBQTBCO0lBRWhELE9BQU9FO0FBQ1QifQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return verifyConsequent;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _consequent = /*#__PURE__*/ _interopRequireDefault(require("../consequent"));
|
|
12
|
+
var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
function _interopRequireDefault(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/*/statement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/consequent/unqualifiedStatement!");
|
|
20
|
+
function verifyConsequent(consequentNode, consequents, proofContext) {
|
|
21
|
+
var consequentVerified = false;
|
|
22
|
+
proofContext.begin(consequentNode);
|
|
23
|
+
var unqualifiedStatementNode = unqualifiedStatementNodeQuery(consequentNode);
|
|
24
|
+
if (unqualifiedStatementNode !== null) {
|
|
25
|
+
var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
26
|
+
if (unqualifiedStatementVerified) {
|
|
27
|
+
var statementNode = statementNodeQuery(unqualifiedStatementNode), consequent = _consequent.default.fromStatementNode(statementNode);
|
|
28
|
+
consequents.push(consequent);
|
|
29
|
+
consequentVerified = true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
consequentVerified ? proofContext.complete(consequentNode) : proofContext.halt(consequentNode);
|
|
33
|
+
return consequentVerified;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uc2VxdWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnNlcXVlbnQgZnJvbSBcIi4uL2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3N0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zZXF1ZW50L3VucXVhbGlmaWVkU3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50Tm9kZSwgY29uc2VxdWVudHMsIHByb29mQ29udGV4dCkge1xuICBsZXQgY29uc2VxdWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKGNvbnNlcXVlbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShjb25zZXF1ZW50Tm9kZSk7XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgY29uc2VxdWVudCA9IENvbnNlcXVlbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGNvbnNlcXVlbnRzLnB1c2goY29uc2VxdWVudCk7XG5cbiAgICAgIGNvbnNlcXVlbnRWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgY29uc2VxdWVudFZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUoY29uc2VxdWVudE5vZGUpIDpcbiAgICAgIHByb29mQ29udGV4dC5oYWx0KGNvbnNlcXVlbnROb2RlKTtcblxuICByZXR1cm4gY29uc2VxdWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbnNlcXVlbnQiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsImNvbnNlcXVlbnROb2RlIiwiY29uc2VxdWVudHMiLCJwcm9vZkNvbnRleHQiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJiZWdpbiIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJjb25zZXF1ZW50IiwiQ29uc2VxdWVudCIsImZyb21TdGF0ZW1lbnROb2RlIiwicHVzaCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsrREFSRDtnRUFDZ0I7cUJBRWI7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsa0JBQy9CQyxnQ0FBZ0NELElBQUFBLGdCQUFTLEVBQUM7QUFFakMsU0FBU0YsaUJBQWlCSSxjQUFjLEVBQUVDLFdBQVcsRUFBRUMsWUFBWSxFQUFFO0lBQ2xGLElBQUlDLHFCQUFxQixLQUFLO0lBRTlCRCxhQUFhRSxLQUFLLENBQUNKO0lBRW5CLElBQU1LLDJCQUEyQk4sOEJBQThCQztJQUUvRCxJQUFJSyw2QkFBNkIsSUFBSSxFQUFFO1FBQ3JDLElBQU1DLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNGLDBCQUEwQkg7UUFFMUYsSUFBSUksOEJBQThCO1lBQ2hDLElBQU1FLGdCQUFnQlgsbUJBQW1CUSwyQkFDbkNJLGFBQWFDLG1CQUFVLENBQUNDLGlCQUFpQixDQUFDSDtZQUVoRFAsWUFBWVcsSUFBSSxDQUFDSDtZQUVqQk4scUJBQXFCLElBQUk7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFREEscUJBQ0VELGFBQWFXLFFBQVEsQ0FBQ2Isa0JBQ3BCRSxhQUFhWSxJQUFJLENBQUNkLGVBQWU7SUFFckMsT0FBT0c7QUFDVCJ9
|
package/lib/verify/lemma.js
CHANGED
|
@@ -9,10 +9,13 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _lemma = /*#__PURE__*/ _interopRequireDefault(require("../lemma"));
|
|
12
|
+
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../verify/proof"));
|
|
13
|
+
var _proof1 = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
12
14
|
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
15
|
+
var _conditinalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/conditinalIndicative"));
|
|
16
|
+
var _unconditionalIndicative = /*#__PURE__*/ _interopRequireDefault(require("../verify/unconditionalIndicative"));
|
|
17
|
+
var _array = require("../utilities/array");
|
|
18
|
+
var _constants = require("../constants");
|
|
16
19
|
var _string = require("../utilities/string");
|
|
17
20
|
var _query = require("../utilities/query");
|
|
18
21
|
function _interopRequireDefault(obj) {
|
|
@@ -20,33 +23,36 @@ function _interopRequireDefault(obj) {
|
|
|
20
23
|
default: obj
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/lemma/label"),
|
|
26
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/lemma/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/lemma/label"), conditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/lemma/conditionalIndicative!"), unconditionalIndicativeNodeQuery = (0, _query.nodeQuery)("/lemma/unconditionalIndicative!");
|
|
24
27
|
function verifyLemma(lemmaNode, fileContext) {
|
|
25
28
|
var lemmaVerified = false;
|
|
26
29
|
fileContext.begin(lemmaNode);
|
|
27
|
-
var labelNodes = labelNodesQuery(lemmaNode), labelsString = (0, _string.nodesAsString)(labelNodes), proofContext =
|
|
28
|
-
fileContext.debug("Verifying the '".concat(labelsString, "' lemma..."));
|
|
30
|
+
var labelNodes = labelNodesQuery(lemmaNode), labelsString = (0, _string.nodesAsString)(labelNodes), proofContext = _proof1.default.fromFileContext(fileContext);
|
|
31
|
+
labelsString === _constants.EMPTY_STRING ? fileContext.debug("Verifying a lemma...") : fileContext.debug("Verifying the '".concat(labelsString, "' lemma..."));
|
|
29
32
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
30
33
|
if (labelsVerified) {
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
if (
|
|
34
|
-
|
|
34
|
+
var antecedents = [], consequents = [], conditionalIndicativeNode = conditionalIndicativeNodeQuery(lemmaNode), unconditionalIndicativeNode = unconditionalIndicativeNodeQuery(lemmaNode);
|
|
35
|
+
var conditionalIndicativeVerified = false, unconditionalIndicativeVerified = false;
|
|
36
|
+
if (conditionalIndicativeNode !== null) {
|
|
37
|
+
conditionalIndicativeVerified = (0, _conditinalIndicative.default)(conditionalIndicativeNode, antecedents, consequents, proofContext);
|
|
35
38
|
}
|
|
36
|
-
if (
|
|
37
|
-
|
|
39
|
+
if (unconditionalIndicativeNode !== null) {
|
|
40
|
+
unconditionalIndicativeVerified = (0, _unconditionalIndicative.default)(unconditionalIndicativeNode, consequents, proofContext);
|
|
38
41
|
}
|
|
39
|
-
if (
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
if (conditionalIndicativeVerified || unconditionalIndicativeVerified) {
|
|
43
|
+
var proofNode = proofNodeQuery(lemmaNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, proofVerified = (0, _proof.default)(proofNode, consequent, proofContext);
|
|
44
|
+
if (proofVerified) {
|
|
45
|
+
var lemma = _lemma.default.fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent);
|
|
46
|
+
fileContext.addLemma(lemma);
|
|
47
|
+
lemmaVerified = true;
|
|
48
|
+
}
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
if (lemmaVerified) {
|
|
46
|
-
fileContext.info("Verified the '".concat(labelsString, "' lemma."));
|
|
52
|
+
labelsString === _constants.EMPTY_STRING ? fileContext.info("Verified the lemma.") : fileContext.info("Verified the '".concat(labelsString, "' lemma."));
|
|
47
53
|
}
|
|
48
|
-
lemmaVerified ? fileContext.complete(lemmaNode) : fileContext.
|
|
54
|
+
lemmaVerified ? fileContext.complete(lemmaNode) : fileContext.complete(lemmaNode);
|
|
49
55
|
return lemmaVerified;
|
|
50
56
|
}
|
|
51
57
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMZW1tYSBmcm9tIFwiLi4vbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIGZyb20gXCIuLi92ZXJpZnkvY29uZGl0aW5hbEluZGljYXRpdmVcIjtcbmltcG9ydCB2ZXJpZnlVbmNvbmRpdGlvbmFsSW5kaWNhdGl2ZSBmcm9tIFwiLi4vdmVyaWZ5L3VuY29uZGl0aW9uYWxJbmRpY2F0aXZlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbGVtbWEvbGFiZWxcIiksXG4gICAgICBjb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbGVtbWEvY29uZGl0aW9uYWxJbmRpY2F0aXZlIVwiKSxcbiAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xlbW1hL3VuY29uZGl0aW9uYWxJbmRpY2F0aXZlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TGVtbWEobGVtbWFOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbGVtbWFWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKGxlbW1hTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpLFxuICAgICAgICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICAobGFiZWxzU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIGEgbGVtbWEuLi5gKSA6XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBsZW1tYS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBhbnRlY2VkZW50cyA9IFtdLFxuICAgICAgICAgIGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSA9IGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGVRdWVyeShsZW1tYU5vZGUpLFxuICAgICAgICAgIHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZSA9IHVuY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5KGxlbW1hTm9kZSk7XG5cbiAgICBsZXQgY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlKGNvbmRpdGlvbmFsSW5kaWNhdGl2ZU5vZGUsIGFudGVjZWRlbnRzLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlICE9PSBudWxsKSB7XG4gICAgICB1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkID0gdmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUodW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlLCBjb25zZXF1ZW50cywgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQgfHwgdW5jb25kaXRpb25hbEluZGljYXRpdmVWZXJpZmllZCkge1xuICAgICAgY29uc3QgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkobGVtbWFOb2RlKSxcbiAgICAgICAgICAgIGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgcHJvb2ZWZXJpZmllZCA9IHZlcmlmeVByb29mKHByb29mTm9kZSwgY29uc2VxdWVudCwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbGVtbWEgPSBMZW1tYS5mcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50KGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmFkZExlbW1hKGxlbW1hKTtcblxuICAgICAgICBsZW1tYVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlIGxlbW1hLmApIDpcbiAgICAgICAgZmlsZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIGxlbW1hLmApO1xuICB9XG5cbiAgbGVtbWFWZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUobGVtbWFOb2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShsZW1tYU5vZGUpO1xuXG4gIHJldHVybiBsZW1tYVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUxlbW1hIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlTm9kZVF1ZXJ5IiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlUXVlcnkiLCJsZW1tYU5vZGUiLCJmaWxlQ29udGV4dCIsImxlbW1hVmVyaWZpZWQiLCJiZWdpbiIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwicHJvb2ZDb250ZXh0IiwiUHJvb2ZDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiRU1QVFlfU1RSSU5HIiwiZGVidWciLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImFudGVjZWRlbnRzIiwiY29uc2VxdWVudHMiLCJjb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwidW5jb25kaXRpb25hbEluZGljYXRpdmVOb2RlIiwiY29uZGl0aW9uYWxJbmRpY2F0aXZlVmVyaWZpZWQiLCJ1bmNvbmRpdGlvbmFsSW5kaWNhdGl2ZVZlcmlmaWVkIiwidmVyaWZ5Q29uZGl0aW9uYWxJbmRpY2F0aXZlIiwidmVyaWZ5VW5jb25kaXRpb25hbEluZGljYXRpdmUiLCJwcm9vZk5vZGUiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsImNvbnNlcXVlbnQiLCJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UHJvb2YiLCJsZW1tYSIsIkxlbW1hIiwiZnJvbUxhYmVsc0FudGVjZWRlbnRzQW5kQ29uc2VxdWVudCIsImFkZExlbW1hIiwiaW5mbyIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQkE7OztlQUF3QkE7OzswREFqQk47MERBQ007MkRBQ0M7MkRBQ0E7eUVBQ2U7NEVBQ0U7cUJBRXBCO3lCQUNPO3NCQUNDO3FCQUNROzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLGtCQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsaUNBQWlDSCxJQUFBQSxnQkFBUyxFQUFDLGtDQUMzQ0ksbUNBQW1DSixJQUFBQSxnQkFBUyxFQUFDO0FBRXBDLFNBQVNGLFlBQVlPLFNBQVMsRUFBRUMsV0FBVyxFQUFFO0lBQzFELElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNIO0lBRWxCLElBQU1JLGFBQWFSLGdCQUFnQkksWUFDN0JLLGVBQWVDLElBQUFBLHFCQUFhLEVBQUNGLGFBQzdCRyxlQUFlQyxlQUFZLENBQUNDLGVBQWUsQ0FBQ1I7SUFFakRJLGlCQUFpQkssdUJBQVksR0FDNUJULFlBQVlVLEtBQUssQ0FBRSwwQkFDakJWLFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiTixjQUFhLGNBQVk7SUFFakUsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDVixZQUFZUSxRQUFRWDtJQUV4RCxJQUFJWSxnQkFBZ0I7UUFDbEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxjQUFjLEVBQUUsRUFDaEJDLDRCQUE0Qm5CLCtCQUErQkUsWUFDM0RrQiw4QkFBOEJuQixpQ0FBaUNDO1FBRXJFLElBQUltQixnQ0FBZ0MsS0FBSyxFQUNyQ0Msa0NBQWtDLEtBQUs7UUFFM0MsSUFBSUgsOEJBQThCLElBQUksRUFBRTtZQUN0Q0UsZ0NBQWdDRSxJQUFBQSw2QkFBMkIsRUFBQ0osMkJBQTJCRixhQUFhQyxhQUFhVDtRQUNuSCxDQUFDO1FBRUQsSUFBSVcsZ0NBQWdDLElBQUksRUFBRTtZQUN4Q0Usa0NBQWtDRSxJQUFBQSxnQ0FBNkIsRUFBQ0osNkJBQTZCRixhQUFhVDtRQUM1RyxDQUFDO1FBRUQsSUFBSVksaUNBQWlDQyxpQ0FBaUM7WUFDcEUsSUFBTUcsWUFBWTdCLGVBQWVNLFlBQzNCd0Isa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNULGNBQ3hCVSxhQUFhRixpQkFDYkcsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNMLFdBQVdHLFlBQVluQjtZQUV6RCxJQUFJb0IsZUFBZTtnQkFDakIsSUFBTUUsUUFBUUMsY0FBSyxDQUFDQyxrQ0FBa0MsQ0FBQ25CLFFBQVFHLGFBQWFXO2dCQUU1RXpCLFlBQVkrQixRQUFRLENBQUNIO2dCQUVyQjNCLGdCQUFnQixJQUFJO1lBQ3RCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGVBQWU7UUFDaEJHLGlCQUFpQkssdUJBQVksR0FDNUJULFlBQVlnQyxJQUFJLENBQUUseUJBQ2hCaEMsWUFBWWdDLElBQUksQ0FBQyxBQUFDLGlCQUE2QixPQUFiNUIsY0FBYSxZQUFVO0lBQy9ELENBQUM7SUFFREgsZ0JBQ0VELFlBQVlpQyxRQUFRLENBQUNsQyxhQUNuQkMsWUFBWWlDLFFBQVEsQ0FBQ2xDLFVBQVU7SUFFbkMsT0FBT0U7QUFDVCJ9
|
package/lib/verify/metaproof.js
CHANGED
|
@@ -18,7 +18,7 @@ function _interopRequireDefault(obj) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement!");
|
|
21
|
-
function verifyMetaproof(metaproofNode,
|
|
21
|
+
function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
|
|
22
22
|
var metaproofVerified = false;
|
|
23
23
|
metaproofContext.begin(metaproofNode);
|
|
24
24
|
var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofNode);
|
|
@@ -34,7 +34,7 @@ function verifyMetaproof(metaproofNode, metastatementNode, metaproofContext) {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
if (metaDerivationVerified || qualifiedMetastatementVerified) {
|
|
37
|
-
var lastMetaAssertion = metaproofContext.getLastMetaAssertion(), metaAssertion1 = lastMetaAssertion, metaAssertionMetastatementNode = metaAssertion1.getMetastatementNode(), metaAssertionMetastatementNodeMatches = matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode);
|
|
37
|
+
var lastMetaAssertion = metaproofContext.getLastMetaAssertion(), metaAssertion1 = lastMetaAssertion, metastatementNode = conclusion.getMetastatementNode(), metaAssertionMetastatementNode = metaAssertion1.getMetastatementNode(), metaAssertionMetastatementNodeMatches = matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode);
|
|
38
38
|
metaproofVerified = metaAssertionMetastatementNodeMatches; ///
|
|
39
39
|
}
|
|
40
40
|
metaproofVerified ? metaproofContext.complete(metaproofNode) : metaproofContext.complete(metaproofNode);
|
|
@@ -85,4 +85,4 @@ function matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminal
|
|
|
85
85
|
return metaAssertionNonTerminalNodeMatches;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vbWV0YUFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeU1ldGFEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvbWV0YURlcml2YXRpb25cIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuL21ldGFzdGF0ZW1lbnQvcXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL21ldGFEZXJpdmF0aW9uIVwiKSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhcHJvb2ZOb2RlKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpO1xuXG4gIGxldCBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gZmFsc2UsXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAobWV0YURlcml2YXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeU1ldGFEZXJpdmF0aW9uKG1ldGFEZXJpdmF0aW9uTm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG4gIH1cblxuICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21RdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcbiAgICB9XG4gIH1cblxuICBpZiAobWV0YURlcml2YXRpb25WZXJpZmllZCB8fCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBsYXN0TWV0YUFzc2VydGlvbiA9IG1ldGFwcm9vZkNvbnRleHQuZ2V0TGFzdE1ldGFBc3NlcnRpb24oKSxcbiAgICAgICAgICBtZXRhQXNzZXJ0aW9uID0gbGFzdE1ldGFBc3NlcnRpb24sIC8vL1xuICAgICAgICAgIG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFBc3NlcnRpb24uZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgbWV0YXByb29mVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YXByb29mTm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhcHJvb2ZOb2RlKTtcblxuICByZXR1cm4gbWV0YXByb29mVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUobWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlID0gbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSxcbiAgICAgICAgbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9kZShtZXRhQXNzZXJ0aW9uTm9kZSwgbm9kZSkge1xuICBsZXQgbWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBydWxlTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlID0gbWV0YUFzc2VydGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKTtcblxuICAgICAgbWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzID0gbWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlID0gbWV0YUFzc2VydGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgbWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzID0gbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9kZXMobWV0YUFzc2VydGlvbk5vZGVzLCBub2Rlcykge1xuICBsZXQgbWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoLFxuICAgICAgICBtZXRhQXNzZXJ0aW9uTm9kZXNMZW5ndGggPSBtZXRhQXNzZXJ0aW9uTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gbWV0YUFzc2VydGlvbk5vZGVzTGVuZ3RoKSB7XG4gICAgbWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbk5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgbWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFBc3NlcnRpb25Ob2RlLCBub2RlKTtcblxuICAgICAgaWYgKG1ldGFBc3NlcnRpb25Ob2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG1ldGFBc3NlcnRpb25Ob2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlKG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSkge1xuICBjb25zdCBtYXRjaGVzID0gbWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZS5tYXRjaCh0ZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gbWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9uVGVybWluYWxOb2RlKG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSkge1xuICBsZXQgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBtZXRhQXNzZXJ0aW9uUnVsZU5hbWUgPSBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gIGlmIChydWxlTmFtZSA9PT0gbWV0YUFzc2VydGlvblJ1bGVOYW1lKSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbWV0YUFzc2VydGlvbkNoaWxkTm9kZXMgPSBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob2RlcyA9IG1ldGFBc3NlcnRpb25DaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb2RlcyhtZXRhQXNzZXJ0aW9uTm9kZXMsIG5vZGVzKTtcblxuICAgIG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlczsgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXByb29mIiwibWV0YURlcml2YXRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YXByb29mTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFEZXJpdmF0aW9uVmVyaWZpZWQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlNZXRhRGVyaXZhdGlvbiIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21RdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsImFkZE1ldGFBc3NlcnRpb24iLCJsYXN0TWV0YUFzc2VydGlvbiIsImdldExhc3RNZXRhQXNzZXJ0aW9uIiwibWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSIsImNvbXBsZXRlIiwibWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZSIsIm5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUiLCJtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhUHJvb2ZOb2RlcyIsIm1ldGFBc3NlcnRpb25Ob2RlcyIsIm5vZGVzIiwibWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YUFzc2VydGlvbk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJtZXRhQXNzZXJ0aW9uUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm1ldGFBc3NlcnRpb25DaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2tFQVRFO21FQUNPOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0Msa0NBQWtDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxpQkFBaUIsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDMUYsSUFBSUMsb0JBQW9CLEtBQUs7SUFFN0JELGlCQUFpQkUsS0FBSyxDQUFDSjtJQUV2QixJQUFNSyxxQkFBcUJSLHdCQUF3QkcsZ0JBQzdDTSw2QkFBNkJQLGdDQUFnQ0M7SUFFbkUsSUFBSU8seUJBQXlCLEtBQUssRUFDOUJDLGlDQUFpQyxLQUFLO0lBRTFDLElBQUlILHVCQUF1QixJQUFJLEVBQUU7UUFDL0JFLHlCQUF5QkUsSUFBQUEsdUJBQW9CLEVBQUNKLG9CQUFvQkg7SUFDcEUsQ0FBQztJQUVELElBQUlJLCtCQUErQixJQUFJLEVBQUU7UUFDdkNFLGlDQUFpQ0UsSUFBQUEsa0JBQTRCLEVBQUNKLDRCQUE0Qko7UUFFMUYsSUFBSU0sZ0NBQWdDO1lBQ2xDLElBQU1HLGdCQUFnQkMsc0JBQWEsQ0FBQ0MsOEJBQThCLENBQUNQO1lBRW5FSixpQkFBaUJZLGdCQUFnQixDQUFDSDtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlKLDBCQUEwQkMsZ0NBQWdDO1FBQzVELElBQU1PLG9CQUFvQmIsaUJBQWlCYyxvQkFBb0IsSUFDekRMLGlCQUFnQkksbUJBQ2hCRSxpQ0FBaUNOLGVBQWNPLG9CQUFvQixJQUNuRUMsd0NBQXdDQyxnQ0FBZ0NILGdDQUFnQ2hCO1FBRTlHRSxvQkFBb0JnQix1Q0FBd0MsR0FBRztJQUNqRSxDQUFDO0lBRURoQixvQkFDRUQsaUJBQWlCbUIsUUFBUSxDQUFDckIsaUJBQ3hCRSxpQkFBaUJtQixRQUFRLENBQUNyQixjQUFjO0lBRTVDLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTaUIsZ0NBQWdDSCw4QkFBOEIsRUFBRWhCLGlCQUFpQixFQUFFO0lBQzFGLElBQU1xQiwrQkFBK0JMLGdDQUMvQk0sa0JBQWtCdEIsbUJBQ2xCdUIsc0NBQXNDQyw4QkFBOEJILDhCQUE4QkMsa0JBQ2xHSix3Q0FBd0NLLHFDQUFzQyxHQUFHO0lBRXZGLE9BQU9MO0FBQ1Q7QUFFQSxTQUFTTyxtQkFBbUJDLGlCQUFpQixFQUFFQyxJQUFJLEVBQUU7SUFDbkQsSUFBSUMsMkJBQTJCLEtBQUs7SUFFcEMsSUFBTUMsbUJBQW1CRixLQUFLRyxjQUFjLElBQ3RDQyx1QkFBdUJMLGtCQUFrQkksY0FBYztJQUU3RCxJQUFJRCxxQkFBcUJFLHNCQUFzQjtRQUM3QyxJQUFJRixrQkFBa0I7WUFDcEIsSUFBTUcsZUFBZUwsTUFDZk0sNEJBQTRCUCxtQkFDNUJRLG1DQUFtQ0MsMkJBQTJCRiwyQkFBMkJEO1lBRS9GSiwyQkFBMkJNLGtDQUFtQyxHQUFHO1FBQ25FLE9BQU87WUFDTCxJQUFNWixrQkFBa0JLLE1BQ2xCTiwrQkFBK0JLLG1CQUMvQkgsc0NBQXNDQyw4QkFBOEJILDhCQUE4QkM7WUFFeEdNLDJCQUEyQkwscUNBQXFDLEdBQUc7UUFDckUsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPSztBQUNUO0FBRUEsU0FBU1Esb0JBQW9CQyxrQkFBa0IsRUFBRUMsS0FBSyxFQUFFO0lBQ3RELElBQUlDLDRCQUE0QixLQUFLO0lBRXJDLElBQU1DLGNBQWNGLE1BQU1HLE1BQU0sRUFDMUJDLDJCQUEyQkwsbUJBQW1CSSxNQUFNO0lBRTFELElBQUlELGdCQUFnQkUsMEJBQTBCO1FBQzVDSCw0QkFBNEJELE1BQU1LLEtBQUssQ0FBQyxTQUFDaEIsTUFBTWlCLE9BQVU7WUFDdkQsSUFBTWxCLG9CQUFvQlcsa0JBQWtCLENBQUNPLE1BQU0sRUFDN0NoQiwyQkFBMkJILG1CQUFtQkMsbUJBQW1CQztZQUV2RSxJQUFJQywwQkFBMEI7Z0JBQzVCLE9BQU8sSUFBSTtZQUNiLENBQUM7UUFDSDtJQUNGLENBQUM7SUFFRCxPQUFPVztBQUNUO0FBRUEsU0FBU0osMkJBQTJCRix5QkFBeUIsRUFBRUQsWUFBWSxFQUFFO0lBQzNFLElBQU1hLFVBQVVaLDBCQUEwQmEsS0FBSyxDQUFDZCxlQUMxQ0UsbUNBQW1DVyxTQUFVLEdBQUc7SUFFdEQsT0FBT1g7QUFDVDtBQUVBLFNBQVNWLDhCQUE4QkgsNEJBQTRCLEVBQUVDLGVBQWUsRUFBRTtJQUNwRixJQUFJQyxzQ0FBc0MsS0FBSztJQUUvQyxJQUFNd0IsV0FBV3pCLGdCQUFnQjBCLFdBQVcsSUFDdENDLHdCQUF3QjVCLDZCQUE2QjJCLFdBQVcsSUFBSSxHQUFHO0lBRTdFLElBQUlELGFBQWFFLHVCQUF1QjtRQUN0QyxJQUFNQyxhQUFhNUIsZ0JBQWdCNkIsYUFBYSxJQUMxQ0MsMEJBQTBCL0IsNkJBQTZCOEIsYUFBYSxJQUNwRWIsUUFBUVksWUFDUmIscUJBQXFCZSx5QkFDckJiLDRCQUE0Qkgsb0JBQW9CQyxvQkFBb0JDO1FBRTFFZixzQ0FBc0NnQiwyQkFBMkIsR0FBRztJQUN0RSxDQUFDO0lBRUQsT0FBT2hCO0FBQ1QifQ==
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vbWV0YUFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeU1ldGFEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvbWV0YURlcml2YXRpb25cIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuL21ldGFzdGF0ZW1lbnQvcXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL21ldGFEZXJpdmF0aW9uIVwiKSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgY29uY2x1c2lvbiwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YXByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKG1ldGFwcm9vZk5vZGUpO1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZSA9IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mTm9kZSk7XG5cbiAgbGV0IG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkIHx8IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RNZXRhQXNzZXJ0aW9uID0gbWV0YXByb29mQ29udGV4dC5nZXRMYXN0TWV0YUFzc2VydGlvbigpLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb24gPSBsYXN0TWV0YUFzc2VydGlvbiwgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uLmdldE1ldGFzdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YUFzc2VydGlvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlKG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mVmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBtZXRhcHJvb2ZWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhcHJvb2ZOb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpO1xuXG4gIHJldHVybiBtZXRhcHJvb2ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFBc3NlcnRpb25Ob2RlLCBub2RlKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IG1ldGFBc3NlcnRpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUpO1xuXG4gICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpO1xuXG4gICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFBc3NlcnRpb25Ob2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlcyhtZXRhQXNzZXJ0aW9uTm9kZXMsIG5vZGVzKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFBc3NlcnRpb25Ob2Rlc0xlbmd0aCA9IG1ldGFBc3NlcnRpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBtZXRhQXNzZXJ0aW9uTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uTm9kZSA9IG1ldGFBc3NlcnRpb25Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGUobWV0YUFzc2VydGlvbk5vZGUsIG5vZGUpO1xuXG4gICAgICBpZiAobWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIG1ldGFBc3NlcnRpb25SdWxlTmFtZSA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBtZXRhQXNzZXJ0aW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBtZXRhQXNzZXJ0aW9uQ2hpbGROb2RlcyA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YUFzc2VydGlvbk5vZGVzID0gbWV0YUFzc2VydGlvbkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFBc3NlcnRpb25Ob2Rlcywgbm9kZXMpO1xuXG4gICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2YiLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhcHJvb2ZOb2RlIiwiY29uY2x1c2lvbiIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhcHJvb2ZWZXJpZmllZCIsImJlZ2luIiwibWV0YURlcml2YXRpb25Ob2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhZGRNZXRhQXNzZXJ0aW9uIiwibGFzdE1ldGFBc3NlcnRpb24iLCJnZXRMYXN0TWV0YUFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSIsImNvbXBsZXRlIiwibWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZSIsIm5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUiLCJtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhUHJvb2ZOb2RlcyIsIm1ldGFBc3NlcnRpb25Ob2RlcyIsIm5vZGVzIiwibWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YUFzc2VydGlvbk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJtZXRhQXNzZXJ0aW9uUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm1ldGFBc3NlcnRpb25DaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2tFQVRFO21FQUNPOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0Msa0NBQWtDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFO0lBQ25GLElBQUlDLG9CQUFvQixLQUFLO0lBRTdCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUsscUJBQXFCUix3QkFBd0JHLGdCQUM3Q00sNkJBQTZCUCxnQ0FBZ0NDO0lBRW5FLElBQUlPLHlCQUF5QixLQUFLLEVBQzlCQyxpQ0FBaUMsS0FBSztJQUUxQyxJQUFJSCx1QkFBdUIsSUFBSSxFQUFFO1FBQy9CRSx5QkFBeUJFLElBQUFBLHVCQUFvQixFQUFDSixvQkFBb0JIO0lBQ3BFLENBQUM7SUFFRCxJQUFJSSwrQkFBK0IsSUFBSSxFQUFFO1FBQ3ZDRSxpQ0FBaUNFLElBQUFBLGtCQUE0QixFQUFDSiw0QkFBNEJKO1FBRTFGLElBQUlNLGdDQUFnQztZQUNsQyxJQUFNRyxnQkFBZ0JDLHNCQUFhLENBQUNDLDhCQUE4QixDQUFDUDtZQUVuRUosaUJBQWlCWSxnQkFBZ0IsQ0FBQ0g7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJSiwwQkFBMEJDLGdDQUFnQztRQUM1RCxJQUFNTyxvQkFBb0JiLGlCQUFpQmMsb0JBQW9CLElBQ3pETCxpQkFBZ0JJLG1CQUNoQkUsb0JBQW9CaEIsV0FBV2lCLG9CQUFvQixJQUNuREMsaUNBQWlDUixlQUFjTyxvQkFBb0IsSUFDbkVFLHdDQUF3Q0MsZ0NBQWdDRixnQ0FBZ0NGO1FBRTlHZCxvQkFBb0JpQix1Q0FBd0MsR0FBRztJQUNqRSxDQUFDO0lBRURqQixvQkFDRUQsaUJBQWlCb0IsUUFBUSxDQUFDdEIsaUJBQ3hCRSxpQkFBaUJvQixRQUFRLENBQUN0QixjQUFjO0lBRTVDLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTa0IsZ0NBQWdDRiw4QkFBOEIsRUFBRUYsaUJBQWlCLEVBQUU7SUFDMUYsSUFBTU0sK0JBQStCSixnQ0FDL0JLLGtCQUFrQlAsbUJBQ2xCUSxzQ0FBc0NDLDhCQUE4QkgsOEJBQThCQyxrQkFDbEdKLHdDQUF3Q0sscUNBQXNDLEdBQUc7SUFFdkYsT0FBT0w7QUFDVDtBQUVBLFNBQVNPLG1CQUFtQkMsaUJBQWlCLEVBQUVDLElBQUksRUFBRTtJQUNuRCxJQUFJQywyQkFBMkIsS0FBSztJQUVwQyxJQUFNQyxtQkFBbUJGLEtBQUtHLGNBQWMsSUFDdENDLHVCQUF1Qkwsa0JBQWtCSSxjQUFjO0lBRTdELElBQUlELHFCQUFxQkUsc0JBQXNCO1FBQzdDLElBQUlGLGtCQUFrQjtZQUNwQixJQUFNRyxlQUFlTCxNQUNmTSw0QkFBNEJQLG1CQUM1QlEsbUNBQW1DQywyQkFBMkJGLDJCQUEyQkQ7WUFFL0ZKLDJCQUEyQk0sa0NBQW1DLEdBQUc7UUFDbkUsT0FBTztZQUNMLElBQU1aLGtCQUFrQkssTUFDbEJOLCtCQUErQkssbUJBQy9CSCxzQ0FBc0NDLDhCQUE4QkgsOEJBQThCQztZQUV4R00sMkJBQTJCTCxxQ0FBcUMsR0FBRztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9LO0FBQ1Q7QUFFQSxTQUFTUSxvQkFBb0JDLGtCQUFrQixFQUFFQyxLQUFLLEVBQUU7SUFDdEQsSUFBSUMsNEJBQTRCLEtBQUs7SUFFckMsSUFBTUMsY0FBY0YsTUFBTUcsTUFBTSxFQUMxQkMsMkJBQTJCTCxtQkFBbUJJLE1BQU07SUFFMUQsSUFBSUQsZ0JBQWdCRSwwQkFBMEI7UUFDNUNILDRCQUE0QkQsTUFBTUssS0FBSyxDQUFDLFNBQUNoQixNQUFNaUIsT0FBVTtZQUN2RCxJQUFNbEIsb0JBQW9CVyxrQkFBa0IsQ0FBQ08sTUFBTSxFQUM3Q2hCLDJCQUEyQkgsbUJBQW1CQyxtQkFBbUJDO1lBRXZFLElBQUlDLDBCQUEwQjtnQkFDNUIsT0FBTyxJQUFJO1lBQ2IsQ0FBQztRQUNIO0lBQ0YsQ0FBQztJQUVELE9BQU9XO0FBQ1Q7QUFFQSxTQUFTSiwyQkFBMkJGLHlCQUF5QixFQUFFRCxZQUFZLEVBQUU7SUFDM0UsSUFBTWEsVUFBVVosMEJBQTBCYSxLQUFLLENBQUNkLGVBQzFDRSxtQ0FBbUNXLFNBQVUsR0FBRztJQUV0RCxPQUFPWDtBQUNUO0FBRUEsU0FBU1YsOEJBQThCSCw0QkFBNEIsRUFBRUMsZUFBZSxFQUFFO0lBQ3BGLElBQUlDLHNDQUFzQyxLQUFLO0lBRS9DLElBQU13QixXQUFXekIsZ0JBQWdCMEIsV0FBVyxJQUN0Q0Msd0JBQXdCNUIsNkJBQTZCMkIsV0FBVyxJQUFJLEdBQUc7SUFFN0UsSUFBSUQsYUFBYUUsdUJBQXVCO1FBQ3RDLElBQU1DLGFBQWE1QixnQkFBZ0I2QixhQUFhLElBQzFDQywwQkFBMEIvQiw2QkFBNkI4QixhQUFhLElBQ3BFYixRQUFRWSxZQUNSYixxQkFBcUJlLHlCQUNyQmIsNEJBQTRCSCxvQkFBb0JDLG9CQUFvQkM7UUFFMUVmLHNDQUFzQ2dCLDJCQUEyQixHQUFHO0lBQ3RFLENBQUM7SUFFRCxPQUFPaEI7QUFDVCJ9
|