occam-verify-cli 0.0.506 → 0.0.508
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/axiomLemmaTheorem.js +2 -2
- package/lib/conclusion.js +6 -161
- package/lib/consequence.js +4 -82
- package/lib/matcher/metastatementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/metastatementForMetavariable/premise.js +113 -0
- package/lib/matcher/metastatementForMetavariable.js +201 -0
- package/lib/matcher/statementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/statementForMetavariable/premise.js +113 -0
- package/lib/matcher/statementForMetavariable.js +201 -0
- package/lib/matcher/statementForVariable/consequence.js +113 -0
- package/lib/matcher/statementForVariable/supposition.js +113 -0
- package/lib/matcher/statementForVariable.js +201 -0
- package/lib/matcher.js +150 -0
- package/lib/premise.js +21 -190
- package/lib/rule.js +11 -11
- package/lib/ruleNames.js +5 -1
- package/lib/step/metaproof.js +5 -5
- package/lib/substitution/metastatementForMetavariable.js +86 -0
- package/lib/substitution/statementForMetavariable.js +86 -0
- package/lib/substitution/statementForVariable.js +86 -0
- package/lib/supposition.js +10 -97
- package/lib/utilities/substitution.js +61 -0
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/proof.js +3 -3
- package/lib/verify/ruleProof.js +3 -3
- package/package.json +1 -1
- package/src/axiomLemmaTheorem.js +1 -1
- package/src/conclusion.js +11 -282
- package/src/consequence.js +6 -144
- package/src/matcher/metastatementForMetavariable/conclusion.js +9 -0
- package/src/matcher/metastatementForMetavariable/premise.js +9 -0
- package/src/matcher/metastatementForMetavariable.js +99 -0
- package/src/matcher/statementForMetavariable/conclusion.js +9 -0
- package/src/matcher/statementForMetavariable/premise.js +9 -0
- package/src/matcher/statementForMetavariable.js +99 -0
- package/src/matcher/statementForVariable/consequence.js +9 -0
- package/src/matcher/statementForVariable/supposition.js +9 -0
- package/src/matcher/statementForVariable.js +99 -0
- package/src/matcher.js +76 -0
- package/src/premise.js +48 -336
- package/src/rule.js +12 -12
- package/src/ruleNames.js +1 -0
- package/src/step/metaproof.js +1 -1
- package/src/{metaSubstitution.js → substitution/metastatementForMetavariable.js} +9 -8
- package/src/{substitution.js → substitution/statementForMetavariable.js} +8 -7
- package/src/substitution/statementForVariable.js +64 -0
- package/src/supposition.js +26 -173
- package/src/utilities/{node.js → substitution.js} +4 -74
- package/src/verify/metaproof.js +2 -2
- package/src/verify/proof.js +2 -2
- package/src/verify/ruleProof.js +2 -2
- package/lib/metaSubstitution.js +0 -85
- package/lib/metaSupposition.js +0 -167
- package/lib/substitution.js +0 -85
- package/lib/utilities/node.js +0 -106
- package/lib/verify/metaSupposition.js +0 -41
- package/src/metaSupposition.js +0 -196
- package/src/verify/metaSupposition.js +0 -44
package/lib/supposition.js
CHANGED
|
@@ -8,11 +8,9 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Supposition;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _substitution = /*#__PURE__*/ _interopRequireDefault(require("./substitution"));
|
|
12
|
-
var _array = require("./utilities/array");
|
|
13
11
|
var _string = require("./utilities/string");
|
|
14
12
|
var _query = require("./utilities/query");
|
|
15
|
-
var
|
|
13
|
+
var _supposition = require("./matcher/statementForVariable/supposition");
|
|
16
14
|
function _arrayLikeToArray(arr, len) {
|
|
17
15
|
if (len == null || len > arr.length) len = arr.length;
|
|
18
16
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -40,11 +38,6 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
40
38
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
41
39
|
return Constructor;
|
|
42
40
|
}
|
|
43
|
-
function _interopRequireDefault(obj) {
|
|
44
|
-
return obj && obj.__esModule ? obj : {
|
|
45
|
-
default: obj
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
41
|
function _iterableToArray(iter) {
|
|
49
42
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
50
43
|
}
|
|
@@ -62,7 +55,7 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
62
55
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
63
56
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
64
57
|
}
|
|
65
|
-
var
|
|
58
|
+
var subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion!"), subproofAssertionStatementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/statement"), subproofSuppositionStatementNodesQuery = (0, _query.nodesQuery)("/subproof/supposition/unqualifiedStatement/statement!"), subproofSubDerivationLastStatementNodeQuery = (0, _query.nodeQuery)("/subproof/subDerivation/qualifiedStatement|unqualifiedStatement[-1]/statement!");
|
|
66
59
|
var Supposition = /*#__PURE__*/ function() {
|
|
67
60
|
function Supposition(statementNode) {
|
|
68
61
|
_classCallCheck(this, Supposition);
|
|
@@ -81,13 +74,13 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
81
74
|
var subproofNodeMatches = false;
|
|
82
75
|
var subproofAssertionNode = subproofAssertionNodeQuery(this.statementNode);
|
|
83
76
|
if (subproofAssertionNode !== null) {
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
]),
|
|
87
|
-
if (
|
|
77
|
+
var subproofSuppositionStatementNodes = subproofSuppositionStatementNodesQuery(subproofNode), subproofSubDerivationLastStatementNode = subproofSubDerivationLastStatementNodeQuery(subproofNode), subproofStatementNodes = _toConsumableArray(subproofSuppositionStatementNodes).concat([
|
|
78
|
+
subproofSubDerivationLastStatementNode
|
|
79
|
+
]), subproofAssertionStatementNodes = subproofAssertionStatementNodesQuery(subproofAssertionNode), subproofStatementNodesLength = subproofStatementNodes.length, subproofAssertionStatementNodesLength = subproofAssertionStatementNodes.length;
|
|
80
|
+
if (subproofStatementNodesLength === subproofAssertionStatementNodesLength) {
|
|
88
81
|
subproofNodeMatches = subproofAssertionStatementNodes.every(function(subproofAssertionStatementNode, index) {
|
|
89
|
-
var
|
|
90
|
-
if (
|
|
82
|
+
var subproofStatementNode = subproofStatementNodes[index], nonTerminalNodeA = subproofAssertionStatementNode, nonTerminalNodeB = subproofStatementNode, nonTerminalNodeMatches = _supposition.suppositionStatementForVariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
83
|
+
if (nonTerminalNodeMatches) {
|
|
91
84
|
return true;
|
|
92
85
|
}
|
|
93
86
|
});
|
|
@@ -99,7 +92,7 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
99
92
|
{
|
|
100
93
|
key: "matchStatementNode",
|
|
101
94
|
value: function matchStatementNode(statementNode, substitutions) {
|
|
102
|
-
var
|
|
95
|
+
var nonTerminalNodeA = this.statementNode, nonTerminalNodeB = statementNode, nonTerminalNodeMatches = _supposition.suppositionStatementForVariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), statementNodeMatches = nonTerminalNodeMatches; ///
|
|
103
96
|
return statementNodeMatches;
|
|
104
97
|
}
|
|
105
98
|
},
|
|
@@ -130,85 +123,5 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
130
123
|
]);
|
|
131
124
|
return Supposition;
|
|
132
125
|
}();
|
|
133
|
-
function matchSuppositionNode(suppositionNode, node, substitutions) {
|
|
134
|
-
var suppositionNodeMatches = false;
|
|
135
|
-
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = suppositionNode.isTerminalNode();
|
|
136
|
-
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
137
|
-
if (nodeTerminalNode) {
|
|
138
|
-
var terminalNode = node, suppositionTerminalNode = suppositionNode, suppositionTerminalNodeMatches = matchSuppositionTerminalNode(suppositionTerminalNode, terminalNode, substitutions);
|
|
139
|
-
suppositionNodeMatches = suppositionTerminalNodeMatches; ///
|
|
140
|
-
} else {
|
|
141
|
-
var nonTerminalNode = node, suppositionNonTerminalNode = suppositionNode, suppositionNonTerminalNodeMatches = matchSuppositionNonTerminalNode(suppositionNonTerminalNode, nonTerminalNode, substitutions);
|
|
142
|
-
suppositionNodeMatches = suppositionNonTerminalNodeMatches; ///
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return suppositionNodeMatches;
|
|
146
|
-
}
|
|
147
|
-
function matchSuppositionNodes(suppositionNodes, nodes, substitutions) {
|
|
148
|
-
var suppositionNodesMatches = false;
|
|
149
|
-
var nodesLength = nodes.length, suppositionNodesLength = suppositionNodes.length;
|
|
150
|
-
if (nodesLength === suppositionNodesLength) {
|
|
151
|
-
suppositionNodesMatches = nodes.every(function(node, index) {
|
|
152
|
-
var suppositionNode = suppositionNodes[index], suppositionNodeMatches = matchSuppositionNode(suppositionNode, node, substitutions);
|
|
153
|
-
if (suppositionNodeMatches) {
|
|
154
|
-
return true;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
return suppositionNodesMatches;
|
|
159
|
-
}
|
|
160
|
-
function matchSuppositionVariable(suppositionVariableNode, nodes, substitutions) {
|
|
161
|
-
var suppositionVariableMatches;
|
|
162
|
-
var suppositionVariableName = (0, _query.variableNameFromVariableNode)(suppositionVariableNode), substitution = substitutions.find(function(substitution) {
|
|
163
|
-
var variableName = substitution.getVariableName();
|
|
164
|
-
if (variableName === suppositionVariableName) {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
}) || null;
|
|
168
|
-
if (substitution !== null) {
|
|
169
|
-
var substitutionNodesMatch = substitution.matchNodes(nodes);
|
|
170
|
-
suppositionVariableMatches = substitutionNodesMatch; ///
|
|
171
|
-
} else {
|
|
172
|
-
var variableName = suppositionVariableName, substitution1 = _substitution.default.fromVariableNameAndNodes(variableName, nodes);
|
|
173
|
-
substitutions.push(substitution1);
|
|
174
|
-
suppositionVariableMatches = true;
|
|
175
|
-
}
|
|
176
|
-
return suppositionVariableMatches;
|
|
177
|
-
}
|
|
178
|
-
function matchSuppositionTerminalNode(suppositionTerminalNode, terminalNode, substitutions) {
|
|
179
|
-
var matches = suppositionTerminalNode.match(terminalNode), suppositionTerminalNodeMatches = matches;
|
|
180
|
-
return suppositionTerminalNodeMatches;
|
|
181
|
-
}
|
|
182
|
-
function matchSuppositionNonTerminalNode(suppositionNonTerminalNode, nonTerminalNode, substitutions) {
|
|
183
|
-
var suppositionNonTerminalNodeMatches = false;
|
|
184
|
-
var ruleName = nonTerminalNode.getRuleName(), suppositionRuleName = suppositionNonTerminalNode.getRuleName(); ///
|
|
185
|
-
if (ruleName === suppositionRuleName) {
|
|
186
|
-
var childNodes = nonTerminalNode.getChildNodes(), suppositionChildNodes = suppositionNonTerminalNode.getChildNodes(), nodes = childNodes, suppositionNodes = suppositionChildNodes, suppositionChildNodesMatches = matchSuppositionNodes(suppositionNodes, nodes, substitutions);
|
|
187
|
-
suppositionNonTerminalNodeMatches = suppositionChildNodesMatches; ///
|
|
188
|
-
if (!suppositionNonTerminalNodeMatches) {
|
|
189
|
-
var ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
190
|
-
if (ruleNameStatementRuleName) {
|
|
191
|
-
var statementNode = nonTerminalNode, suppositionStatementNode = suppositionNonTerminalNode, suppositionStatementNodeMatches = matchSuppositionStatementNode(suppositionStatementNode, statementNode, substitutions);
|
|
192
|
-
suppositionNonTerminalNodeMatches = suppositionStatementNodeMatches; ///
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return suppositionNonTerminalNodeMatches;
|
|
197
|
-
}
|
|
198
|
-
function matchSuppositionStatementNode(suppositionStatementNode, statementNode, substitutions) {
|
|
199
|
-
var suppositionStatementNodeMatches = false;
|
|
200
|
-
var suppositionNonTerminalNode = suppositionStatementNode, suppositionChildNodes = suppositionNonTerminalNode.getChildNodes(), suppositionChildNodesLength = suppositionChildNodes.length;
|
|
201
|
-
if (suppositionChildNodesLength === 1) {
|
|
202
|
-
var firstSuppositionChildNode = (0, _array.first)(suppositionChildNodes), suppositionChildNode = firstSuppositionChildNode, suppositionChildNodeNonTerminalNode = suppositionChildNode.isNonTerminalNode();
|
|
203
|
-
if (suppositionChildNodeNonTerminalNode) {
|
|
204
|
-
var suppositionNonTerminalChildNode = suppositionChildNode, suppositionNonTerminalChildNodeRuleName = suppositionNonTerminalChildNode.getRuleName(), suppositionNonTerminalChildNodeRuleNameVariableRuleName = suppositionNonTerminalChildNodeRuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
205
|
-
if (suppositionNonTerminalChildNodeRuleNameVariableRuleName) {
|
|
206
|
-
var suppositionVariableNode = suppositionNonTerminalChildNode, nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, suppositionVariableMatches = matchSuppositionVariable(suppositionVariableNode, nodes, substitutions);
|
|
207
|
-
suppositionStatementNodeMatches = suppositionVariableMatches; ///
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return suppositionStatementNodeMatches;
|
|
212
|
-
}
|
|
213
126
|
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdXBwb3NpdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN1YnN0aXR1dGlvbiBmcm9tIFwiLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBWQVJJQUJMRV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2ZBc3NlcnRpb24vc3RhdGVtZW50XCIpLFxuICAgICAgc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3N1YnByb29mQXNzZXJ0aW9uIVwiKSxcbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2YvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VicHJvb2Yvc3ViRGVyaXZhdGlvbi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnRbLTFdL3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1cHBvc2l0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgc3VicHJvb2ZOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXMgPSBzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVzID0gW1xuICAgICAgICAgICAgICAuLi51bnF1YWxpZmllZFN0YXRlbWVudFN0YXRlbWVudE5vZGVzLFxuICAgICAgICAgICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVzTGVuZ3RoID0gc3RhdGVtZW50Tm9kZXMubGVuZ3RoLFxuICAgICAgICAgICAgc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlc0xlbmd0aCA9IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAoc3RhdGVtZW50Tm9kZXNMZW5ndGggPT09IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNMZW5ndGgpIHtcbiAgICAgICAgc3VicHJvb2ZOb2RlTWF0Y2hlcyA9IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXMuZXZlcnkoKHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlID0gc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlKHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZk5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUgPSB0aGlzLnN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlKHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRTdHJpbmcsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQsICAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgc3VwcG9zaXRpb24gPSBuZXcgU3VwcG9zaXRpb24oc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gbmV3IFN1cHBvc2l0aW9uKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25Ob2RlKHN1cHBvc2l0aW9uTm9kZSwgbm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBsZXQgc3VwcG9zaXRpb25Ob2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIHJ1bGVOb2RlVGVybWluYWxOb2RlID0gc3VwcG9zaXRpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uVGVybWluYWxOb2RlID0gc3VwcG9zaXRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFN1cHBvc2l0aW9uVGVybWluYWxOb2RlKHN1cHBvc2l0aW9uVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdXBwb3NpdGlvbk5vZGVNYXRjaGVzID0gc3VwcG9zaXRpb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUgPSBzdXBwb3NpdGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoU3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUoc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIHN1cHBvc2l0aW9uTm9kZU1hdGNoZXMgPSBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvbk5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9uTm9kZXMoc3VwcG9zaXRpb25Ob2Rlcywgbm9kZXMsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHN1cHBvc2l0aW9uTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIHN1cHBvc2l0aW9uTm9kZXNMZW5ndGggPSBzdXBwb3NpdGlvbk5vZGVzLmxlbmd0aDtcblxuICBpZiAobm9kZXNMZW5ndGggPT09IHN1cHBvc2l0aW9uTm9kZXNMZW5ndGgpIHtcbiAgICBzdXBwb3NpdGlvbk5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9zaXRpb25Ob2RlID0gc3VwcG9zaXRpb25Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVNYXRjaGVzID0gbWF0Y2hTdXBwb3NpdGlvbk5vZGUoc3VwcG9zaXRpb25Ob2RlLCBub2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKHN1cHBvc2l0aW9uTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc3VwcG9zaXRpb25Ob2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25WYXJpYWJsZShzdXBwb3NpdGlvblZhcmlhYmxlTm9kZSwgbm9kZXMsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHN1cHBvc2l0aW9uVmFyaWFibGVNYXRjaGVzO1xuXG4gIGNvbnN0IHN1cHBvc2l0aW9uVmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZShzdXBwb3NpdGlvblZhcmlhYmxlTm9kZSksXG4gICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gc3Vic3RpdHV0aW9uLmdldFZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgaWYgKHZhcmlhYmxlTmFtZSA9PT0gc3VwcG9zaXRpb25WYXJpYWJsZU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IHN1YnN0aXR1dGlvbi5tYXRjaE5vZGVzKG5vZGVzKTtcblxuICAgIHN1cHBvc2l0aW9uVmFyaWFibGVNYXRjaGVzID0gc3Vic3RpdHV0aW9uTm9kZXNNYXRjaDsgIC8vL1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHN1cHBvc2l0aW9uVmFyaWFibGVOYW1lLCAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTmFtZUFuZE5vZGVzKHZhcmlhYmxlTmFtZSwgbm9kZXMpO1xuXG4gICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICBzdXBwb3NpdGlvblZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gc3VwcG9zaXRpb25WYXJpYWJsZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25UZXJtaW5hbE5vZGUoc3VwcG9zaXRpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBtYXRjaGVzID0gc3VwcG9zaXRpb25UZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKSxcbiAgICAgICAgc3VwcG9zaXRpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlcztcblxuICByZXR1cm4gc3VwcG9zaXRpb25UZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlKHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIHN1cHBvc2l0aW9uUnVsZU5hbWUgPSBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IHN1cHBvc2l0aW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbkNoaWxkTm9kZXMgPSBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25DaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbkNoaWxkTm9kZXNNYXRjaGVzID0gbWF0Y2hTdXBwb3NpdGlvbk5vZGVzKHN1cHBvc2l0aW9uTm9kZXMsIG5vZGVzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cHBvc2l0aW9uQ2hpbGROb2Rlc01hdGNoZXM7IC8vL1xuXG4gICAgaWYgKCFzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSA9IHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaFN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZShzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlKHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBsZXQgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlID0gc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIHN1cHBvc2l0aW9uQ2hpbGROb2RlcyA9IHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgc3VwcG9zaXRpb25DaGlsZE5vZGVzTGVuZ3RoID0gc3VwcG9zaXRpb25DaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoc3VwcG9zaXRpb25DaGlsZE5vZGVzTGVuZ3RoID09PSAxKSB7XG4gICAgY29uc3QgZmlyc3RTdXBwb3NpdGlvbkNoaWxkTm9kZSA9IGZpcnN0KHN1cHBvc2l0aW9uQ2hpbGROb2RlcyksXG4gICAgICAgICAgc3VwcG9zaXRpb25DaGlsZE5vZGUgPSBmaXJzdFN1cHBvc2l0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgc3VwcG9zaXRpb25DaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBzdXBwb3NpdGlvbkNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBzdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlID0gc3VwcG9zaXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9IHN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZVZhcmlhYmxlUnVsZU5hbWUgPSAoc3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID09PSBWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAoc3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBzdXBwb3NpdGlvblZhcmlhYmxlTm9kZSA9IHN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgc3VwcG9zaXRpb25WYXJpYWJsZU1hdGNoZXMgPSBtYXRjaFN1cHBvc2l0aW9uVmFyaWFibGUoc3VwcG9zaXRpb25WYXJpYWJsZU5vZGUsIG5vZGVzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVNYXRjaGVzID0gc3VwcG9zaXRpb25WYXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIlN1cHBvc2l0aW9uIiwic3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZXNRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3VicHJvb2ZOb2RlIiwic3Vic3RpdHV0aW9ucyIsInN1YnByb29mTm9kZU1hdGNoZXMiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlcyIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZXMiLCJzdGF0ZW1lbnROb2Rlc0xlbmd0aCIsImxlbmd0aCIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJldmVyeSIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZSIsImluZGV4Iiwibm9uVGVybWluYWxOb2RlIiwic3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUiLCJzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwic3VwcG9zaXRpb24iLCJmcm9tU3RhdGVtZW50Tm9kZSIsIm1hdGNoU3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25Ob2RlIiwibm9kZSIsInN1cHBvc2l0aW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInN1cHBvc2l0aW9uVGVybWluYWxOb2RlIiwic3VwcG9zaXRpb25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hTdXBwb3NpdGlvblRlcm1pbmFsTm9kZSIsIm1hdGNoU3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uTm9kZXMiLCJub2RlcyIsInN1cHBvc2l0aW9uTm9kZXNNYXRjaGVzIiwibm9kZXNMZW5ndGgiLCJzdXBwb3NpdGlvbk5vZGVzTGVuZ3RoIiwibWF0Y2hTdXBwb3NpdGlvblZhcmlhYmxlIiwic3VwcG9zaXRpb25WYXJpYWJsZU5vZGUiLCJzdXBwb3NpdGlvblZhcmlhYmxlTWF0Y2hlcyIsInN1cHBvc2l0aW9uVmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJ2YXJpYWJsZU5hbWUiLCJnZXRWYXJpYWJsZU5hbWUiLCJzdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIlN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5hbWVBbmROb2RlcyIsInB1c2giLCJtYXRjaGVzIiwibWF0Y2giLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwic3VwcG9zaXRpb25SdWxlTmFtZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwic3VwcG9zaXRpb25DaGlsZE5vZGVzIiwic3VwcG9zaXRpb25DaGlsZE5vZGVzTWF0Y2hlcyIsInJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwic3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlIiwic3VwcG9zaXRpb25DaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RTdXBwb3NpdGlvbkNoaWxkTm9kZSIsImZpcnN0Iiwic3VwcG9zaXRpb25DaGlsZE5vZGUiLCJzdXBwb3NpdGlvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwic3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZSIsInN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSIsInN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5v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
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdXBwb3NpdGlvbi5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHN1cHBvc2l0aW9uU3RhdGVtZW50Rm9yVmFyaWFibGVNYXRjaGVyIH0gZnJvbSBcIi4vbWF0Y2hlci9zdGF0ZW1lbnRGb3JWYXJpYWJsZS9zdXBwb3NpdGlvblwiO1xuXG5jb25zdCBzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvc3VicHJvb2ZBc3NlcnRpb24hXCIpLFxuICAgICAgc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZkFzc2VydGlvbi9zdGF0ZW1lbnRcIiksXG4gICAgICBzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2Yvc3VwcG9zaXRpb24vdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VicHJvb2Yvc3ViRGVyaXZhdGlvbi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnRbLTFdL3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1cHBvc2l0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgc3VicHJvb2ZOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyA9IHN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZSA9IHN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RTdGF0ZW1lbnROb2RlUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHN1YnByb29mU3RhdGVtZW50Tm9kZXMgPSBbXG4gICAgICAgICAgICAgIC4uLnN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyxcbiAgICAgICAgICAgICAgc3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdFN0YXRlbWVudE5vZGVcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzID0gc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICBzdWJwcm9vZlN0YXRlbWVudE5vZGVzTGVuZ3RoID0gc3VicHJvb2ZTdGF0ZW1lbnROb2Rlcy5sZW5ndGgsXG4gICAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzTGVuZ3RoID0gc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2Rlcy5sZW5ndGg7XG5cbiAgICAgIGlmIChzdWJwcm9vZlN0YXRlbWVudE5vZGVzTGVuZ3RoID09PSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzTGVuZ3RoKSB7XG4gICAgICAgIHN1YnByb29mTm9kZU1hdGNoZXMgPSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzLmV2ZXJ5KChzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnByb29mU3RhdGVtZW50Tm9kZSA9IHN1YnByb29mU3RhdGVtZW50Tm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdWJwcm9vZlN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gc3VwcG9zaXRpb25TdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0aGlzLnN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBwb3NpdGlvblN0YXRlbWVudEZvclZhcmlhYmxlTWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbiA9IG5ldyBTdXBwb3NpdGlvbihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb24gPSBuZXcgU3VwcG9zaXRpb24oc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiU3VwcG9zaXRpb24iLCJzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSIsInN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RTdGF0ZW1lbnROb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3VicHJvb2ZOb2RlIiwic3Vic3RpdHV0aW9ucyIsInN1YnByb29mTm9kZU1hdGNoZXMiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMiLCJzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZSIsInN1YnByb29mU3RhdGVtZW50Tm9kZXMiLCJzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzIiwic3VicHJvb2ZTdGF0ZW1lbnROb2Rlc0xlbmd0aCIsImxlbmd0aCIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJldmVyeSIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZSIsImluZGV4Iiwic3VicHJvb2ZTdGF0ZW1lbnROb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRGb3JWYXJpYWJsZU1hdGNoZXIiLCJtYXRjaE5vblRlcm1pbmFsTm9kZSIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwidG9KU09OIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3RhdGVtZW50IiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyIsInN1cHBvc2l0aW9uIiwiZnJvbVN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBWXFCQTs7O3NCQVZRO3FCQUNTOzJCQUVpQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZELElBQU1DLDZCQUE2QkMsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDdkNDLHVDQUF1Q0MsSUFBQUEsaUJBQVUsRUFBQyxpQ0FDbERDLHlDQUF5Q0QsSUFBQUEsaUJBQVUsRUFBQywwREFDcERFLDhDQUE4Q0osSUFBQUEsZ0JBQVMsRUFBQztBQUUvQyxJQUFBLEFBQU1GLDRCQUFOO2FBQU1BLFlBQ1BPLGFBQWE7OEJBRE5QO1FBRWpCLElBQUksQ0FBQ08sYUFBYSxHQUFHQTs7aUJBRkpQOztZQUtuQlEsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQjtnQkFDakIsT0FBTyxJQUFJLENBQUNELGFBQWE7WUFDM0I7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxZQUFZLEVBQUVDLGFBQWEsRUFBRTtnQkFDN0MsSUFBSUMsc0JBQXNCLEtBQUs7Z0JBRS9CLElBQU1DLHdCQUF3QlosMkJBQTJCLElBQUksQ0FBQ00sYUFBYTtnQkFFM0UsSUFBSU0sMEJBQTBCLElBQUksRUFBRTtvQkFDbEMsSUFBTUMsb0NBQW9DVCx1Q0FBdUNLLGVBQzNFSyx5Q0FBeUNULDRDQUE0Q0ksZUFDckZNLHlCQUF5QixBQUN2QixtQkFBR0YsMENBRG9CO3dCQUV2QkM7cUJBQ0QsR0FDREUsa0NBQWtDZCxxQ0FBcUNVLHdCQUN2RUssK0JBQStCRix1QkFBdUJHLE1BQU0sRUFDNURDLHdDQUF3Q0gsZ0NBQWdDRSxNQUFNO29CQUVwRixJQUFJRCxpQ0FBaUNFLHVDQUF1Qzt3QkFDMUVSLHNCQUFzQkssZ0NBQWdDSSxLQUFLLENBQUMsU0FBQ0MsZ0NBQWdDQyxPQUFVOzRCQUMvRSxJQUFNQyx3QkFBd0JSLHNCQUFzQixDQUFDTyxNQUFNLEVBQ3JERSxtQkFBbUJILGdDQUNuQkksbUJBQW1CRix1QkFDbkJHLHlCQUF5QkMsbURBQXNDLENBQUNDLG9CQUFvQixDQUFDSixrQkFBa0JDLGtCQUFrQmY7NEJBRS9ILElBQUlnQix3QkFBd0I7Z0NBQzFCLE9BQU8sSUFBSTs0QkFDYixDQUFDO3dCQUNIO29CQUN4QixDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT2Y7WUFDVDs7O1lBRUFrQixLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CdkIsYUFBYSxFQUFFSSxhQUFhLEVBQUU7Z0JBQy9DLElBQU1jLG1CQUFtQixJQUFJLENBQUNsQixhQUFhLEVBQ3JDbUIsbUJBQW1CbkIsZUFDbkJvQix5QkFBeUJDLG1EQUFzQyxDQUFDQyxvQkFBb0IsQ0FBQ0osa0JBQWtCQyxrQkFBa0JmLGdCQUN6SG9CLHVCQUF1Qkosd0JBQXdCLEdBQUc7Z0JBRXhELE9BQU9JO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBUztnQkFDUCxJQUFNQyxrQkFBa0JDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDM0IsYUFBYSxHQUNqRDRCLFlBQVlGLGlCQUNaRyxPQUFPO29CQUNMRCxXQUFBQTtnQkFDRjtnQkFFTixPQUFPQztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRUUsY0FBYyxFQUFFO2dCQUNwQyxJQUFNLEFBQUVILFlBQWNDLEtBQWRELFdBQ0ZGLGtCQUFrQkUsV0FDbEI1QixnQkFBZ0JnQyxJQUFBQSx3Q0FBZ0MsRUFBQ04saUJBQWlCSyxpQkFDbEVFLGNBQWMsSUFqRUh4QyxZQWlFbUJPO2dCQUVwQyxPQUFPaUM7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQmxDLGFBQWEsRUFBRTtnQkFDdEMsSUFBTWlDLGNBQWMsSUF2RUh4QyxZQXVFbUJPO2dCQUVwQyxPQUFPaUM7WUFDVDs7O1dBMUVtQnhDIn0=
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
matchBracketedNonTerminalNode: function() {
|
|
13
|
+
return matchBracketedNonTerminalNode;
|
|
14
|
+
},
|
|
15
|
+
bracketedNonTerminalChildNodeFromChildNodes: function() {
|
|
16
|
+
return bracketedNonTerminalChildNodeFromChildNodes;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _matcher = require("../matcher");
|
|
20
|
+
var _array = require("../utilities/array");
|
|
21
|
+
var _ruleNames = require("../ruleNames");
|
|
22
|
+
var _constants = require("../constants");
|
|
23
|
+
function matchBracketedNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
24
|
+
var bracketedNodeMatches = false;
|
|
25
|
+
if (!bracketedNodeMatches) {
|
|
26
|
+
var nonTerminalNodeMatches = _matcher.matcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB);
|
|
27
|
+
bracketedNodeMatches = nonTerminalNodeMatches; ///
|
|
28
|
+
}
|
|
29
|
+
if (!bracketedNodeMatches) {
|
|
30
|
+
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, bracketedNonTerminalChildNodeA = bracketedNonTerminalChildNodeFromChildNodes(childNodesA);
|
|
31
|
+
if (bracketedNonTerminalChildNodeA !== null) {
|
|
32
|
+
var nodeA = bracketedNonTerminalChildNodeA, nodeB = nonTerminalNodeB, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
33
|
+
bracketedNodeMatches = nodeMatches; ///
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!bracketedNodeMatches) {
|
|
37
|
+
var nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesB = nonTerminalNodeBChildNodes, bracketedNonTerminalChildNodeB = bracketedNonTerminalChildNodeFromChildNodes(childNodesB);
|
|
38
|
+
if (bracketedNonTerminalChildNodeB !== null) {
|
|
39
|
+
var nodeB1 = bracketedNonTerminalChildNodeB, nodeA1 = nonTerminalNodeA, nodeMatches1 = matchNode(nodeA1, nodeB1);
|
|
40
|
+
bracketedNodeMatches = nodeMatches1; ///
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return bracketedNodeMatches;
|
|
44
|
+
}
|
|
45
|
+
function bracketedNonTerminalChildNodeFromChildNodes(childNodes) {
|
|
46
|
+
var ruleName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _ruleNames.METASTATEMENT_RULE_NAME;
|
|
47
|
+
var bracketedNonTerminalChildNode = null;
|
|
48
|
+
var childNodesLength = childNodes.length;
|
|
49
|
+
if (childNodesLength === _constants.BRACKETED_CHILD_NODES_LENGTH) {
|
|
50
|
+
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();
|
|
51
|
+
if (firstChildNodeTerminalNode && secondChildNodeNonTerminalNode && thirdChildNodeTerminalNode) {
|
|
52
|
+
var nonTerminalNode = secondChildNode, firstTerminalNode = firstChildNode, secondTerminalNode = thirdChildNode, nonTerminalNodeRuleName = nonTerminalNode.getRuleName(), firstTerminalNodeContent = firstTerminalNode.getContent(), secondTerminalNodeContent = secondTerminalNode.getContent(), nonTerminalNodeRuleNameRuleName = nonTerminalNodeRuleName === ruleName, firstTerminalNodeContentLeftBracket = firstTerminalNodeContent === _constants.LEFT_BRACKET, secondTerminalNodeContentRightBracket = secondTerminalNodeContent === _constants.RIGHT_BRACKET;
|
|
53
|
+
if (nonTerminalNodeRuleNameRuleName && firstTerminalNodeContentLeftBracket && secondTerminalNodeContentRightBracket) {
|
|
54
|
+
bracketedNonTerminalChildNode = nonTerminalNode; ///
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return bracketedNonTerminalChildNode;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3Vic3RpdHV0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBtYXRjaGVyIH0gZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCB7IGZpcnN0LCBzZWNvbmQsIHRoaXJkIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBCUkFDS0VURURfQ0hJTERfTk9ERVNfTEVOR1RILCBMRUZUX0JSQUNLRVQsIFJJR0hUX0JSQUNLRVQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaEJyYWNrZXRlZE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCKSB7XG4gIGxldCBicmFja2V0ZWROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGlmICghYnJhY2tldGVkTm9kZU1hdGNoZXMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCKTtcblxuICAgIGJyYWNrZXRlZE5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgaWYgKCFicmFja2V0ZWROb2RlTWF0Y2hlcykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc0EgPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVBID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzQSk7XG5cbiAgICBpZiAoYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlQSA9IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAvLy9cbiAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hlci5tYXRjaE5vZGUobm9kZUEsIG5vZGVCKTtcblxuICAgICAgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBub2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKCFicmFja2V0ZWROb2RlTWF0Y2hlcykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVCID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzQik7XG5cbiAgICBpZiAoYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlQiA9IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQiwgIC8vL1xuICAgICAgICAgICAgbm9kZUEgPSBub25UZXJtaW5hbE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgIGJyYWNrZXRlZE5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWROb2RlTWF0Y2hlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgcnVsZU5hbWUgPSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSkge1xuICBsZXQgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGUgPSBudWxsO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gQlJBQ0tFVEVEX0NISUxEX05PREVTX0xFTkdUSCkge1xuICAgIGNvbnN0IGZpcnN0Q2hpbGROb2RlID0gZmlyc3QoY2hpbGROb2RlcyksXG4gICAgICAgICAgdGhpcmRDaGlsZE5vZGUgPSB0aGlyZChjaGlsZE5vZGVzKSxcbiAgICAgICAgICBzZWNvbmRDaGlsZE5vZGUgPSBzZWNvbmQoY2hpbGROb2RlcyksXG4gICAgICAgICAgZmlyc3RDaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBmaXJzdENoaWxkTm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRoaXJkQ2hpbGROb2RlVGVybWluYWxOb2RlID0gdGhpcmRDaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBzZWNvbmRDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBzZWNvbmRDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSAmJiBzZWNvbmRDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgJiYgdGhpcmRDaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHNlY29uZENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGUgPSBmaXJzdENoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBzZWNvbmRUZXJtaW5hbE5vZGUgPSB0aGlyZENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIGZpcnN0VGVybWluYWxOb2RlQ29udGVudCA9IGZpcnN0VGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgIHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnQgPSBzZWNvbmRUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9PT0gcnVsZU5hbWUpLFxuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50TGVmdEJyYWNrZXQgPSAoZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50ID09PSBMRUZUX0JSQUNLRVQpLFxuICAgICAgICAgICAgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudFJpZ2h0QnJhY2tldCA9IChzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50ID09PSBSSUdIVF9CUkFDS0VUKTtcblxuICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lUnVsZU5hbWUgJiYgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50TGVmdEJyYWNrZXQgJiYgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudFJpZ2h0QnJhY2tldCkge1xuICAgICAgICBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJtYXRjaEJyYWNrZXRlZE5vblRlcm1pbmFsTm9kZSIsImJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsImJyYWNrZXRlZE5vZGVNYXRjaGVzIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoZXIiLCJtYXRjaE5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNoaWxkTm9kZXNBIiwiYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVBIiwibm9kZUEiLCJub2RlQiIsIm5vZGVNYXRjaGVzIiwibWF0Y2hOb2RlIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQiIsImJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQiIsImNoaWxkTm9kZXMiLCJydWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwiYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGUiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiQlJBQ0tFVEVEX0NISUxEX05PREVTX0xFTkdUSCIsImZpcnN0Q2hpbGROb2RlIiwiZmlyc3QiLCJ0aGlyZENoaWxkTm9kZSIsInRoaXJkIiwic2Vjb25kQ2hpbGROb2RlIiwic2Vjb25kIiwiZmlyc3RDaGlsZE5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRoaXJkQ2hpbGROb2RlVGVybWluYWxOb2RlIiwic2Vjb25kQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJmaXJzdFRlcm1pbmFsTm9kZSIsInNlY29uZFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Iiwic2Vjb25kVGVybWluYWxOb2RlQ29udGVudCIsIm5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lUnVsZU5hbWUiLCJmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCIsIkxFRlRfQlJBQ0tFVCIsInNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnRSaWdodEJyYWNrZXQiLCJSSUdIVF9CUkFDS0VUIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFPZ0JBLDZCQUE2QjtlQUE3QkE7O0lBd0NBQywyQ0FBMkM7ZUFBM0NBOzs7dUJBN0NRO3FCQUNhO3lCQUNHO3lCQUNrQztBQUVuRSxTQUFTRCw4QkFBOEJFLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNoRixJQUFJQyx1QkFBdUIsS0FBSztJQUVoQyxJQUFJLENBQUNBLHNCQUFzQjtRQUN6QixJQUFNQyx5QkFBeUJDLGdCQUFPLENBQUNDLG9CQUFvQixDQUFDTCxrQkFBa0JDO1FBRTlFQyx1QkFBdUJDLHdCQUF5QixHQUFHO0lBQ3JELENBQUM7SUFFRCxJQUFJLENBQUNELHNCQUFzQjtRQUN6QixJQUFNSSw2QkFBNkJOLGlCQUFpQk8sYUFBYSxJQUMzREMsY0FBY0YsNEJBQ2RHLGlDQUFpQ1YsNENBQTRDUztRQUVuRixJQUFJQyxtQ0FBbUMsSUFBSSxFQUFFO1lBQzNDLElBQU1DLFFBQVFELGdDQUNSRSxRQUFRVixrQkFDUlcsY0FBY1IsZ0JBQU8sQ0FBQ1MsU0FBUyxDQUFDSCxPQUFPQztZQUU3Q1QsdUJBQXVCVSxhQUFhLEdBQUc7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUNWLHNCQUFzQjtRQUN6QixJQUFNWSw2QkFBNkJiLGlCQUFpQk0sYUFBYSxJQUMzRFEsY0FBY0QsNEJBQ2RFLGlDQUFpQ2pCLDRDQUE0Q2dCO1FBRW5GLElBQUlDLG1DQUFtQyxJQUFJLEVBQUU7WUFDM0MsSUFBTUwsU0FBUUssZ0NBQ1JOLFNBQVFWLGtCQUNSWSxlQUFjQyxVQUFVSCxRQUFPQztZQUVyQ1QsdUJBQXVCVSxjQUFhLEdBQUc7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPVjtBQUNUO0FBRU8sU0FBU0gsNENBQTRDa0IsVUFBVSxFQUFzQztRQUFwQ0MsV0FBQUEsaUVBQVdDLGtDQUF1QjtJQUN4RyxJQUFJQyxnQ0FBZ0MsSUFBSTtJQUV4QyxJQUFNQyxtQkFBbUJKLFdBQVdLLE1BQU07SUFFMUMsSUFBSUQscUJBQXFCRSx1Q0FBNEIsRUFBRTtRQUNyRCxJQUFNQyxpQkFBaUJDLElBQUFBLFlBQUssRUFBQ1IsYUFDdkJTLGlCQUFpQkMsSUFBQUEsWUFBSyxFQUFDVixhQUN2Qlcsa0JBQWtCQyxJQUFBQSxhQUFNLEVBQUNaLGFBQ3pCYSw2QkFBNkJOLGVBQWVPLGNBQWMsSUFDMURDLDZCQUE2Qk4sZUFBZUssY0FBYyxJQUMxREUsaUNBQWlDTCxnQkFBZ0JNLGlCQUFpQjtRQUV4RSxJQUFJSiw4QkFBOEJHLGtDQUFrQ0QsNEJBQTRCO1lBQzlGLElBQU1HLGtCQUFrQlAsaUJBQ2xCUSxvQkFBb0JaLGdCQUNwQmEscUJBQXFCWCxnQkFDckJZLDBCQUEwQkgsZ0JBQWdCSSxXQUFXLElBQ3JEQywyQkFBMkJKLGtCQUFrQkssVUFBVSxJQUN2REMsNEJBQTRCTCxtQkFBbUJJLFVBQVUsSUFDekRFLGtDQUFtQ0wsNEJBQTRCcEIsVUFDL0QwQixzQ0FBdUNKLDZCQUE2QkssdUJBQVksRUFDaEZDLHdDQUF5Q0osOEJBQThCSyx3QkFBYTtZQUUxRixJQUFJSixtQ0FBbUNDLHVDQUF1Q0UsdUNBQXVDO2dCQUNuSDFCLGdDQUFnQ2UsaUJBQWtCLEdBQUc7WUFDdkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBT2Y7QUFDVCJ9
|
package/lib/verify/metaproof.js
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _metaDerivation = /*#__PURE__*/ _interopRequireDefault(require("../verify/metaDerivation"));
|
|
12
|
-
var
|
|
12
|
+
var _matcher = require("../matcher");
|
|
13
13
|
var _query = require("../utilities/query");
|
|
14
14
|
function _interopRequireDefault(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -22,11 +22,11 @@ function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
|
|
|
22
22
|
metaproofContext.begin(metaproofNode);
|
|
23
23
|
var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, metaproofContext);
|
|
24
24
|
if (metaDerivationVerified) {
|
|
25
|
-
var lastMetaproofStep = metaproofContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), nodeA = metastatementNode, nodeB = conclusionMetastatementNode, nodeMatches =
|
|
25
|
+
var lastMetaproofStep = metaproofContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), nodeA = metastatementNode, nodeB = conclusionMetastatementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
26
26
|
metaproofVerified = nodeMatches; ///
|
|
27
27
|
}
|
|
28
28
|
metaproofVerified ? metaproofContext.complete(metaproofNode) : metaproofContext.complete(metaproofNode);
|
|
29
29
|
return metaproofVerified;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuXG5pbXBvcnQgeyBtYXRjaGVyIH0gZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL21ldGFEZXJpdmF0aW9uIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhcHJvb2ZOb2RlKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeU1ldGFEZXJpdmF0aW9uKG1ldGFEZXJpdmF0aW9uTm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsYXN0TWV0YXByb29mU3RlcCA9IG1ldGFwcm9vZkNvbnRleHQuZ2V0TGFzdE1ldGFwcm9vZlN0ZXAoKSxcbiAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gbGFzdE1ldGFwcm9vZlN0ZXAsIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb24uZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBub2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IG5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBtZXRhcHJvb2ZWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhcHJvb2ZOb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpO1xuXG4gIHJldHVybiBtZXRhcHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2YiLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFwcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwibWV0YXByb29mQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJsYXN0TWV0YXByb29mU3RlcCIsImdldExhc3RNZXRhcHJvb2ZTdGVwIiwibWV0YXByb29mU3RlcCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUiLCJub2RlQSIsIm5vZGVCIiwibm9kZU1hdGNoZXMiLCJtYXRjaGVyIiwibWF0Y2hOb2RlIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7bUVBUFM7dUJBRVQ7cUJBQ0U7Ozs7OztBQUUxQixJQUFNQywwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUM7QUFFM0IsU0FBU0YsZ0JBQWdCRyxhQUFhLEVBQUVDLFVBQVUsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDbkYsSUFBSUMsb0JBQW9CLEtBQUs7SUFFN0JELGlCQUFpQkUsS0FBSyxDQUFDSjtJQUV2QixJQUFNSyxxQkFBcUJQLHdCQUF3QkUsZ0JBQzdDTSx5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JIO0lBRXhFLElBQUlJLHdCQUF3QjtRQUMxQixJQUFNRSxvQkFBb0JOLGlCQUFpQk8sb0JBQW9CLElBQ3pEQyxnQkFBZ0JGLG1CQUNoQkcsb0JBQW9CRCxjQUFjRSxvQkFBb0IsSUFDdERDLDhCQUE4QlosV0FBV1csb0JBQW9CLElBQzdERSxRQUFRSCxtQkFDUkksUUFBUUYsNkJBQ1JHLGNBQWNDLGdCQUFPLENBQUNDLFNBQVMsQ0FBQ0osT0FBT0M7UUFFN0NaLG9CQUFvQmEsYUFBYyxHQUFHO0lBQ3ZDLENBQUM7SUFFRGIsb0JBQ0VELGlCQUFpQmlCLFFBQVEsQ0FBQ25CLGlCQUN4QkUsaUJBQWlCaUIsUUFBUSxDQUFDbkIsY0FBYztJQUU1QyxPQUFPRztBQUNUIn0=
|
package/lib/verify/proof.js
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _derivation = /*#__PURE__*/ _interopRequireDefault(require("../verify/derivation"));
|
|
12
|
-
var
|
|
12
|
+
var _matcher = require("../matcher");
|
|
13
13
|
var _query = require("../utilities/query");
|
|
14
14
|
function _interopRequireDefault(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -22,11 +22,11 @@ function verifyProof(proofNode, conclusion, proofContext) {
|
|
|
22
22
|
proofContext.begin(proofNode);
|
|
23
23
|
var derivationNode = derivationNodeQuery(proofNode), derivationVerified = (0, _derivation.default)(derivationNode, proofContext);
|
|
24
24
|
if (derivationVerified) {
|
|
25
|
-
var lastProofStep = proofContext.getLastProofStep(), proofStep = lastProofStep, statementNode = proofStep.getStatementNode(), conclusionStatementNode = conclusion.getStatementNode(), nodeA = statementNode, nodeB = conclusionStatementNode, nodeMatches =
|
|
25
|
+
var lastProofStep = proofContext.getLastProofStep(), proofStep = lastProofStep, statementNode = proofStep.getStatementNode(), conclusionStatementNode = conclusion.getStatementNode(), nodeA = statementNode, nodeB = conclusionStatementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
26
26
|
proofVerified = nodeMatches; ///
|
|
27
27
|
}
|
|
28
28
|
proofVerified ? proofContext.complete(proofNode) : proofContext.complete(proofNode);
|
|
29
29
|
return proofVerified;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVyaXZhdGlvblwiO1xuXG5pbXBvcnQgeyBtYXRjaGVyIH0gZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9vZi9kZXJpdmF0aW9uIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25jbHVzaW9uLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4ocHJvb2ZOb2RlKTtcblxuICBjb25zdCBkZXJpdmF0aW9uTm9kZSA9IGRlcml2YXRpb25Ob2RlUXVlcnkocHJvb2ZOb2RlKSxcbiAgICAgICAgZGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5RGVyaXZhdGlvbihkZXJpdmF0aW9uTm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICBpZiAoZGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgY29uc3QgbGFzdFByb29mU3RlcCA9IHByb29mQ29udGV4dC5nZXRMYXN0UHJvb2ZTdGVwKCksXG4gICAgICAgICAgcHJvb2ZTdGVwID0gbGFzdFByb29mU3RlcCwgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgY29uY2x1c2lvblN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uLmdldFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBub2RlQSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub2RlQiA9IGNvbmNsdXNpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9kZU1hdGNoZXMgPSBtYXRjaGVyLm1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgcHJvb2ZWZXJpZmllZCA9IG5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBwcm9vZlZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUocHJvb2ZOb2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuY29tcGxldGUocHJvb2ZOb2RlKTtcblxuICByZXR1cm4gcHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlQcm9vZiIsImRlcml2YXRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJwcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwicHJvb2ZDb250ZXh0IiwicHJvb2ZWZXJpZmllZCIsImJlZ2luIiwiZGVyaXZhdGlvbk5vZGUiLCJkZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZXJpdmF0aW9uIiwibGFzdFByb29mU3RlcCIsImdldExhc3RQcm9vZlN0ZXAiLCJwcm9vZlN0ZXAiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsImNvbmNsdXNpb25TdGF0ZW1lbnROb2RlIiwibm9kZUEiLCJub2RlQiIsIm5vZGVNYXRjaGVzIiwibWF0Y2hlciIsIm1hdGNoTm9kZSIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7OytEQVBLO3VCQUVMO3FCQUNFOzs7Ozs7QUFFMUIsSUFBTUMsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXZCLFNBQVNGLFlBQVlHLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxZQUFZLEVBQUU7SUFDdkUsSUFBSUMsZ0JBQWdCLEtBQUs7SUFFekJELGFBQWFFLEtBQUssQ0FBQ0o7SUFFbkIsSUFBTUssaUJBQWlCUCxvQkFBb0JFLFlBQ3JDTSxxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JIO0lBRTVELElBQUlJLG9CQUFvQjtRQUN0QixJQUFNRSxnQkFBZ0JOLGFBQWFPLGdCQUFnQixJQUM3Q0MsWUFBWUYsZUFDWkcsZ0JBQWdCRCxVQUFVRSxnQkFBZ0IsSUFDMUNDLDBCQUEwQlosV0FBV1csZ0JBQWdCLElBQ3JERSxRQUFRSCxlQUNSSSxRQUFRRix5QkFDUkcsY0FBY0MsZ0JBQU8sQ0FBQ0MsU0FBUyxDQUFDSixPQUFPQztRQUU3Q1osZ0JBQWdCYSxhQUFjLEdBQUc7SUFDbkMsQ0FBQztJQUVEYixnQkFDRUQsYUFBYWlCLFFBQVEsQ0FBQ25CLGFBQ3BCRSxhQUFhaUIsUUFBUSxDQUFDbkIsVUFBVTtJQUVwQyxPQUFPRztBQUNUIn0=
|
package/lib/verify/ruleProof.js
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _ruleDerivation = /*#__PURE__*/ _interopRequireDefault(require("../verify/ruleDerivation"));
|
|
12
|
-
var
|
|
12
|
+
var _matcher = require("../matcher");
|
|
13
13
|
var _query = require("../utilities/query");
|
|
14
14
|
function _interopRequireDefault(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -22,11 +22,11 @@ function verifyRuleProof(ruleProofNode, conclusion, metaproofContext) {
|
|
|
22
22
|
metaproofContext.begin(ruleProofNode);
|
|
23
23
|
var ruleDerivationNode = ruleDerivationNodeQuery(ruleProofNode), ruleDerivationVerified = (0, _ruleDerivation.default)(ruleDerivationNode, metaproofContext);
|
|
24
24
|
if (ruleDerivationVerified) {
|
|
25
|
-
var lastMetaproofStep = metaproofContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), nodeA = metastatementNode, nodeB = conclusionMetastatementNode, nodeMatches =
|
|
25
|
+
var lastMetaproofStep = metaproofContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), nodeA = metastatementNode, nodeB = conclusionMetastatementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
26
26
|
ruleProofVerified = nodeMatches; ///
|
|
27
27
|
}
|
|
28
28
|
ruleProofVerified ? metaproofContext.complete(ruleProofNode) : metaproofContext.complete(ruleProofNode);
|
|
29
29
|
return ruleProofVerified;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5UnVsZURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlRGVyaXZhdGlvblwiO1xuXG5pbXBvcnQgeyBtYXRjaGVyIH0gZnJvbSBcIi4uL21hdGNoZXJcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcnVsZURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVByb29mL3J1bGVEZXJpdmF0aW9uIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZVByb29mKHJ1bGVQcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHJ1bGVQcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihydWxlUHJvb2ZOb2RlKTtcblxuICBjb25zdCBydWxlRGVyaXZhdGlvbk5vZGUgPSBydWxlRGVyaXZhdGlvbk5vZGVRdWVyeShydWxlUHJvb2ZOb2RlKSxcbiAgICAgICAgcnVsZURlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeVJ1bGVEZXJpdmF0aW9uKHJ1bGVEZXJpdmF0aW9uTm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgaWYgKHJ1bGVEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsYXN0TWV0YXByb29mU3RlcCA9IG1ldGFwcm9vZkNvbnRleHQuZ2V0TGFzdE1ldGFwcm9vZlN0ZXAoKSxcbiAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gbGFzdE1ldGFwcm9vZlN0ZXAsIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb24uZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBub2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICBydWxlUHJvb2ZWZXJpZmllZCA9IG5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBydWxlUHJvb2ZWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShydWxlUHJvb2ZOb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHJ1bGVQcm9vZk5vZGUpO1xuXG4gIHJldHVybiBydWxlUHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlUHJvb2YiLCJydWxlRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVQcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwibWV0YXByb29mQ29udGV4dCIsInJ1bGVQcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJydWxlRGVyaXZhdGlvbk5vZGUiLCJydWxlRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5UnVsZURlcml2YXRpb24iLCJsYXN0TWV0YXByb29mU3RlcCIsImdldExhc3RNZXRhcHJvb2ZTdGVwIiwibWV0YXByb29mU3RlcCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUiLCJub2RlQSIsIm5vZGVCIiwibm9kZU1hdGNoZXMiLCJtYXRjaGVyIiwibWF0Y2hOb2RlIiwiY29tcGxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7bUVBUFM7dUJBRVQ7cUJBQ0U7Ozs7OztBQUUxQixJQUFNQywwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUM7QUFFM0IsU0FBU0YsZ0JBQWdCRyxhQUFhLEVBQUVDLFVBQVUsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDbkYsSUFBSUMsb0JBQW9CLEtBQUs7SUFFN0JELGlCQUFpQkUsS0FBSyxDQUFDSjtJQUV2QixJQUFNSyxxQkFBcUJQLHdCQUF3QkUsZ0JBQzdDTSx5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JIO0lBRXhFLElBQUlJLHdCQUF3QjtRQUMxQixJQUFNRSxvQkFBb0JOLGlCQUFpQk8sb0JBQW9CLElBQ3pEQyxnQkFBZ0JGLG1CQUNoQkcsb0JBQW9CRCxjQUFjRSxvQkFBb0IsSUFDdERDLDhCQUE4QlosV0FBV1csb0JBQW9CLElBQzdERSxRQUFRSCxtQkFDUkksUUFBUUYsNkJBQ1JHLGNBQWNDLGdCQUFPLENBQUNDLFNBQVMsQ0FBQ0osT0FBT0M7UUFFN0NaLG9CQUFvQmEsYUFBYyxHQUFHO0lBQ3ZDLENBQUM7SUFFRGIsb0JBQ0VELGlCQUFpQmlCLFFBQVEsQ0FBQ25CLGlCQUN4QkUsaUJBQWlCaUIsUUFBUSxDQUFDbkIsY0FBYztJQUU1QyxPQUFPRztBQUNUIn0=
|
package/package.json
CHANGED
package/src/axiomLemmaTheorem.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import Label from "./label";
|
|
4
|
-
import Consequence from "./consequence";
|
|
5
4
|
import Supposition from "./supposition";
|
|
5
|
+
import Consequence from "./consequence";
|
|
6
6
|
|
|
7
7
|
import { prune } from "./utilities/array";
|
|
8
8
|
import { someSubArray } from "./utilities/array";
|