occam-verify-cli 0.0.1077 → 0.0.1079
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/assertion/contained.js +47 -27
- package/lib/assertion/defined.js +44 -22
- package/lib/context/local.js +5 -5
- package/lib/equality.js +2 -2
- package/lib/equivalence.js +8 -21
- package/lib/mixins/statement/resolve.js +54 -0
- package/lib/premise.js +25 -6
- package/lib/rule.js +54 -16
- package/lib/statement/unqualified.js +15 -1
- package/lib/statement.js +23 -1
- package/lib/substitution/frameForMetavariable.js +7 -1
- package/lib/substitution/statementForMetavariable.js +2 -2
- package/lib/term.js +15 -8
- package/lib/type.js +1 -8
- package/lib/utilities/equivalences.js +3 -3
- package/lib/utilities/substitutions.js +83 -0
- package/package.json +1 -1
- package/src/assertion/contained.js +62 -32
- package/src/assertion/defined.js +63 -32
- package/src/context/local.js +3 -3
- package/src/equality.js +3 -2
- package/src/equivalence.js +6 -18
- package/src/mixins/statement/resolve.js +68 -0
- package/src/premise.js +33 -5
- package/src/rule.js +60 -16
- package/src/statement/unqualified.js +18 -0
- package/src/statement.js +30 -0
- package/src/substitution/frameForMetavariable.js +2 -0
- package/src/substitution/statementForMetavariable.js +2 -2
- package/src/term.js +17 -7
- package/src/type.js +0 -6
- package/src/utilities/equivalences.js +2 -2
- package/src/utilities/substitutions.js +86 -0
package/lib/equivalence.js
CHANGED
|
@@ -104,28 +104,15 @@ var Equivalence = /*#__PURE__*/ function() {
|
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
|
-
key: "
|
|
108
|
-
value: function
|
|
109
|
-
var termA = term,
|
|
110
|
-
var termB = term,
|
|
111
|
-
if (
|
|
107
|
+
key: "equateTerm",
|
|
108
|
+
value: function equateTerm(term) {
|
|
109
|
+
var termA = term, termEquates = this.terms.some(function(term) {
|
|
110
|
+
var termB = term, termAEqualToTermB = termA.isEqualTo(termB);
|
|
111
|
+
if (termAEqualToTermB) {
|
|
112
112
|
return true;
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
-
return
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
key: "matchTerms",
|
|
120
|
-
value: function matchTerms(terms) {
|
|
121
|
-
var _this = this;
|
|
122
|
-
var termsMatch = terms.every(function(term) {
|
|
123
|
-
var termMatches = _this.matchTerm(term);
|
|
124
|
-
if (termMatches) {
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
return termsMatch;
|
|
115
|
+
return termEquates;
|
|
129
116
|
}
|
|
130
117
|
},
|
|
131
118
|
{
|
|
@@ -237,7 +224,7 @@ var Equivalence = /*#__PURE__*/ function() {
|
|
|
237
224
|
var string;
|
|
238
225
|
string = this.terms.reduce(function(string, term) {
|
|
239
226
|
var termString = term.getString();
|
|
240
|
-
string = string === null ? termString : "".concat(string, " ").concat(termString);
|
|
227
|
+
string = string === null ? termString : "".concat(string, " = ").concat(termString);
|
|
241
228
|
return string;
|
|
242
229
|
}, null);
|
|
243
230
|
var type = this.getType(), typeString = type.getString();
|
|
@@ -267,4 +254,4 @@ var Equivalence = /*#__PURE__*/ function() {
|
|
|
267
254
|
return Equivalence;
|
|
268
255
|
}();
|
|
269
256
|
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcXVpdmFsZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpcEJyYWNrZXRzRnJvbVRlcm1Ob2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2JyYWNrZXRzXCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcXVpdmFsZW5jZSB7XG4gIGNvbnN0cnVjdG9yKHRlcm1zKSB7XG4gICAgdGhpcy50ZXJtcyA9IHRlcm1zO1xuICB9XG5cbiAgZ2V0VGVybXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybXM7XG4gIH1cblxuICBhZGRUZXJtKHRlcm0sIGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgIGVxdWl2YWxlbmNlU3RyaW5nID0gdGhpcy5hc1N0cmluZygpOyAgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYEFkZGluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gdG8gdGhlICcke2VxdWl2YWxlbmNlU3RyaW5nfScgZXF1aXZhbGVuY2UuYCk7XG5cbiAgICB0aGlzLnRlcm1zLnB1c2godGVybSk7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnRlcm1zLnJlZHVjZSgodHlwZSwgdGVybSkgPT4ge1xuICAgICAgY29uc3QgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgdHlwZSA9IHRlcm1UeXBlOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0ZXJtVHlwZVN1YlR5cGVPZlR5cGUgPSB0ZXJtVHlwZS5pc1N1YlR5cGVPZih0eXBlKTtcblxuICAgICAgICBpZiAodGVybVR5cGVTdWJUeXBlT2ZUeXBlKSB7XG4gICAgICAgICAgdHlwZSA9IHRlcm1UeXBlOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSwgbnVsbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIG1hdGNoVHlwZSh0eXBlKSB7XG4gICAgY29uc3QgdHlwZUEgPSB0eXBlOyAvLy9cblxuICAgIHR5cGUgPSB0aGlzLmdldFR5cGUoKTtcblxuICAgIGNvbnN0IHR5cGVCID0gdHlwZTsgLy8vXG5cbiAgICBjb25zdCB0eXBlQUVxdWFsVG9UeXBlQiA9IHR5cGVBLmlzRXF1YWxUbyh0eXBlQiksXG4gICAgICAgICAgdHlwZU1hdGNoZXMgPSB0eXBlQUVxdWFsVG9UeXBlQjsgIC8vL1xuXG4gICAgcmV0dXJuIHR5cGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hUZXJtKHRlcm0pIHtcbiAgICBjb25zdCB0ZXJtQSA9IHRlcm0sIC8vL1xuICAgICAgICAgIHRlcm1NYXRjaGVzID0gdGhpcy50ZXJtcy5zb21lKCh0ZXJtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXJtQiA9IHRlcm0sIC8vL1xuICAgICAgICAgICAgICAgICAgdGVybUFNYXRjaGVzVGVybUIgPSB0ZXJtQS5tYXRjaCh0ZXJtQik7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtQU1hdGNoZXNUZXJtQikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiB0ZXJtTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVGVybXModGVybXMpIHtcbiAgICBjb25zdCB0ZXJtc01hdGNoID0gdGVybXMuZXZlcnkoKHRlcm0pID0+IHtcbiAgICAgIGNvbnN0IHRlcm1NYXRjaGVzID0gdGhpcy5tYXRjaFRlcm0odGVybSk7XG5cbiAgICAgIGlmICh0ZXJtTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHRlcm1zTWF0Y2g7XG4gIH1cblxuICBtYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKSB7XG4gICAgdGVybU5vZGUgPSBzdHJpcEJyYWNrZXRzRnJvbVRlcm1Ob2RlKHRlcm1Ob2RlKTsgLy8vXG5cbiAgICBjb25zdCB0ZXJtTm9kZU1hdGNoZXMgPSB0aGlzLnRlcm1zLnNvbWUoKHRlcm0pID0+IHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlTWF0Y2hlcyA9IHRlcm0ubWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZSk7XG5cbiAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGVybU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMudGVybXMuc29tZSgodGVybSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGVCID0gdmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVOb2RlQU1hdGNoZXNWYXJpYWJsZU5vZGVCID0gdmFyaWFibGVOb2RlQS5tYXRjaCh2YXJpYWJsZU5vZGVCKTtcblxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVOb2RlQU1hdGNoZXNWYXJpYWJsZU5vZGVCKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiB2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hUZXJtTm9kZXModGVybU5vZGVzKSB7XG4gICAgY29uc3QgdGVybU5vZGVzTWF0Y2ggPSB0ZXJtTm9kZXMuZXZlcnkoKHRlcm1Ob2RlKSA9PiB7XG4gICAgICBjb25zdCB0ZXJtTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoVGVybU5vZGUodGVybU5vZGUpO1xuXG4gICAgICBpZiAodGVybU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlcm1Ob2Rlc01hdGNoO1xuICB9XG5cbiAgZ2V0R3JvdW5kZWRUZXJtcyhkZWZpbmVkVmFyaWFibGVzLCBncm91bmRlZFRlcm1zLCBsb2NhbENvbnRleHQpIHtcbiAgICB0aGlzLnRlcm1zLmZvckVhY2goKHRlcm0pID0+IHtcbiAgICAgIGNvbnN0IHRlcm1Hcm91bmRlZCA9IHRlcm0uaXNHcm91bmRlZChkZWZpbmVkVmFyaWFibGVzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAodGVybUdyb3VuZGVkKSB7XG4gICAgICAgIGNvbnN0IHRlcm1NYXRjaGVzR3JvdW5kZWRUZXJtID0gZ3JvdW5kZWRUZXJtcy5zb21lKChncm91bmRlZFRlcm0pID0+IHtcbiAgICAgICAgICBjb25zdCBncm91bmRlZFRlcm1Ob2RlID0gZ3JvdW5kZWRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICAgICAgICBncm91bmRlZFRlcm1Ob2RlTWF0Y2hlcyA9IHRlcm0ubWF0Y2hUZXJtTm9kZShncm91bmRlZFRlcm1Ob2RlKTtcblxuICAgICAgICAgIGlmIChncm91bmRlZFRlcm1Ob2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICghdGVybU1hdGNoZXNHcm91bmRlZFRlcm0pIHtcbiAgICAgICAgICBjb25zdCBncm91bmRlZFRlcm0gPSB0ZXJtO1xuXG4gICAgICAgICAgZ3JvdW5kZWRUZXJtcy5wdXNoKGdyb3VuZGVkVGVybSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzSW5pdGlhbGx5R3JvdW5kZWQobG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgaW5pdGlhbGx5R3JvdW5kZWRUZXJtcyA9IHRoaXMuZ2V0SW5pdGlhbGx5R3JvdW5kZWRUZXJtcyhsb2NhbENvbnRleHQpLFxuICAgICAgICAgIGluaXRpYWxseUdyb3VuZGVkVGVybXNMZW5ndGggPSBpbml0aWFsbHlHcm91bmRlZFRlcm1zLmxlbmd0aCxcbiAgICAgICAgICBpbml0aWFsbHlHcm91bmRlZCA9IChpbml0aWFsbHlHcm91bmRlZFRlcm1zTGVuZ3RoID4gMCk7XG5cbiAgICByZXR1cm4gaW5pdGlhbGx5R3JvdW5kZWQ7XG4gIH1cblxuICBpc0ltcGxpY2l0bHlHcm91bmRlZChkZWZpbmVkVmFyaWFibGVzLCBsb2NhbENvbnRleHQpIHtcbiAgICBjb25zdCBpbXBsaWNpdGx5R3JvdW5kZWRUZXJtcyA9IHRoaXMuZ2V0SW1wbGljaXRseUdyb3VuZGVkVGVybXMoZGVmaW5lZFZhcmlhYmxlcywgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBpbXBsaWNpdGx5R3JvdW5kZWRUZXJtc0xlbmd0aCA9IGltcGxpY2l0bHlHcm91bmRlZFRlcm1zLmxlbmd0aCxcbiAgICAgICAgICBpbXBsaWNpdGx5R3JvdW5kZWQgPSAoaW1wbGljaXRseUdyb3VuZGVkVGVybXNMZW5ndGggPiAwKTtcblxuICAgIHJldHVybiBpbXBsaWNpdGx5R3JvdW5kZWQ7XG4gIH1cblxuICBnZXRJbml0aWFsbHlHcm91bmRlZFRlcm1zKGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IGluaXRpYWxseUdyb3VuZGVkVGVybXMgPSB0aGlzLnRlcm1zLnJlZHVjZSgoaW5pdGlhbGx5R3JvdW5kZWRUZXJtcywgdGVybSkgPT4ge1xuICAgICAgY29uc3QgdGVybUluaXRpYWxseUdyb3VuZGVkID0gdGVybS5pc0luaXRpYWxseUdyb3VuZGVkKGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmICh0ZXJtSW5pdGlhbGx5R3JvdW5kZWQpIHtcbiAgICAgICAgY29uc3QgaW5pdGlhbGx5R3JvdW5kZWRUZXJtID0gdGVybTsgLy8vXG5cbiAgICAgICAgaW5pdGlhbGx5R3JvdW5kZWRUZXJtcy5wdXNoKGluaXRpYWxseUdyb3VuZGVkVGVybSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbml0aWFsbHlHcm91bmRlZFRlcm1zO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBpbml0aWFsbHlHcm91bmRlZFRlcm1zO1xuICB9XG5cbiAgZ2V0SW1wbGljaXRseUdyb3VuZGVkVGVybXMoZGVmaW5lZFZhcmlhYmxlcywgbG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgaW1wbGljaXRseUdyb3VuZGVkVGVybXMgPSB0aGlzLnRlcm1zLnJlZHVjZSgoaW1wbGljaXRseUdyb3VuZGVkVGVybXMsIHRlcm0pID0+IHtcbiAgICAgIGNvbnN0IHRlcm1JbXBsaWNpdGx5R3JvdW5kZWQgPSB0ZXJtLmlzSW1wbGljaXRseUdyb3VuZGVkKGRlZmluZWRWYXJpYWJsZXMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmICh0ZXJtSW1wbGljaXRseUdyb3VuZGVkKSB7XG4gICAgICAgIGNvbnN0IGltcGxpY2l0bHlHcm91bmRlZFRlcm0gPSB0ZXJtOyAvLy9cblxuICAgICAgICBpbXBsaWNpdGx5R3JvdW5kZWRUZXJtcy5wdXNoKGltcGxpY2l0bHlHcm91bmRlZFRlcm0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW1wbGljaXRseUdyb3VuZGVkVGVybXM7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGltcGxpY2l0bHlHcm91bmRlZFRlcm1zO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIHN0cmluZyA9IHRoaXMudGVybXMucmVkdWNlKChzdHJpbmcsIHRlcm0pID0+IHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgICBzdHJpbmcgPSAoc3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgIHRlcm1TdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgICBgJHtzdHJpbmd9ICR7dGVybVN0cmluZ31gO1xuXG4gICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH0sIG51bGwpO1xuXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgICAgIHR5cGVTdHJpbmcgPSB0eXBlLmdldFN0cmluZygpO1xuXG4gICAgc3RyaW5nID0gYCR7c3RyaW5nfToke3R5cGVTdHJpbmd9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgbWVyZ2UobGVmdEVxdWl2YWxlbmNlLCByaWdodEVxdWl2YWxlbmNlKSB7XG4gICAgY29uc3QgbGVmdEVxdWl2YWxlbmNlVGVybXMgPSBsZWZ0RXF1aXZhbGVuY2UuZ2V0VGVybXMoKSxcbiAgICAgICAgICByaWdodEVxdWl2YWxlbmNlVGVybXMgPSByaWdodEVxdWl2YWxlbmNlLmdldFRlcm1zKCksXG4gICAgICAgICAgdGVybXMgPSBbXG4gICAgICAgICAgICAuLi5sZWZ0RXF1aXZhbGVuY2VUZXJtcyxcbiAgICAgICAgICAgIC4uLnJpZ2h0RXF1aXZhbGVuY2VUZXJtc1xuICAgICAgICAgIF0sXG4gICAgICAgICAgZXF1aXZhbGVuY2UgPSBuZXcgRXF1aXZhbGVuY2UodGVybXMpO1xuXG4gICAgcmV0dXJuIGVxdWl2YWxlbmNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21MZWZ0VGVybUFuZFJpZ2h0VGVybShsZWZ0VGVybSwgcmlnaHRUZXJtKSB7XG4gICAgY29uc3QgdGVybXMgPSBbXG4gICAgICAgICAgICBsZWZ0VGVybSxcbiAgICAgICAgICAgIHJpZ2h0VGVybVxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXF1aXZhbGVuY2UgPSBuZXcgRXF1aXZhbGVuY2UodGVybXMpO1xuXG4gICAgcmV0dXJuIGVxdWl2YWxlbmNlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRXF1aXZhbGVuY2UiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1zIiwiZ2V0VGVybXMiLCJhZGRUZXJtIiwidGVybSIsImxvY2FsQ29udGV4dCIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJlcXVpdmFsZW5jZVN0cmluZyIsImFzU3RyaW5nIiwidHJhY2UiLCJwdXNoIiwiZ2V0VHlwZSIsInR5cGUiLCJyZWR1Y2UiLCJ0ZXJtVHlwZSIsInRlcm1UeXBlU3ViVHlwZU9mVHlwZSIsImlzU3ViVHlwZU9mIiwibWF0Y2hUeXBlIiwidHlwZUEiLCJ0eXBlQiIsInR5cGVBRXF1YWxUb1R5cGVCIiwiaXNFcXVhbFRvIiwidHlwZU1hdGNoZXMiLCJtYXRjaFRlcm0iLCJ0ZXJtQSIsInRlcm1NYXRjaGVzIiwic29tZSIsInRlcm1CIiwidGVybUFNYXRjaGVzVGVybUIiLCJtYXRjaCIsIm1hdGNoVGVybXMiLCJ0ZXJtc01hdGNoIiwiZXZlcnkiLCJtYXRjaFRlcm1Ob2RlIiwidGVybU5vZGUiLCJzdHJpcEJyYWNrZXRzRnJvbVRlcm1Ob2RlIiwidGVybU5vZGVNYXRjaGVzIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGVBIiwidmFyaWFibGVOb2RlTWF0Y2hlcyIsImdldE5vZGUiLCJ2YXJpYWJsZU5vZGVCIiwidmFyaWFibGVOb2RlQU1hdGNoZXNWYXJpYWJsZU5vZGVCIiwibWF0Y2hUZXJtTm9kZXMiLCJ0ZXJtTm9kZXMiLCJ0ZXJtTm9kZXNNYXRjaCIsImdldEdyb3VuZGVkVGVybXMiLCJkZWZpbmVkVmFyaWFibGVzIiwiZ3JvdW5kZWRUZXJtcyIsImZvckVhY2giLCJ0ZXJtR3JvdW5kZWQiLCJpc0dyb3VuZGVkIiwidGVybU1hdGNoZXNHcm91bmRlZFRlcm0iLCJncm91bmRlZFRlcm0iLCJncm91bmRlZFRlcm1Ob2RlIiwiZ3JvdW5kZWRUZXJtTm9kZU1hdGNoZXMiLCJpc0luaXRpYWxseUdyb3VuZGVkIiwiaW5pdGlhbGx5R3JvdW5kZWRUZXJtcyIsImdldEluaXRpYWxseUdyb3VuZGVkVGVybXMiLCJpbml0aWFsbHlHcm91bmRlZFRlcm1zTGVuZ3RoIiwibGVuZ3RoIiwiaW5pdGlhbGx5R3JvdW5kZWQiLCJpc0ltcGxpY2l0bHlHcm91bmRlZCIsImltcGxpY2l0bHlHcm91bmRlZFRlcm1zIiwiZ2V0SW1wbGljaXRseUdyb3VuZGVkVGVybXMiLCJpbXBsaWNpdGx5R3JvdW5kZWRUZXJtc0xlbmd0aCIsImltcGxpY2l0bHlHcm91bmRlZCIsInRlcm1Jbml0aWFsbHlHcm91bmRlZCIsImluaXRpYWxseUdyb3VuZGVkVGVybSIsInRlcm1JbXBsaWNpdGx5R3JvdW5kZWQiLCJpbXBsaWNpdGx5R3JvdW5kZWRUZXJtIiwic3RyaW5nIiwidHlwZVN0cmluZyIsIm1lcmdlIiwibGVmdEVxdWl2YWxlbmNlIiwicmlnaHRFcXVpdmFsZW5jZSIsImxlZnRFcXVpdmFsZW5jZVRlcm1zIiwicmlnaHRFcXVpdmFsZW5jZVRlcm1zIiwiZXF1aXZhbGVuY2UiLCJmcm9tTGVmdFRlcm1BbmRSaWdodFRlcm0iLCJsZWZ0VGVybSIsInJpZ2h0VGVybSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7cUJBTEs7d0JBQ2dCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUMsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLElBQUEsQUFBTUYsNEJBQU47YUFBTUEsWUFDUEcsS0FBSztnQ0FERUg7UUFFakIsSUFBSSxDQUFDRyxLQUFLLEdBQUdBOztrQkFGSUg7O1lBS25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0Us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
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcXVpdmFsZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpcEJyYWNrZXRzRnJvbVRlcm1Ob2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2JyYWNrZXRzXCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcXVpdmFsZW5jZSB7XG4gIGNvbnN0cnVjdG9yKHRlcm1zKSB7XG4gICAgdGhpcy50ZXJtcyA9IHRlcm1zO1xuICB9XG5cbiAgZ2V0VGVybXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybXM7XG4gIH1cblxuICBhZGRUZXJtKHRlcm0sIGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgIGVxdWl2YWxlbmNlU3RyaW5nID0gdGhpcy5hc1N0cmluZygpOyAgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYEFkZGluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gdG8gdGhlICcke2VxdWl2YWxlbmNlU3RyaW5nfScgZXF1aXZhbGVuY2UuYCk7XG5cbiAgICB0aGlzLnRlcm1zLnB1c2godGVybSk7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLnRlcm1zLnJlZHVjZSgodHlwZSwgdGVybSkgPT4ge1xuICAgICAgY29uc3QgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgdHlwZSA9IHRlcm1UeXBlOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0ZXJtVHlwZVN1YlR5cGVPZlR5cGUgPSB0ZXJtVHlwZS5pc1N1YlR5cGVPZih0eXBlKTtcblxuICAgICAgICBpZiAodGVybVR5cGVTdWJUeXBlT2ZUeXBlKSB7XG4gICAgICAgICAgdHlwZSA9IHRlcm1UeXBlOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSwgbnVsbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIG1hdGNoVHlwZSh0eXBlKSB7XG4gICAgY29uc3QgdHlwZUEgPSB0eXBlOyAvLy9cblxuICAgIHR5cGUgPSB0aGlzLmdldFR5cGUoKTtcblxuICAgIGNvbnN0IHR5cGVCID0gdHlwZTsgLy8vXG5cbiAgICBjb25zdCB0eXBlQUVxdWFsVG9UeXBlQiA9IHR5cGVBLmlzRXF1YWxUbyh0eXBlQiksXG4gICAgICAgICAgdHlwZU1hdGNoZXMgPSB0eXBlQUVxdWFsVG9UeXBlQjsgIC8vL1xuXG4gICAgcmV0dXJuIHR5cGVNYXRjaGVzO1xuICB9XG5cbiAgZXF1YXRlVGVybSh0ZXJtKSB7XG4gICAgY29uc3QgdGVybUEgPSB0ZXJtLCAvLy9cbiAgICAgICAgICB0ZXJtRXF1YXRlcyA9IHRoaXMudGVybXMuc29tZSgodGVybSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGVybUIgPSB0ZXJtLCAvLy9cbiAgICAgICAgICAgICAgICAgIHRlcm1BRXF1YWxUb1Rlcm1CID0gdGVybUEuaXNFcXVhbFRvKHRlcm1CKTtcblxuICAgICAgICAgICAgaWYgKHRlcm1BRXF1YWxUb1Rlcm1CKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlcm1FcXVhdGVzO1xuICB9XG5cbiAgbWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZSkge1xuICAgIHRlcm1Ob2RlID0gc3RyaXBCcmFja2V0c0Zyb21UZXJtTm9kZSh0ZXJtTm9kZSk7IC8vL1xuXG4gICAgY29uc3QgdGVybU5vZGVNYXRjaGVzID0gdGhpcy50ZXJtcy5zb21lKCh0ZXJtKSA9PiB7XG4gICAgICBjb25zdCB0ZXJtTm9kZU1hdGNoZXMgPSB0ZXJtLm1hdGNoVGVybU5vZGUodGVybU5vZGUpO1xuXG4gICAgICBpZiAodGVybU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlcm1Ob2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlTm9kZUEgPSB2YXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLnRlcm1zLnNvbWUoKHRlcm0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybS5nZXROb2RlKCksXG4gICAgICAgICAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlQiA9IHZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlTm9kZUFNYXRjaGVzVmFyaWFibGVOb2RlQiA9IHZhcmlhYmxlTm9kZUEubWF0Y2godmFyaWFibGVOb2RlQik7XG5cbiAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlTm9kZUFNYXRjaGVzVmFyaWFibGVOb2RlQikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVGVybU5vZGVzKHRlcm1Ob2Rlcykge1xuICAgIGNvbnN0IHRlcm1Ob2Rlc01hdGNoID0gdGVybU5vZGVzLmV2ZXJ5KCh0ZXJtTm9kZSkgPT4ge1xuICAgICAgY29uc3QgdGVybU5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuICAgICAgaWYgKHRlcm1Ob2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB0ZXJtTm9kZXNNYXRjaDtcbiAgfVxuXG4gIGdldEdyb3VuZGVkVGVybXMoZGVmaW5lZFZhcmlhYmxlcywgZ3JvdW5kZWRUZXJtcywgbG9jYWxDb250ZXh0KSB7XG4gICAgdGhpcy50ZXJtcy5mb3JFYWNoKCh0ZXJtKSA9PiB7XG4gICAgICBjb25zdCB0ZXJtR3JvdW5kZWQgPSB0ZXJtLmlzR3JvdW5kZWQoZGVmaW5lZFZhcmlhYmxlcywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHRlcm1Hcm91bmRlZCkge1xuICAgICAgICBjb25zdCB0ZXJtTWF0Y2hlc0dyb3VuZGVkVGVybSA9IGdyb3VuZGVkVGVybXMuc29tZSgoZ3JvdW5kZWRUZXJtKSA9PiB7XG4gICAgICAgICAgY29uc3QgZ3JvdW5kZWRUZXJtTm9kZSA9IGdyb3VuZGVkVGVybS5nZXROb2RlKCksXG4gICAgICAgICAgICAgICAgZ3JvdW5kZWRUZXJtTm9kZU1hdGNoZXMgPSB0ZXJtLm1hdGNoVGVybU5vZGUoZ3JvdW5kZWRUZXJtTm9kZSk7XG5cbiAgICAgICAgICBpZiAoZ3JvdW5kZWRUZXJtTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIXRlcm1NYXRjaGVzR3JvdW5kZWRUZXJtKSB7XG4gICAgICAgICAgY29uc3QgZ3JvdW5kZWRUZXJtID0gdGVybTtcblxuICAgICAgICAgIGdyb3VuZGVkVGVybXMucHVzaChncm91bmRlZFRlcm0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc0luaXRpYWxseUdyb3VuZGVkKGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IGluaXRpYWxseUdyb3VuZGVkVGVybXMgPSB0aGlzLmdldEluaXRpYWxseUdyb3VuZGVkVGVybXMobG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBpbml0aWFsbHlHcm91bmRlZFRlcm1zTGVuZ3RoID0gaW5pdGlhbGx5R3JvdW5kZWRUZXJtcy5sZW5ndGgsXG4gICAgICAgICAgaW5pdGlhbGx5R3JvdW5kZWQgPSAoaW5pdGlhbGx5R3JvdW5kZWRUZXJtc0xlbmd0aCA+IDApO1xuXG4gICAgcmV0dXJuIGluaXRpYWxseUdyb3VuZGVkO1xuICB9XG5cbiAgaXNJbXBsaWNpdGx5R3JvdW5kZWQoZGVmaW5lZFZhcmlhYmxlcywgbG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgaW1wbGljaXRseUdyb3VuZGVkVGVybXMgPSB0aGlzLmdldEltcGxpY2l0bHlHcm91bmRlZFRlcm1zKGRlZmluZWRWYXJpYWJsZXMsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgaW1wbGljaXRseUdyb3VuZGVkVGVybXNMZW5ndGggPSBpbXBsaWNpdGx5R3JvdW5kZWRUZXJtcy5sZW5ndGgsXG4gICAgICAgICAgaW1wbGljaXRseUdyb3VuZGVkID0gKGltcGxpY2l0bHlHcm91bmRlZFRlcm1zTGVuZ3RoID4gMCk7XG5cbiAgICByZXR1cm4gaW1wbGljaXRseUdyb3VuZGVkO1xuICB9XG5cbiAgZ2V0SW5pdGlhbGx5R3JvdW5kZWRUZXJtcyhsb2NhbENvbnRleHQpIHtcbiAgICBjb25zdCBpbml0aWFsbHlHcm91bmRlZFRlcm1zID0gdGhpcy50ZXJtcy5yZWR1Y2UoKGluaXRpYWxseUdyb3VuZGVkVGVybXMsIHRlcm0pID0+IHtcbiAgICAgIGNvbnN0IHRlcm1Jbml0aWFsbHlHcm91bmRlZCA9IHRlcm0uaXNJbml0aWFsbHlHcm91bmRlZChsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAodGVybUluaXRpYWxseUdyb3VuZGVkKSB7XG4gICAgICAgIGNvbnN0IGluaXRpYWxseUdyb3VuZGVkVGVybSA9IHRlcm07IC8vL1xuXG4gICAgICAgIGluaXRpYWxseUdyb3VuZGVkVGVybXMucHVzaChpbml0aWFsbHlHcm91bmRlZFRlcm0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5pdGlhbGx5R3JvdW5kZWRUZXJtcztcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gaW5pdGlhbGx5R3JvdW5kZWRUZXJtcztcbiAgfVxuXG4gIGdldEltcGxpY2l0bHlHcm91bmRlZFRlcm1zKGRlZmluZWRWYXJpYWJsZXMsIGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IGltcGxpY2l0bHlHcm91bmRlZFRlcm1zID0gdGhpcy50ZXJtcy5yZWR1Y2UoKGltcGxpY2l0bHlHcm91bmRlZFRlcm1zLCB0ZXJtKSA9PiB7XG4gICAgICBjb25zdCB0ZXJtSW1wbGljaXRseUdyb3VuZGVkID0gdGVybS5pc0ltcGxpY2l0bHlHcm91bmRlZChkZWZpbmVkVmFyaWFibGVzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAodGVybUltcGxpY2l0bHlHcm91bmRlZCkge1xuICAgICAgICBjb25zdCBpbXBsaWNpdGx5R3JvdW5kZWRUZXJtID0gdGVybTsgLy8vXG5cbiAgICAgICAgaW1wbGljaXRseUdyb3VuZGVkVGVybXMucHVzaChpbXBsaWNpdGx5R3JvdW5kZWRUZXJtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGltcGxpY2l0bHlHcm91bmRlZFRlcm1zO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBpbXBsaWNpdGx5R3JvdW5kZWRUZXJtcztcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGxldCBzdHJpbmc7XG5cbiAgICBzdHJpbmcgPSB0aGlzLnRlcm1zLnJlZHVjZSgoc3RyaW5nLCB0ZXJtKSA9PiB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICAgICAgc3RyaW5nID0gKHN0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICB0ZXJtU3RyaW5nIDpcbiAgICAgICAgICAgICAgICAgICAgYCR7c3RyaW5nfSA9ICR7dGVybVN0cmluZ31gO1xuXG4gICAgICByZXR1cm4gc3RyaW5nO1xuICAgIH0sIG51bGwpO1xuXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgICAgIHR5cGVTdHJpbmcgPSB0eXBlLmdldFN0cmluZygpO1xuXG4gICAgc3RyaW5nID0gYCR7c3RyaW5nfToke3R5cGVTdHJpbmd9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgbWVyZ2UobGVmdEVxdWl2YWxlbmNlLCByaWdodEVxdWl2YWxlbmNlKSB7XG4gICAgY29uc3QgbGVmdEVxdWl2YWxlbmNlVGVybXMgPSBsZWZ0RXF1aXZhbGVuY2UuZ2V0VGVybXMoKSxcbiAgICAgICAgICByaWdodEVxdWl2YWxlbmNlVGVybXMgPSByaWdodEVxdWl2YWxlbmNlLmdldFRlcm1zKCksXG4gICAgICAgICAgdGVybXMgPSBbXG4gICAgICAgICAgICAuLi5sZWZ0RXF1aXZhbGVuY2VUZXJtcyxcbiAgICAgICAgICAgIC4uLnJpZ2h0RXF1aXZhbGVuY2VUZXJtc1xuICAgICAgICAgIF0sXG4gICAgICAgICAgZXF1aXZhbGVuY2UgPSBuZXcgRXF1aXZhbGVuY2UodGVybXMpO1xuXG4gICAgcmV0dXJuIGVxdWl2YWxlbmNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21MZWZ0VGVybUFuZFJpZ2h0VGVybShsZWZ0VGVybSwgcmlnaHRUZXJtKSB7XG4gICAgY29uc3QgdGVybXMgPSBbXG4gICAgICAgICAgICBsZWZ0VGVybSxcbiAgICAgICAgICAgIHJpZ2h0VGVybVxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXF1aXZhbGVuY2UgPSBuZXcgRXF1aXZhbGVuY2UodGVybXMpO1xuXG4gICAgcmV0dXJuIGVxdWl2YWxlbmNlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRXF1aXZhbGVuY2UiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1zIiwiZ2V0VGVybXMiLCJhZGRUZXJtIiwidGVybSIsImxvY2FsQ29udGV4dCIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJlcXVpdmFsZW5jZVN0cmluZyIsImFzU3RyaW5nIiwidHJhY2UiLCJwdXNoIiwiZ2V0VHlwZSIsInR5cGUiLCJyZWR1Y2UiLCJ0ZXJtVHlwZSIsInRlcm1UeXBlU3ViVHlwZU9mVHlwZSIsImlzU3ViVHlwZU9mIiwibWF0Y2hUeXBlIiwidHlwZUEiLCJ0eXBlQiIsInR5cGVBRXF1YWxUb1R5cGVCIiwiaXNFcXVhbFRvIiwidHlwZU1hdGNoZXMiLCJlcXVhdGVUZXJtIiwidGVybUEiLCJ0ZXJtRXF1YXRlcyIsInNvbWUiLCJ0ZXJtQiIsInRlcm1BRXF1YWxUb1Rlcm1CIiwibWF0Y2hUZXJtTm9kZSIsInRlcm1Ob2RlIiwic3RyaXBCcmFja2V0c0Zyb21UZXJtTm9kZSIsInRlcm1Ob2RlTWF0Y2hlcyIsIm1hdGNoVmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlQSIsInZhcmlhYmxlTm9kZU1hdGNoZXMiLCJnZXROb2RlIiwidmFyaWFibGVOb2RlQiIsInZhcmlhYmxlTm9kZUFNYXRjaGVzVmFyaWFibGVOb2RlQiIsIm1hdGNoIiwibWF0Y2hUZXJtTm9kZXMiLCJ0ZXJtTm9kZXMiLCJ0ZXJtTm9kZXNNYXRjaCIsImV2ZXJ5IiwiZ2V0R3JvdW5kZWRUZXJtcyIsImRlZmluZWRWYXJpYWJsZXMiLCJncm91bmRlZFRlcm1zIiwiZm9yRWFjaCIsInRlcm1Hcm91bmRlZCIsImlzR3JvdW5kZWQiLCJ0ZXJtTWF0Y2hlc0dyb3VuZGVkVGVybSIsImdyb3VuZGVkVGVybSIsImdyb3VuZGVkVGVybU5vZGUiLCJncm91bmRlZFRlcm1Ob2RlTWF0Y2hlcyIsImlzSW5pdGlhbGx5R3JvdW5kZWQiLCJpbml0aWFsbHlHcm91bmRlZFRlcm1zIiwiZ2V0SW5pdGlhbGx5R3JvdW5kZWRUZXJtcyIsImluaXRpYWxseUdyb3VuZGVkVGVybXNMZW5ndGgiLCJsZW5ndGgiLCJpbml0aWFsbHlHcm91bmRlZCIsImlzSW1wbGljaXRseUdyb3VuZGVkIiwiaW1wbGljaXRseUdyb3VuZGVkVGVybXMiLCJnZXRJbXBsaWNpdGx5R3JvdW5kZWRUZXJtcyIsImltcGxpY2l0bHlHcm91bmRlZFRlcm1zTGVuZ3RoIiwiaW1wbGljaXRseUdyb3VuZGVkIiwidGVybUluaXRpYWxseUdyb3VuZGVkIiwiaW5pdGlhbGx5R3JvdW5kZWRUZXJtIiwidGVybUltcGxpY2l0bHlHcm91bmRlZCIsImltcGxpY2l0bHlHcm91bmRlZFRlcm0iLCJzdHJpbmciLCJ0eXBlU3RyaW5nIiwibWVyZ2UiLCJsZWZ0RXF1aXZhbGVuY2UiLCJyaWdodEVxdWl2YWxlbmNlIiwibGVmdEVxdWl2YWxlbmNlVGVybXMiLCJyaWdodEVxdWl2YWxlbmNlVGVybXMiLCJlcXVpdmFsZW5jZSIsImZyb21MZWZ0VGVybUFuZFJpZ2h0VGVybSIsImxlZnRUZXJtIiwicmlnaHRUZXJtIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OztxQkFMSzt3QkFDZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQyxJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsSUFBQSxBQUFNRiw0QkFBTjthQUFNQSxZQUNQRyxLQUFLO2dDQURFSDtRQUVqQixJQUFJLENBQUNHLEtBQUssR0FBR0E7O2tCQUZJSDs7WUFLbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsS0FBSztZQUNuQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxJQUFJLEVBQUVDLFlBQVk7Z0JBQ3hCLElBQU1DLGFBQWFGLEtBQUtHLFNBQVMsSUFDM0JDLG9CQUFvQixJQUFJLENBQUNDLFFBQVEsSUFBSyxHQUFHO2dCQUUvQ0osYUFBYUssS0FBSyxDQUFDLEFBQUMsZUFBMENGLE9BQTVCRixZQUFXLG1CQUFtQyxPQUFsQkUsbUJBQWtCO2dCQUVoRixJQUFJLENBQUNQLEtBQUss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
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _defined = /*#__PURE__*/ _interop_require_default(require("../../assertion/defined"));
|
|
12
|
+
var _contained = /*#__PURE__*/ _interop_require_default(require("../../assertion/contained"));
|
|
13
|
+
var _query = require("../../utilities/query");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var definedAssertionNodeQuery = (0, _query.nodeQuery)("/statement/definedAssertion"), containedAssertionNodeQuery = (0, _query.nodeQuery)("/statement/containedAssertion");
|
|
20
|
+
function resolveAsDefinedAssertion(statement, substitutions, localContextA, localContextB) {
|
|
21
|
+
var resolvedAsDefinedAssertion = false;
|
|
22
|
+
var localContext = localContextA, statementNode = statement.getNode(), definedAssertionNode = definedAssertionNodeQuery(statementNode), definedAssertion = _defined.default.fromDefinedAssertionNode(definedAssertionNode, localContext);
|
|
23
|
+
if (definedAssertion !== null) {
|
|
24
|
+
var statementString = statement.getString();
|
|
25
|
+
localContextB.trace("Resolving the '".concat(statementString, "' statement as a defined assertion..."));
|
|
26
|
+
var localContext1 = localContextB, definedAssertionVerified = definedAssertion.resolve(substitutions, localContext1);
|
|
27
|
+
resolvedAsDefinedAssertion = definedAssertionVerified; ///
|
|
28
|
+
if (resolvedAsDefinedAssertion) {
|
|
29
|
+
localContextB.debug("...resolved the '".concat(statementString, "' statement as a defined assertion."));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return resolvedAsDefinedAssertion;
|
|
33
|
+
}
|
|
34
|
+
function resolveAsContainedAssertion(statement, substitutions, localContextA, localContextB) {
|
|
35
|
+
var resolvedAsContainedAssertion = false;
|
|
36
|
+
var localContext = localContextA, statementNode = statement.getNode(), containedAssertionNode = containedAssertionNodeQuery(statementNode), containedAssertion = _contained.default.fromContainedAssertionNode(containedAssertionNode, localContext);
|
|
37
|
+
if (containedAssertion !== null) {
|
|
38
|
+
var statementString = statement.getString();
|
|
39
|
+
localContextB.trace("Resolving the '".concat(statementString, "' statement as a contained assertion..."));
|
|
40
|
+
var localContext1 = localContextB, containedAssertionVerified = containedAssertion.resolve(substitutions, localContext1);
|
|
41
|
+
resolvedAsContainedAssertion = containedAssertionVerified; ///
|
|
42
|
+
if (resolvedAsContainedAssertion) {
|
|
43
|
+
localContextB.debug("...resolved the '".concat(statementString, "' statement as a contained assertion."));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return resolvedAsContainedAssertion;
|
|
47
|
+
}
|
|
48
|
+
var resolveMixins = [
|
|
49
|
+
resolveAsDefinedAssertion,
|
|
50
|
+
resolveAsContainedAssertion
|
|
51
|
+
];
|
|
52
|
+
var _default = resolveMixins;
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3Jlc29sdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uIGZyb20gXCIuLi8uLi9hc3NlcnRpb24vZGVmaW5lZFwiO1xuaW1wb3J0IENvbnRhaW5lZEFzc2VydGlvbiBmcm9tIFwiLi4vLi4vYXNzZXJ0aW9uL2NvbnRhaW5lZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2RlZmluZWRBc3NlcnRpb25cIiksXG4gICAgICBjb250YWluZWRBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2NvbnRhaW5lZEFzc2VydGlvblwiKTtcblxuZnVuY3Rpb24gcmVzb2x2ZUFzRGVmaW5lZEFzc2VydGlvbihzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IHJlc29sdmVkQXNEZWZpbmVkQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgbG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0QSwgLy8vXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGRlZmluZWRBc3NlcnRpb24gPSBEZWZpbmVkQXNzZXJ0aW9uLmZyb21EZWZpbmVkQXNzZXJ0aW9uTm9kZShkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IGxvY2FsQ29udGV4dEIsIC8vL1xuICAgICAgICAgIGRlZmluZWRBc3NlcnRpb25WZXJpZmllZCA9IGRlZmluZWRBc3NlcnRpb24ucmVzb2x2ZShzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmVzb2x2ZWRBc0RlZmluZWRBc3NlcnRpb24gPSBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHJlc29sdmVkQXNEZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHRCLmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVkQXNEZWZpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlQXNDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCByZXNvbHZlZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgbG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0QSwgLy8vXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBjb250YWluZWRBc3NlcnRpb25Ob2RlID0gY29udGFpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBjb250YWluZWRBc3NlcnRpb24gPSBDb250YWluZWRBc3NlcnRpb24uZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAoY29udGFpbmVkQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgbG9jYWxDb250ZXh0Qi50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbENvbnRleHRCLCAvLy9cbiAgICAgICAgICBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IGNvbnRhaW5lZEFzc2VydGlvbi5yZXNvbHZlKHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICByZXNvbHZlZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHJlc29sdmVkQXNDb250YWluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnJlc29sdmVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXNvbHZlZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5jb25zdCByZXNvbHZlTWl4aW5zID0gW1xuICByZXNvbHZlQXNEZWZpbmVkQXNzZXJ0aW9uLFxuICByZXNvbHZlQXNDb250YWluZWRBc3NlcnRpb25cbl07XG5cbmV4cG9ydCBkZWZhdWx0IHJlc29sdmVNaXhpbnM7XG4iXSwibmFtZXMiOlsiZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsInJlc29sdmVBc0RlZmluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJyZXNvbHZlZEFzRGVmaW5lZEFzc2VydGlvbiIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwiZGVmaW5lZEFzc2VydGlvbk5vZGUiLCJkZWZpbmVkQXNzZXJ0aW9uIiwiRGVmaW5lZEFzc2VydGlvbiIsImZyb21EZWZpbmVkQXNzZXJ0aW9uTm9kZSIsInN0YXRlbWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkIiwicmVzb2x2ZSIsImRlYnVnIiwicmVzb2x2ZUFzQ29udGFpbmVkQXNzZXJ0aW9uIiwicmVzb2x2ZWRBc0NvbnRhaW5lZEFzc2VydGlvbiIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJjb250YWluZWRBc3NlcnRpb24iLCJDb250YWluZWRBc3NlcnRpb24iLCJmcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkIiwicmVzb2x2ZU1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUVBOzs7ZUFBQTs7OzhEQWpFNkI7Z0VBQ0U7cUJBRUw7Ozs7OztBQUUxQixJQUFNQSw0QkFBNEJDLElBQUFBLGdCQUFTLEVBQUMsZ0NBQ3RDQyw4QkFBOEJELElBQUFBLGdCQUFTLEVBQUM7QUFFOUMsU0FBU0UsMEJBQTBCQyxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQ3ZGLElBQUlDLDZCQUE2QjtJQUVqQyxJQUFNQyxlQUFlSCxlQUNmSSxnQkFBZ0JOLFVBQVVPLE9BQU8sSUFDakNDLHVCQUF1QlosMEJBQTBCVSxnQkFDakRHLG1CQUFtQkMsZ0JBQWdCLENBQUNDLHdCQUF3QixDQUFDSCxzQkFBc0JIO0lBRXpGLElBQUlJLHFCQUFxQixNQUFNO1FBQzdCLElBQU1HLGtCQUFrQlosVUFBVWEsU0FBUztRQUUzQ1YsY0FBY1csS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0I7UUFFdEQsSUFBTVAsZ0JBQWVGLGVBQ2ZZLDJCQUEyQk4saUJBQWlCTyxPQUFPLENBQUNmLGVBQWVJO1FBRXpFRCw2QkFBNkJXLDBCQUEwQixHQUFHO1FBRTFELElBQUlYLDRCQUE0QjtZQUM5QkQsY0FBY2MsS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCTCxpQkFBZ0I7UUFDMUQ7SUFDRjtJQUVBLE9BQU9SO0FBQ1Q7QUFFQSxTQUFTYyw0QkFBNEJsQixTQUFTLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQ3pGLElBQUlnQiwrQkFBK0I7SUFFbkMsSUFBTWQsZUFBZUgsZUFDZkksZ0JBQWdCTixVQUFVTyxPQUFPLElBQ2pDYSx5QkFBeUJ0Qiw0QkFBNEJRLGdCQUNyRGUscUJBQXFCQyxrQkFBa0IsQ0FBQ0MsMEJBQTBCLENBQUNILHdCQUF3QmY7SUFFakcsSUFBSWdCLHVCQUF1QixNQUFNO1FBQy9CLElBQU1ULGtCQUFrQlosVUFBVWEsU0FBUztRQUUzQ1YsY0FBY1csS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0I7UUFFdEQsSUFBTVAsZ0JBQWVGLGVBQ2ZxQiw2QkFBNkJILG1CQUFtQkwsT0FBTyxDQUFDZixlQUFlSTtRQUU3RWMsK0JBQStCSyw0QkFBNEIsR0FBRztRQUU5RCxJQUFJTCw4QkFBOEI7WUFDaENoQixjQUFjYyxLQUFLLENBQUMsQUFBQyxvQkFBbUMsT0FBaEJMLGlCQUFnQjtRQUMxRDtJQUNGO0lBRUEsT0FBT087QUFDVDtBQUVBLElBQU1NLGdCQUFnQjtJQUNwQjFCO0lBQ0FtQjtDQUNEO0lBRUQsV0FBZU8ifQ==
|
package/lib/premise.js
CHANGED
|
@@ -70,6 +70,23 @@ var Premise = /*#__PURE__*/ function() {
|
|
|
70
70
|
return this.unqualifiedStatement.getStatement();
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
|
+
{
|
|
74
|
+
key: "resolveIndependently",
|
|
75
|
+
value: function resolveIndependently(substitutions, localContext) {
|
|
76
|
+
var resolvedIndependently;
|
|
77
|
+
var premiseString = this.getString();
|
|
78
|
+
var localContextB = localContext; ///
|
|
79
|
+
localContext = _local.default.fromFileContext(this.fileContext);
|
|
80
|
+
var localContextA = localContext; ///
|
|
81
|
+
localContextB.trace("Resolving the '".concat(premiseString, "' premise independently..."));
|
|
82
|
+
var unqualifiedStatementResolvedIndependently = this.unqualifiedStatement.resolveIndependently(substitutions, localContextA, localContextB);
|
|
83
|
+
resolvedIndependently = unqualifiedStatementResolvedIndependently; ///
|
|
84
|
+
if (resolvedIndependently) {
|
|
85
|
+
localContextB.trace("...resolved the '".concat(premiseString, "' premise independently."));
|
|
86
|
+
}
|
|
87
|
+
return resolvedIndependently;
|
|
88
|
+
}
|
|
89
|
+
},
|
|
73
90
|
{
|
|
74
91
|
key: "unifyProofStep",
|
|
75
92
|
value: function unifyProofStep(proofStep, substitutions, localContext) {
|
|
@@ -116,15 +133,17 @@ var Premise = /*#__PURE__*/ function() {
|
|
|
116
133
|
value: function unifySubproof(subproof, substitutions, localContext) {
|
|
117
134
|
var subproofUnified = false;
|
|
118
135
|
var premise = this, subproofString = subproof.getString(), premiseStatement = premise.getStatement(), premiseStatementString = premiseStatement.getString();
|
|
119
|
-
|
|
120
|
-
var statement = this.unqualifiedStatement.getStatement(),
|
|
136
|
+
var localContextB = localContext; ///
|
|
137
|
+
var statement = this.unqualifiedStatement.getStatement(), statementTokens = statement.getTokens(), context = this.fileContext, tokens = statementTokens; ///
|
|
121
138
|
localContext = _local.default.fromContextAndTokens(context, tokens); ///
|
|
122
|
-
var
|
|
139
|
+
var localContextA = localContext; ///
|
|
140
|
+
localContextB.trace("Unifying the '".concat(subproofString, "' subproof with the premise's '").concat(premiseStatementString, "' statement..."));
|
|
141
|
+
var statementNode = statement.getNode(), subproofAssertion = _subproof.default.fromStatementNode(statementNode, localContext);
|
|
123
142
|
if (subproofAssertion !== null) {
|
|
124
|
-
subproofUnified = subproofAssertion.unifySubproof(subproof, substitutions,
|
|
143
|
+
subproofUnified = subproofAssertion.unifySubproof(subproof, substitutions, localContextA, localContextB);
|
|
125
144
|
}
|
|
126
145
|
if (subproofUnified) {
|
|
127
|
-
|
|
146
|
+
localContextB.debug("...unified the '".concat(subproofString, "' subproof with the premise's '").concat(premiseStatementString, "' statement."));
|
|
128
147
|
}
|
|
129
148
|
return subproofUnified;
|
|
130
149
|
}
|
|
@@ -182,4 +201,4 @@ Object.assign(_shim.default, {
|
|
|
182
201
|
});
|
|
183
202
|
var _default = Premise;
|
|
184
203
|
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbiBmcm9tIFwiLi9hc3NlcnRpb24vc3VicHJvb2ZcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9hc3NpZ25tZW50c1wiO1xuaW1wb3J0IHsgdW5xdWFsaWZpZWRTdGF0ZW1lbnRGcm9tSlNPTiwgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb1VucXVhbGlmaWVkU3RhdGVtZW50SlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ByZW1pc2UvdW5xdWFsaWZpZWRTdGF0ZW1lbnRcIik7XG5cbmNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRVbnF1YWxpZmllZFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7IH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7IHJldHVybiB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpOyB9XG5cbiAgdW5pZnlQcm9vZlN0ZXAocHJvb2ZTdGVwLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgcHJvb2ZTdGVwVW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2YgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2YoKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBwcm9vZlN0ZXAuZ2V0U3RhdGVtZW50KCk7XG5cbiAgICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgICBsZXQgc3VicHJvb2ZVbmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChzdWJwcm9vZiAhPT0gbnVsbCkge1xuICAgICAgc3VicHJvb2ZVbmlmaWVkID0gdGhpcy51bmlmeVN1YnByb29mKHN1YnByb29mLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gdGhpcy51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCB8fCBzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dCh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgICAgY29uc3QgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMucmVzb2x2ZShsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgcHJvb2ZTdGVwVW5pZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJvb2ZTdGVwVW5pZmllZCA/XG4gICAgICBzdWJzdGl0dXRpb25zLmNvbnRpbnVlKCkgOlxuICAgICAgICBzdWJzdGl0dXRpb25zLnJvbGxiYWNrKGxvY2FsQ29udGV4dCk7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwVW5pZmllZDtcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJlbWlzZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb25zdCBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQodGhpcy5maWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCBsb2NhbENvbnRleHRBID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UuLi5gKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mVW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZSA9IHRoaXMsIC8vL1xuICAgICAgICAgIHN1YnByb29mU3RyaW5nID0gc3VicHJvb2YuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudCA9IHByZW1pc2UuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudFN0cmluZyA9IHByZW1pc2VTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlIHByZW1pc2UncyAnJHtwcmVtaXNlU3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50Li4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN0YXRlbWVudFRva2VucyA9IHN0YXRlbWVudC5nZXRUb2tlbnMoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcy5maWxlQ29udGV4dCwgLy8vXG4gICAgICAgICAgdG9rZW5zID0gc3RhdGVtZW50VG9rZW5zOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tQ29udGV4dEFuZFRva2Vucyhjb250ZXh0LCB0b2tlbnMpOyAgLy8vXG5cbiAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvbiA9IFN1YnByb29mQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VicHJvb2ZBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgIHN1YnByb29mVW5pZmllZCA9IHN1YnByb29mQXNzZXJ0aW9uLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlIHByZW1pc2UncyAnJHtwcmVtaXNlU3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZlVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkobG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBwcmVtaXNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50c0Fzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudHMoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChhc3NpZ25tZW50c0Fzc2lnbmVkKSB7XG4gICAgICAgIGNvbnN0IHsgUHJvb2ZTdGVwIH0gPSBzaGltLFxuICAgICAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50KHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5hZGRQcm9vZlN0ZXAocHJvb2ZTdGVwKTtcblxuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRKU09OID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb1VucXVhbGlmaWVkU3RhdGVtZW50SlNPTih0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50KSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKGZpbGVDb250ZXh0LCB1bnF1YWxpZmllZFN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJlbWlzZU5vZGUoc3VwcG9zaXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVW5xdWFsaWZpZWRTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkoc3VwcG9zaXRpb25Ob2RlKSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IFVucXVhbGlmaWVkU3RhdGVtZW50LmZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKGZpbGVDb250ZXh0LCB1bnF1YWxpZmllZFN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZVxuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBQcmVtaXNlXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgUHJlbWlzZTtcbiJdLCJuYW1lcyI6WyJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIlByZW1pc2UiLCJmaWxlQ29udGV4dCIsInVucXVhbGlmaWVkU3RhdGVtZW50IiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRVbnF1YWxpZmllZFN0YXRlbWVudCIsImdldFN0cmluZyIsImdldFN0YXRlbWVudCIsInVuaWZ5UHJvb2ZTdGVwIiwicHJvb2ZTdGVwIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInByb29mU3RlcFVuaWZpZWQiLCJzdWJwcm9vZiIsImdldFN1YnByb29mIiwic3RhdGVtZW50Iiwic25hcHNob3QiLCJzdWJwcm9vZlVuaWZpZWQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlTdWJwcm9vZiIsInVuaWZ5U3RhdGVtZW50IiwibG9jYWxDb250ZXh0QiIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dEEiLCJyZXNvbHZlIiwiY29udGludWUiLCJyb2xsYmFjayIsInN0YXRlbWVudFN0cmluZyIsInByZW1pc2VTdHJpbmciLCJ0cmFjZSIsImRlYnVnIiwicHJlbWlzZSIsInN1YnByb29mU3RyaW5nIiwicHJlbWlzZVN0YXRlbWVudCIsInByZW1pc2VTdGF0ZW1lbnRTdHJpbmciLCJzdGF0ZW1lbnROb2RlIiwiZ2V0Tm9kZSIsInN0YXRlbWVudFRva2VucyIsImdldFRva2VucyIsImNvbnRleHQiLCJ0b2tlbnMiLCJmcm9tQ29udGV4dEFuZFRva2VucyIsInN1YnByb29mQXNzZXJ0aW9uIiwiU3VicHJvb2ZBc3NlcnRpb24iLCJmcm9tU3RhdGVtZW50Tm9kZSIsInZlcmlmeSIsInZlcmlmaWVkIiwic3RhdGVkIiwiYXNzaWdubWVudHMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHNBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnRzIiwiUHJvb2ZTdGVwIiwic2hpbSIsImZyb21VbnF1YWxpZmllZFN0YXRlbWVudCIsImFkZFByb29mU3RlcCIsInRvSlNPTiIsInVucXVhbGlmaWVkU3RhdGVtZW50SlNPTiIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9VbnF1YWxpZmllZFN0YXRlbWVudEpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJ1bnF1YWxpZmllZFN0YXRlbWVudEZyb21KU09OIiwiZnJvbVByZW1pc2VOb2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiVW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF3TEE7OztlQUFBOzs7MkRBdExpQjs0REFDUTsrREFDSztxQkFFSjsyQkFDUTtvQkFDMkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0YsSUFBTUEsZ0NBQWdDQyxJQUFB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
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbiBmcm9tIFwiLi9hc3NlcnRpb24vc3VicHJvb2ZcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9hc3NpZ25tZW50c1wiO1xuaW1wb3J0IHsgdW5xdWFsaWZpZWRTdGF0ZW1lbnRGcm9tSlNPTiwgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb1VucXVhbGlmaWVkU3RhdGVtZW50SlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ByZW1pc2UvdW5xdWFsaWZpZWRTdGF0ZW1lbnRcIik7XG5cbmNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRVbnF1YWxpZmllZFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7IH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7IHJldHVybiB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpOyB9XG5cbiAgcmVzb2x2ZUluZGVwZW5kZW50bHkoc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHJlc29sdmVkSW5kZXBlbmRlbnRseTtcblxuICAgIGNvbnN0IHByZW1pc2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29uc3QgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KHRoaXMuZmlsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBSZXNvbHZpbmcgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50UmVzb2x2ZWRJbmRlcGVuZGVudGx5ID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC5yZXNvbHZlSW5kZXBlbmRlbnRseShzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIHJlc29sdmVkSW5kZXBlbmRlbnRseSA9IHVucXVhbGlmaWVkU3RhdGVtZW50UmVzb2x2ZWRJbmRlcGVuZGVudGx5OyAgLy8vXG5cbiAgICBpZiAocmVzb2x2ZWRJbmRlcGVuZGVudGx5KSB7XG4gICAgICBsb2NhbENvbnRleHRCLnRyYWNlKGAuLi5yZXNvbHZlZCB0aGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UgaW5kZXBlbmRlbnRseS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZWRJbmRlcGVuZGVudGx5O1xuICB9XG5cbiAgdW5pZnlQcm9vZlN0ZXAocHJvb2ZTdGVwLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgcHJvb2ZTdGVwVW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2YgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2YoKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBwcm9vZlN0ZXAuZ2V0U3RhdGVtZW50KCk7XG5cbiAgICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgICBsZXQgc3VicHJvb2ZVbmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChzdWJwcm9vZiAhPT0gbnVsbCkge1xuICAgICAgc3VicHJvb2ZVbmlmaWVkID0gdGhpcy51bmlmeVN1YnByb29mKHN1YnByb29mLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gdGhpcy51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCB8fCBzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dCh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgICAgY29uc3QgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMucmVzb2x2ZShsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgcHJvb2ZTdGVwVW5pZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJvb2ZTdGVwVW5pZmllZCA/XG4gICAgICBzdWJzdGl0dXRpb25zLmNvbnRpbnVlKCkgOlxuICAgICAgICBzdWJzdGl0dXRpb25zLnJvbGxiYWNrKGxvY2FsQ29udGV4dCk7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwVW5pZmllZDtcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJlbWlzZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb25zdCBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQodGhpcy5maWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCBsb2NhbENvbnRleHRBID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UuLi5gKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mVW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZSA9IHRoaXMsIC8vL1xuICAgICAgICAgIHN1YnByb29mU3RyaW5nID0gc3VicHJvb2YuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudCA9IHByZW1pc2UuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudFN0cmluZyA9IHByZW1pc2VTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb25zdCBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgc3RhdGVtZW50VG9rZW5zID0gc3RhdGVtZW50LmdldFRva2VucygpLFxuICAgICAgICAgIGNvbnRleHQgPSB0aGlzLmZpbGVDb250ZXh0LCAvLy9cbiAgICAgICAgICB0b2tlbnMgPSBzdGF0ZW1lbnRUb2tlbnM7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21Db250ZXh0QW5kVG9rZW5zKGNvbnRleHQsIHRva2Vucyk7ICAvLy9cblxuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHQ7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0Qi50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgcHJlbWlzZSdzICcke3ByZW1pc2VTdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uID0gU3VicHJvb2ZBc3NlcnRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgc3VicHJvb2ZVbmlmaWVkID0gc3VicHJvb2ZBc3NlcnRpb24udW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0Qi5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSBwcmVtaXNlJ3MgJyR7cHJlbWlzZVN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZVbmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5KGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudHNBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnRzKGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoYXNzaWdubWVudHNBc3NpZ25lZCkge1xuICAgICAgICBjb25zdCB7IFByb29mU3RlcCB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21VbnF1YWxpZmllZFN0YXRlbWVudCh0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50KTtcblxuICAgICAgICBsb2NhbENvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50SlNPTiA9IHVucXVhbGlmaWVkU3RhdGVtZW50VG9VbnF1YWxpZmllZFN0YXRlbWVudEpTT04odGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSB1bnF1YWxpZmllZFN0YXRlbWVudEpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50RnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByZW1pc2UgPSBuZXcgUHJlbWlzZShmaWxlQ29udGV4dCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByZW1pc2VOb2RlKHN1cHBvc2l0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFVucXVhbGlmaWVkU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KHN1cHBvc2l0aW9uTm9kZSksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBVbnF1YWxpZmllZFN0YXRlbWVudC5mcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByZW1pc2UgPSBuZXcgUHJlbWlzZShmaWxlQ29udGV4dCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2VcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgUHJlbWlzZVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFByZW1pc2U7XG4iXSwibmFtZXMiOlsidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJQcmVtaXNlIiwiZmlsZUNvbnRleHQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudCIsImdldEZpbGVDb250ZXh0IiwiZ2V0VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnQiLCJyZXNvbHZlSW5kZXBlbmRlbnRseSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJyZXNvbHZlZEluZGVwZW5kZW50bHkiLCJwcmVtaXNlU3RyaW5nIiwibG9jYWxDb250ZXh0QiIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dEEiLCJ0cmFjZSIsInVucXVhbGlmaWVkU3RhdGVtZW50UmVzb2x2ZWRJbmRlcGVuZGVudGx5IiwidW5pZnlQcm9vZlN0ZXAiLCJwcm9vZlN0ZXAiLCJwcm9vZlN0ZXBVbmlmaWVkIiwic3VicHJvb2YiLCJnZXRTdWJwcm9vZiIsInN0YXRlbWVudCIsInNuYXBzaG90Iiwic3VicHJvb2ZVbmlmaWVkIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3VicHJvb2YiLCJ1bmlmeVN0YXRlbWVudCIsInJlc29sdmUiLCJjb250aW51ZSIsInJvbGxiYWNrIiwic3RhdGVtZW50U3RyaW5nIiwiZGVidWciLCJwcmVtaXNlIiwic3VicHJvb2ZTdHJpbmciLCJwcmVtaXNlU3RhdGVtZW50IiwicHJlbWlzZVN0YXRlbWVudFN0cmluZyIsInN0YXRlbWVudFRva2VucyIsImdldFRva2VucyIsImNvbnRleHQiLCJ0b2tlbnMiLCJmcm9tQ29udGV4dEFuZFRva2VucyIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwic3VicHJvb2ZBc3NlcnRpb24iLCJTdWJwcm9vZkFzc2VydGlvbiIsImZyb21TdGF0ZW1lbnROb2RlIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJzdGF0ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJhc3NpZ25tZW50c0Fzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudHMiLCJQcm9vZlN0ZXAiLCJzaGltIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50IiwiYWRkUHJvb2ZTdGVwIiwidG9KU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRKU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb1VucXVhbGlmaWVkU3RhdGVtZW50SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsInVucXVhbGlmaWVkU3RhdGVtZW50RnJvbUpTT04iLCJmcm9tUHJlbWlzZU5vZGUiLCJzdXBwb3NpdGlvbk5vZGUiLCJVbnF1YWxpZmllZFN0YXRlbWVudCIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9OQTs7O2VBQUE7OzsyREFsTmlCOzRE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
|
package/lib/rule.js
CHANGED
|
@@ -38,7 +38,7 @@ function _interop_require_default(obj) {
|
|
|
38
38
|
default: obj
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
var reverse = _necessary.arrayUtilities.reverse,
|
|
41
|
+
var extract = _necessary.arrayUtilities.extract, reverse = _necessary.arrayUtilities.reverse, backwardsEvery = _necessary.arrayUtilities.backwardsEvery;
|
|
42
42
|
var proofNodeQuery = (0, _query.nodeQuery)("/rule/proof"), labelNodesQuery = (0, _query.nodesQuery)("/rule/label"), premiseNodesQuery = (0, _query.nodesQuery)("/rule/premise"), conclusionNodeQuery = (0, _query.nodeQuery)("/rule/conclusion");
|
|
43
43
|
var Rule = /*#__PURE__*/ function() {
|
|
44
44
|
function Rule(fileContext, string, labels, premises, conclusion, proof) {
|
|
@@ -103,11 +103,10 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
103
103
|
key: "unifyStatement",
|
|
104
104
|
value: function unifyStatement(statement, localContext) {
|
|
105
105
|
var statementUnified;
|
|
106
|
-
var Substitutions = _shim.default.Substitutions, substitutions = Substitutions.fromNothing();
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (proofStepsUnified) {
|
|
106
|
+
var Substitutions = _shim.default.Substitutions, substitutions = Substitutions.fromNothing(), conclusionUnified = this.unifyConclusion(statement, substitutions, localContext);
|
|
107
|
+
if (conclusionUnified) {
|
|
108
|
+
var premisesUnified = this.unifyPremises(substitutions, localContext);
|
|
109
|
+
if (premisesUnified) {
|
|
111
110
|
var substitutionsResolved = substitutions.areResolved();
|
|
112
111
|
statementUnified = substitutionsResolved; ///
|
|
113
112
|
}
|
|
@@ -116,19 +115,58 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
116
115
|
}
|
|
117
116
|
},
|
|
118
117
|
{
|
|
119
|
-
key: "
|
|
120
|
-
value: function
|
|
121
|
-
var
|
|
122
|
-
var
|
|
123
|
-
|
|
118
|
+
key: "unifyConclusion",
|
|
119
|
+
value: function unifyConclusion(statement, substitutions, localContext) {
|
|
120
|
+
var conclusionUnified;
|
|
121
|
+
var conclusionString = this.conclusion.getString();
|
|
122
|
+
localContext.trace("Unifying the '".concat(conclusionString, "' conclusion..."));
|
|
123
|
+
var statementUnified = this.conclusion.unifyStatement(statement, substitutions, localContext); ///
|
|
124
|
+
conclusionUnified = statementUnified; ///
|
|
125
|
+
if (conclusionUnified) {
|
|
126
|
+
localContext.debug("...unified the '".concat(conclusionString, "' conclusion"));
|
|
127
|
+
}
|
|
128
|
+
return conclusionUnified;
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
key: "unifyPremises",
|
|
133
|
+
value: function unifyPremises(substitutions, localContext) {
|
|
134
|
+
var _this = this;
|
|
135
|
+
var proofSteps = localContext.getProofSteps();
|
|
124
136
|
proofSteps = reverse(proofSteps); ///
|
|
125
|
-
|
|
126
|
-
var
|
|
127
|
-
if (
|
|
137
|
+
var premisesUnified = backwardsEvery(this.premises, function(premise) {
|
|
138
|
+
var premiseUnified = _this.unifyPremise(premise, proofSteps, substitutions, localContext);
|
|
139
|
+
if (premiseUnified) {
|
|
128
140
|
return true;
|
|
129
141
|
}
|
|
130
142
|
});
|
|
131
|
-
return
|
|
143
|
+
return premisesUnified;
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
key: "unifyPremise",
|
|
148
|
+
value: function unifyPremise(premise, proofSteps, substitutions, localContext) {
|
|
149
|
+
var premiseUnified = false;
|
|
150
|
+
var premiseString = premise.getString();
|
|
151
|
+
localContext.trace("Unifying the '".concat(premiseString, "' premise..."));
|
|
152
|
+
var premiseResolvedIndependently = premise.resolveIndependently(substitutions, localContext);
|
|
153
|
+
if (premiseResolvedIndependently) {
|
|
154
|
+
premiseUnified = true;
|
|
155
|
+
} else {
|
|
156
|
+
var proofStep = extract(proofSteps, function(proofStep) {
|
|
157
|
+
var proofStepUnified = premise.unifyProofStep(proofStep, substitutions, localContext);
|
|
158
|
+
if (proofStepUnified) {
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
if (proofStep !== null) {
|
|
163
|
+
premiseUnified = true;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (premiseUnified) {
|
|
167
|
+
localContext.debug("...unified the '".concat(premiseString, "' premise."));
|
|
168
|
+
}
|
|
169
|
+
return premiseUnified;
|
|
132
170
|
}
|
|
133
171
|
},
|
|
134
172
|
{
|
|
@@ -215,4 +253,4 @@ Object.assign(_shim.default, {
|
|
|
215
253
|
});
|
|
216
254
|
var _default = Rule;
|
|
217
255
|
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IHN0cmluZ0Zyb21MYWJlbHMgfSBmcm9tIFwiLi90b3BMZXZlbEFzc2VydGlvblwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBsYWJlbHNGcm9tSlNPTixcbiAgICAgICAgIHByZW1pc2VzRnJvbUpTT04sXG4gICAgICAgICBjb25jbHVzaW9uRnJvbUpTT04sXG4gICAgICAgICBsYWJlbHNUb0xhYmVsc0pTT04sXG4gICAgICAgICBwcmVtaXNlc1RvUHJlbWlzZXNKU09OLFxuICAgICAgICAgY29uY2x1c2lvblRvQ29uY2x1c2lvbkpTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IHJldmVyc2UsIGNvcnJlbGF0ZSB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUvcHJvb2ZcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGUvbGFiZWxcIiksXG4gICAgICBwcmVtaXNlTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9wcmVtaXNlXCIpLFxuICAgICAgY29uY2x1c2lvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL2NvbmNsdXNpb25cIik7XG5cbmNsYXNzIFJ1bGUge1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBwcm9vZikge1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnByZW1pc2VzID0gcHJlbWlzZXM7XG4gICAgdGhpcy5jb25jbHVzaW9uID0gY29uY2x1c2lvbjtcbiAgICB0aGlzLnByb29mID0gcHJvb2Y7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRMYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzO1xuICB9XG5cbiAgZ2V0UHJlbWlzZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlbWlzZXM7XG4gIH1cblxuICBnZXRDb25jbHVzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmNsdXNpb247XG4gIH1cblxuICBnZXRQcm9vZigpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9vZjtcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBsYWJlbC5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCB7IFN1YnN0aXR1dGlvbnMgfSA9IHNoaW0sXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLmNvbmNsdXNpb24udW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpOyAgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgY29uc3QgcHJvb2ZTdGVwcyA9IGxvY2FsQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCksXG4gICAgICAgICAgICBwcm9vZlN0ZXBzVW5pZmllZCA9IHRoaXMudW5pZnlQcm9vZlN0ZXBzKHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChwcm9vZlN0ZXBzVW5pZmllZCkge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSBzdWJzdGl0dXRpb25zLmFyZVJlc29sdmVkKCk7XG5cbiAgICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHN1YnN0aXR1dGlvbnNSZXNvbHZlZDsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeVByb29mU3RlcHMocHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHByb29mU3RlcHNVbmlmaWVkO1xuXG4gICAgbGV0IHByZW1pc2VzID0gdGhpcy5wcmVtaXNlcztcblxuICAgIHByZW1pc2VzID0gcmV2ZXJzZShwcmVtaXNlcyk7IC8vL1xuXG4gICAgcHJvb2ZTdGVwcyA9IHJldmVyc2UocHJvb2ZTdGVwcyk7IC8vL1xuXG4gICAgcHJvb2ZTdGVwc1VuaWZpZWQgPSBjb3JyZWxhdGUocHJlbWlzZXMsIHByb29mU3RlcHMsIChwcmVtaXNlLCBwcm9vZlN0ZXApID0+IHtcbiAgICAgIGNvbnN0IHByb29mU3RlcFVuaWZpZWQgPSBwcmVtaXNlLnVuaWZ5UHJvb2ZTdGVwKHByb29mU3RlcCwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHByb29mU3RlcFVuaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwc1VuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtydWxlU3RyaW5nfScgcnVsZS4uLmApO1xuXG4gICAgY29uc3QgbGFiZWxzVmVyaWZpZWRXaGVuRGVjbGFyZWQgPSB0aGlzLmxhYmVscy5ldmVyeSgobGFiZWwpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsVlZlcmlmaWVkV2hlbkRlY2xhcmVkID0gbGFiZWwudmVyaWZ5V2hlbkRlY2xhcmVkKHRoaXMuZmlsZUNvbnRleHQpO1xuXG4gICAgICBpZiAobGFiZWxWVmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobGFiZWxzVmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQodGhpcy5maWxlQ29udGV4dCksXG4gICAgICAgICAgICBwcmVtaXNlc1ZlcmlmaWVkID0gdGhpcy5wcmVtaXNlcy5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwcmVtaXNlVmVyaWZpZWQgPSBwcmVtaXNlLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChwcmVtaXNlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmIChwcmVtaXNlc1ZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGNvbmNsdXNpb25WZXJpZmllZCA9IHRoaXMuY29uY2x1c2lvbi52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoY29uY2x1c2lvblZlcmlmaWVkKSB7XG4gICAgICAgICAgbGV0IHByb29mVmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICAgICAgICAgIGlmICh0aGlzLnByb29mICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCB7IFN1YnN0aXR1dGlvbnMgfSA9IHNoaW0sXG4gICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpO1xuXG4gICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdGhpcy5wcm9vZi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgdGhpcy5jb25jbHVzaW9uLCBsb2NhbENvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgICBjb25zdCBydWxlID0gdGhpczsgIC8vL1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmFkZFJ1bGUocnVsZSk7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtydWxlU3RyaW5nfScgcnVsZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsc1RvTGFiZWxzSlNPTih0aGlzLmxhYmVscyksXG4gICAgICAgICAgcHJlbWlzZXNKU09OID0gcHJlbWlzZXNUb1ByZW1pc2VzSlNPTih0aGlzLnByZW1pc2VzKSxcbiAgICAgICAgICBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OKHRoaXMuY29uY2x1c2lvbiksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbiA9IGNvbmNsdXNpb25KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIHByZW1pc2VzLFxuICAgICAgICAgICAgY29uY2x1c2lvblxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBydWxlO1xuXG4gICAgY29uc3QgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBwcmVtaXNlcyA9IHByZW1pc2VzRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBjb25jbHVzaW9uRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21MYWJlbHMobGFiZWxzKTtcblxuICAgIHJ1bGUgPSBuZXcgUnVsZShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBwcm9vZik7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5vZGUocnVsZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBMYWJlbCwgUHJvb2YsIFByZW1pc2UsIENvbmNsdXNpb24gfSA9IHNoaW0sXG4gICAgICAgICAgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgIGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgIHByZW1pc2VOb2RlcyA9IHByZW1pc2VOb2Rlc1F1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgICBjb25jbHVzaW9uTm9kZSA9IGNvbmNsdXNpb25Ob2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsTm9kZXMubWFwKChsYWJlbE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gTGFiZWwuZnJvbUxhYmVsTm9kZShsYWJlbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZU5vZGVzLm1hcCgocHJlbWlzZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByZW1pc2UgPSBQcmVtaXNlLmZyb21QcmVtaXNlTm9kZShwcmVtaXNlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gcHJlbWlzZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tQ29uY2x1c2lvbk5vZGUoY29uY2x1c2lvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgcHJvb2YgPSBQcm9vZi5mcm9tUHJvb2ZOb2RlKHByb29mTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHJ1bGUgPSBuZXcgUnVsZShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBwcm9vZik7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgUnVsZVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFJ1bGU7XG4iXSwibmFtZXMiOlsicmV2ZXJzZSIsImFycmF5VXRpbGl0aWVzIiwiY29ycmVsYXRlIiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJlbWlzZU5vZGVzUXVlcnkiLCJjb25jbHVzaW9uTm9kZVF1ZXJ5IiwiUnVsZSIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwicHJvb2YiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldExhYmVscyIsImdldFByZW1pc2VzIiwiZ2V0Q29uY2x1c2lvbiIsImdldFByb29mIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwic29tZSIsImxhYmVsIiwidW5pZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwiU3Vic3RpdHV0aW9ucyIsInNoaW0iLCJzdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJwcm9vZlN0ZXBzIiwiZ2V0UHJvb2ZTdGVwcyIsInByb29mU3RlcHNVbmlmaWVkIiwidW5pZnlQcm9vZlN0ZXBzIiwic3Vic3RpdHV0aW9uc1Jlc29sdmVkIiwiYXJlUmVzb2x2ZWQiLCJwcmVtaXNlIiwicHJvb2ZTdGVwIiwicHJvb2ZTdGVwVW5pZmllZCIsInVuaWZ5UHJvb2ZTdGVwIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJydWxlU3RyaW5nIiwidHJhY2UiLCJsYWJlbHNWZXJpZmllZFdoZW5EZWNsYXJlZCIsImV2ZXJ5IiwibGFiZWxWVmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJwcmVtaXNlc1ZlcmlmaWVkIiwicHJlbWlzZVZlcmlmaWVkIiwiY29uY2x1c2lvblZlcmlmaWVkIiwicHJvb2ZWZXJpZmllZCIsInJ1bGUiLCJhZGRSdWxlIiwiZGVidWciLCJ0b0pTT04iLCJsYWJlbHNKU09OIiwibGFiZWxzVG9MYWJlbHNKU09OIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZXNUb1ByZW1pc2VzSlNPTiIsImNvbmNsdXNpb25KU09OIiwiY29uY2x1c2lvblRvQ29uY2x1c2lvbkpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJsYWJlbHNGcm9tSlNPTiIsInByZW1pc2VzRnJvbUpTT04iLCJjb25jbHVzaW9uRnJvbUpTT04iLCJzdHJpbmdGcm9tTGFiZWxzIiwiZnJvbVJ1bGVOb2RlIiwicnVsZU5vZGUiLCJMYWJlbCIsIlByb29mIiwiUHJlbWlzZSIsIkNvbmNsdXNpb24iLCJwcm9vZk5vZGUiLCJsYWJlbE5vZGVzIiwicHJlbWlzZU5vZGVzIiwiY29uY2x1c2lvbk5vZGUiLCJtYXAiLCJsYWJlbE5vZGUiLCJmcm9tTGFiZWxOb2RlIiwicHJlbWlzZU5vZGUiLCJmcm9tUHJlbWlzZU5vZGUiLCJmcm9tQ29uY2x1c2lvbk5vZGUiLCJmcm9tUHJvb2ZOb2RlIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrT0E7OztlQUFBOzs7eUJBaE8rQjsyREFFZDs0REFDUTtpQ0FFUTtxQkFDSztvQkFNSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzQyxJQUFRQSxVQUF1QkMseUJBQWMsQ0FBckNELFNBQVNFLFlBQWNELHlCQUFjLENBQTVCQztBQUVqQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsZ0JBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsZ0JBQzdCQyxvQkFBb0JELElBQUFBLGlCQUFVLEVBQUMsa0JBQy9CRSxzQkFBc0JKLElBQUFBLGdCQUFTLEVBQUM7QUFFdEMsSUFBQSxBQUFNSyxxQkFBTjthQUFNQSxLQUNRQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsS0FBSztnQ0FEaEVOO1FBRUYsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxLQUFLLEdBQUdBOztrQkFQWE47O1lBVUpPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sV0FBVztZQUN6Qjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sTUFBTTtZQUNwQjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sTUFBTTtZQUNwQjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sUUFBUTtZQUN0Qjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sVUFBVTtZQUN4Qjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sS0FBSztZQUNuQjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQjtnQkFDcEMsSUFBTUMsMEJBQTBCLElBQUksQ0FBQ1osTUFBTSxDQUFDYSxJQUFJLENBQUMsU0FBQ0M7b0JBQ2hELElBQU1GLDBCQUEwQkUsTUFBTUoscUJBQXFCLENBQUNDO29CQUU1RCxJQUFJQyx5QkFBeUI7d0JBQzNCLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0E7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxTQUFTLEVBQUVDLFlBQVk7Z0JBQ3BDLElBQUlDO2dCQUVKLElBQU0sQUFBRUMsZ0JBQWtCQyxhQUFJLENBQXRCRCxlQUNGRSxnQkFBZ0JGLGNBQWNHLFdBQVc7Z0JBRS9DSixtQkFBbUIsSUFBSSxDQUFDaEIsVUFBVSxDQUFDYSxjQUFjLENBQUNDLFdBQVdLLGVBQWVKLGVBQWdCLEdBQUc7Z0JBRS9GLElBQUlDLGtCQUFrQjtvQkFDcEIsSUFBTUssYUFBYU4sYUFBYU8sYUFBYSxJQUN2Q0Msb0JBQW9CLElBQUksQ0FBQ0MsZUFBZSxDQUFDSCxZQUFZRixlQUFlSjtvQkFFMUUsSUFBSVEsbUJBQW1CO3dCQUNyQixJQUFNRSx3QkFBd0JOLGNBQWNPLFdBQVc7d0JBRXZEVixtQkFBbUJTLHVCQUF1QixHQUFHO29CQUMvQztnQkFDRjtnQkFFQSxPQUFPVDtZQUNUOzs7WUFFQVEsS0FBQUE7bUJBQUFBLFNBQUFBLGdCQUFnQkgsVUFBVSxFQUFFRixhQUFhLEVBQUVKLFlBQVk7Z0JBQ3JELElBQUlRO2dCQUVKLElBQUl4QixXQUFXLElBQUksQ0FBQ0EsUUFBUTtnQkFFNUJBLFdBQVdiLFFBQVFhLFdBQVcsR0FBRztnQkFFakNzQixhQUFhbkMsUUFBUW1DLGFBQWEsR0FBRztnQkFFckNFLG9CQUFvQm5DLFVBQVVXLFVBQVVzQixZQUFZLFNBQUNNLFNBQVNDO29CQUM1RCxJQUFNQyxtQkFBbUJGLFFBQVFHLGNBQWMsQ0FBQ0YsV0FBV1QsZUFBZUo7b0JBRTFFLElBQUljLGtCQUFrQjt3QkFDcEIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPTjtZQUNUOzs7WUFFQVEsS0FBQUE7bUJBQUFBLFNBQUFBOztnQkFDRSxJQUFJQyxXQUFXO2dCQUVmLElBQU1DLGFBQWEsSUFBSSxDQUFDcEMsTUFBTSxFQUFFLEdBQUc7Z0JBRW5DLElBQUksQ0FBQ0QsV0FBVyxDQUFDc0MsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhELFlBQVc7Z0JBRXBELElBQU1FLDZCQUE2QixJQUFJLENBQUNyQyxNQUFNLENBQUNzQyxLQUFLLENBQUMsU0FBQ3hCO29CQUNwRCxJQUFNeUIsNkJBQTZCekIsTUFBTTBCLGtCQUFrQixDQUFDLE1BQUsxQyxXQUFXO29CQUU1RSxJQUFJeUMsNEJBQTRCO3dCQUM5QixPQUFPO29CQUNUO2dCQUNGO2dCQUVBLElBQUlGLDRCQUE0QjtvQkFDOUIsSUFBTXBCLGVBQWV3QixjQUFZLENBQUNDLGVBQWUsQ0FBQyxJQUFJLENBQUM1QyxXQUFXLEdBQzVENkMsbUJBQW1CLElBQUksQ0FBQzFDLFFBQVEsQ0FBQ3FDLEtBQUssQ0FBQyxTQUFDVDt3QkFDdEMsSUFBTWUsa0JBQWtCZixRQUFRSSxNQUFNLENBQUNoQjt3QkFFdkMsSUFBSTJCLGlCQUFpQjs0QkFDbkIsT0FBTzt3QkFDVDtvQkFDRjtvQkFFTixJQUFJRCxrQkFBa0I7d0JBQ3BCLElBQU1FLHFCQUFxQixJQUFJLENBQUMzQyxVQUFVLENBQUMrQixNQUFNLENBQUNoQjt3QkFFbEQsSUFBSTRCLG9CQUFvQjs0QkFDdEIsSUFBSUMsZ0JBQWdCLE1BQU0sR0FBRzs0QkFFN0IsSUFBSSxJQUFJLENBQUMzQyxLQUFLLEtBQUssTUFBTTtnQ0FDdkIsSUFBTSxBQUFFZ0IsZ0JBQWtCQyxhQUFJLENBQXRCRCxlQUNGRSxnQkFBZ0JGLGNBQWNHLFdBQVc7Z0NBRS9Dd0IsZ0JBQWdCLElBQUksQ0FBQzNDLEtBQUssQ0FBQzhCLE1BQU0sQ0FBQ1osZUFBZSxJQUFJLENBQUNuQixVQUFVLEVBQUVlOzRCQUNwRTs0QkFFQSxJQUFJNkIsZUFBZTtnQ0FDakIsSUFBTUMsT0FBTyxJQUFJLEVBQUcsR0FBRztnQ0FFdkIsSUFBSSxDQUFDakQsV0FBVyxDQUFDa0QsT0FBTyxDQUFDRDtnQ0FFekJiLFdBQVc7NEJBQ2I7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7Z0JBRUEsSUFBSUEsVUFBVTtvQkFDWixJQUFJLENBQUNwQyxXQUFXLENBQUNtRCxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWGQsWUFBVztnQkFDeEQ7Z0JBRUEsT0FBT0Q7WUFDVDs7O1lBRUFnQixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYUMsSUFBQUEsd0JBQWtCLEVBQUMsSUFBSSxDQUFDcEQsTUFBTSxHQUMzQ3FELGVBQWVDLElBQUFBLDRCQUFzQixFQUFDLElBQUksQ0FBQ3JELFFBQVEsR0FDbkRzRCxpQkFBaUJDLElBQUFBLGdDQUEwQixFQUFDLElBQUksQ0FBQ3RELFVBQVUsR0FDM0RGLFNBQVNtRCxZQUNUbEQsV0FBV29ELGNBQ1huRCxhQUFhcUQsZ0JBQ2JFLE9BQU87b0JBQ0x6RCxRQUFBQTtvQkFDQUMsVUFBQUE7b0JBQ0FDLFlBQUFBO2dCQUNGO2dCQUVOLE9BQU91RDtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRTNELFdBQVc7Z0JBQy9CLElBQUlpRDtnQkFFSixJQUFNNUMsUUFBUSxNQUNSSCxTQUFTMkQsSUFBQUEsb0JBQWMsRUFBQ0YsTUFBTTNELGNBQzlCRyxXQUFXMkQsSUFBQUEsc0JBQWdCLEVBQUNILE1BQU0zRCxjQUNsQ0ksYUFBYTJELElBQUFBLHdCQUFrQixFQUFDSixNQUFNM0QsY0FDdENDLFNBQVMrRCxJQUFBQSxtQ0FBZ0IsRUFBQzlEO2dCQUVoQytDLE9BQU8sSUF6S0xsRCxLQXlLY0MsYUFBYUMsUUFBUUMsUUFBUUMsVUFBVUMsWUFBWUM7Z0JBRW5FLE9BQU80QztZQUNUOzs7WUFFT2dCLEtBQUFBO21CQUFQLFNBQU9BLGFBQWFDLFFBQVEsRUFBRWxFLFdBQVc7Z0JBQ3ZDLElBQVFtRSxRQUFzQzdDLGFBQUksQ0FBMUM2QyxPQUFPQyxRQUErQjlDLGFBQUksQ0FBbkM4QyxPQUFPQyxVQUF3Qi9DLGFBQUksQ0FBNUIrQyxTQUFTQyxhQUFlaEQsYUFBSSxDQUFuQmdELFlBQ3pCQyxZQUFZOUUsZUFBZXlFLFdBQzNCTSxhQUFhN0UsZ0JBQWdCdUUsV0FDN0JPLGVBQWU1RSxrQkFBa0JxRSxXQUNqQ1EsaUJBQWlCNUUsb0JBQW9Cb0UsV0FDckNoRSxTQUFTc0UsV0FBV0csR0FBRyxDQUFDLFNBQUNDO29CQUN2QixJQUFNNUQsUUFBUW1ELE1BQU1VLGFBQWEsQ0FBQ0QsV0FBVzVFO29CQUU3QyxPQUFPZ0I7Z0JBQ1QsSUFDQWIsV0FBV3NFLGFBQWFFLEdBQUcsQ0FBQyxTQUFDRztvQkFDM0IsSUFBTS9DLFVBQVVzQyxRQUFRVSxlQUFlLENBQUNELGFBQWE5RTtvQkFFckQsT0FBTytCO2dCQUNULElBQ0EzQixhQUFha0UsV0FBV1Usa0JBQWtCLENBQUNOLGdCQUFnQjFFLGNBQzNEQyxTQUFTK0QsSUFBQUEsbUNBQWdCLEVBQUM5RCxTQUMxQkcsUUFBUStELE1BQU1hLGFBQWEsQ0FBQ1YsV0FBV3ZFLGNBQ3ZDaUQsT0FBTyxJQWpNWGxELEtBaU1vQkMsYUFBYUMsUUFBUUMsUUFBUUMsVUFBVUMsWUFBWUM7Z0JBRXpFLE9BQU80QztZQUNUOzs7V0FwTUlsRDs7QUF1TU5tRixPQUFPQyxNQUFNLENBQUM3RCxhQUFJLEVBQUU7SUFDbEJ2QixNQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IHN0cmluZ0Zyb21MYWJlbHMgfSBmcm9tIFwiLi90b3BMZXZlbEFzc2VydGlvblwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBsYWJlbHNGcm9tSlNPTixcbiAgICAgICAgIHByZW1pc2VzRnJvbUpTT04sXG4gICAgICAgICBjb25jbHVzaW9uRnJvbUpTT04sXG4gICAgICAgICBsYWJlbHNUb0xhYmVsc0pTT04sXG4gICAgICAgICBwcmVtaXNlc1RvUHJlbWlzZXNKU09OLFxuICAgICAgICAgY29uY2x1c2lvblRvQ29uY2x1c2lvbkpTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IGV4dHJhY3QsIHJldmVyc2UsIGJhY2t3YXJkc0V2ZXJ5IH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3QgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZS9wcm9vZlwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9sYWJlbFwiKSxcbiAgICAgIHByZW1pc2VOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlL3ByZW1pc2VcIiksXG4gICAgICBjb25jbHVzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUvY29uY2x1c2lvblwiKTtcblxuY2xhc3MgUnVsZSB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIHByb29mKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgIHRoaXMucHJlbWlzZXMgPSBwcmVtaXNlcztcbiAgICB0aGlzLmNvbmNsdXNpb24gPSBjb25jbHVzaW9uO1xuICAgIHRoaXMucHJvb2YgPSBwcm9vZjtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRQcmVtaXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVtaXNlcztcbiAgfVxuXG4gIGdldENvbmNsdXNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uY2x1c2lvbjtcbiAgfVxuXG4gIGdldFByb29mKCkge1xuICAgIHJldHVybiB0aGlzLnByb29mO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IGxhYmVsLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZDtcblxuICAgIGNvbnN0IHsgU3Vic3RpdHV0aW9ucyB9ID0gc2hpbSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGNvbmNsdXNpb25VbmlmaWVkID0gdGhpcy51bmlmeUNvbmNsdXNpb24oc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKGNvbmNsdXNpb25VbmlmaWVkKSB7XG4gICAgICBjb25zdCBwcmVtaXNlc1VuaWZpZWQgPSB0aGlzLnVuaWZ5UHJlbWlzZXMoc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHByZW1pc2VzVW5pZmllZCkge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSBzdWJzdGl0dXRpb25zLmFyZVJlc29sdmVkKCk7XG5cbiAgICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHN1YnN0aXR1dGlvbnNSZXNvbHZlZDsgLy8vXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeUNvbmNsdXNpb24oc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgY29uY2x1c2lvblVuaWZpZWQ7XG5cbiAgICBjb25zdCBjb25jbHVzaW9uU3RyaW5nID0gdGhpcy5jb25jbHVzaW9uLmdldFN0cmluZygpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24uLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLmNvbmNsdXNpb24udW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpOyAgLy8vXG5cbiAgICBjb25jbHVzaW9uVW5pZmllZCA9IHN0YXRlbWVudFVuaWZpZWQ7IC8vL1xuXG4gICAgaWYgKGNvbmNsdXNpb25VbmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke2NvbmNsdXNpb25TdHJpbmd9JyBjb25jbHVzaW9uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmNsdXNpb25VbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlQcmVtaXNlcyhzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgcHJvb2ZTdGVwcyA9IGxvY2FsQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCk7XG5cbiAgICBwcm9vZlN0ZXBzID0gcmV2ZXJzZShwcm9vZlN0ZXBzKTsgLy8vXG5cbiAgICBjb25zdCBwcmVtaXNlc1VuaWZpZWQgPSBiYWNrd2FyZHNFdmVyeSh0aGlzLnByZW1pc2VzLCAocHJlbWlzZSkgPT4ge1xuICAgICAgY29uc3QgcHJlbWlzZVVuaWZpZWQgPSB0aGlzLnVuaWZ5UHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAocHJlbWlzZVVuaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJlbWlzZXNVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlQcmVtaXNlKHByZW1pc2UsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBwcmVtaXNlVW5pZmllZCAgPWZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZVN0cmluZyA9IHByZW1pc2UuZ2V0U3RyaW5nKCk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS4uLmApO1xuXG4gICAgY29uc3QgcHJlbWlzZVJlc29sdmVkSW5kZXBlbmRlbnRseSA9IHByZW1pc2UucmVzb2x2ZUluZGVwZW5kZW50bHkoc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChwcmVtaXNlUmVzb2x2ZWRJbmRlcGVuZGVudGx5KSB7XG4gICAgICBwcmVtaXNlVW5pZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByb29mU3RlcCA9IGV4dHJhY3QocHJvb2ZTdGVwcywgKHByb29mU3RlcCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9vZlN0ZXBVbmlmaWVkID0gcHJlbWlzZS51bmlmeVByb29mU3RlcChwcm9vZlN0ZXAsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByb29mU3RlcFVuaWZpZWQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChwcm9vZlN0ZXAgIT09IG51bGwpIHtcbiAgICAgICAgcHJlbWlzZVVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcmVtaXNlVW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJlbWlzZVVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtydWxlU3RyaW5nfScgcnVsZS4uLmApO1xuXG4gICAgY29uc3QgbGFiZWxzVmVyaWZpZWRXaGVuRGVjbGFyZWQgPSB0aGlzLmxhYmVscy5ldmVyeSgobGFiZWwpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsVlZlcmlmaWVkV2hlbkRlY2xhcmVkID0gbGFiZWwudmVyaWZ5V2hlbkRlY2xhcmVkKHRoaXMuZmlsZUNvbnRleHQpO1xuXG4gICAgICBpZiAobGFiZWxWVmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobGFiZWxzVmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQodGhpcy5maWxlQ29udGV4dCksXG4gICAgICAgICAgICBwcmVtaXNlc1ZlcmlmaWVkID0gdGhpcy5wcmVtaXNlcy5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBwcmVtaXNlVmVyaWZpZWQgPSBwcmVtaXNlLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChwcmVtaXNlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmIChwcmVtaXNlc1ZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGNvbmNsdXNpb25WZXJpZmllZCA9IHRoaXMuY29uY2x1c2lvbi52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoY29uY2x1c2lvblZlcmlmaWVkKSB7XG4gICAgICAgICAgbGV0IHByb29mVmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICAgICAgICAgIGlmICh0aGlzLnByb29mICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCB7IFN1YnN0aXR1dGlvbnMgfSA9IHNoaW0sXG4gICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpO1xuXG4gICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdGhpcy5wcm9vZi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgdGhpcy5jb25jbHVzaW9uLCBsb2NhbENvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgICBjb25zdCBydWxlID0gdGhpczsgIC8vL1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmFkZFJ1bGUocnVsZSk7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtydWxlU3RyaW5nfScgcnVsZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsc1RvTGFiZWxzSlNPTih0aGlzLmxhYmVscyksXG4gICAgICAgICAgcHJlbWlzZXNKU09OID0gcHJlbWlzZXNUb1ByZW1pc2VzSlNPTih0aGlzLnByZW1pc2VzKSxcbiAgICAgICAgICBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OKHRoaXMuY29uY2x1c2lvbiksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbiA9IGNvbmNsdXNpb25KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIHByZW1pc2VzLFxuICAgICAgICAgICAgY29uY2x1c2lvblxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBydWxlO1xuXG4gICAgY29uc3QgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBwcmVtaXNlcyA9IHByZW1pc2VzRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBjb25jbHVzaW9uRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21MYWJlbHMobGFiZWxzKTtcblxuICAgIHJ1bGUgPSBuZXcgUnVsZShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBwcm9vZik7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5vZGUocnVsZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBMYWJlbCwgUHJvb2YsIFByZW1pc2UsIENvbmNsdXNpb24gfSA9IHNoaW0sXG4gICAgICAgICAgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgIGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgIHByZW1pc2VOb2RlcyA9IHByZW1pc2VOb2Rlc1F1ZXJ5KHJ1bGVOb2RlKSxcbiAgICAgICAgICBjb25jbHVzaW9uTm9kZSA9IGNvbmNsdXNpb25Ob2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsTm9kZXMubWFwKChsYWJlbE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gTGFiZWwuZnJvbUxhYmVsTm9kZShsYWJlbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZU5vZGVzLm1hcCgocHJlbWlzZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByZW1pc2UgPSBQcmVtaXNlLmZyb21QcmVtaXNlTm9kZShwcmVtaXNlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gcHJlbWlzZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tQ29uY2x1c2lvbk5vZGUoY29uY2x1c2lvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgcHJvb2YgPSBQcm9vZi5mcm9tUHJvb2ZOb2RlKHByb29mTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHJ1bGUgPSBuZXcgUnVsZShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBwcm9vZik7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgUnVsZVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFJ1bGU7XG4iXSwibmFtZXMiOlsiZXh0cmFjdCIsImFycmF5VXRpbGl0aWVzIiwicmV2ZXJzZSIsImJhY2t3YXJkc0V2ZXJ5IiwicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsYWJlbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJlbWlzZU5vZGVzUXVlcnkiLCJjb25jbHVzaW9uTm9kZVF1ZXJ5IiwiUnVsZSIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwicHJvb2YiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldExhYmVscyIsImdldFByZW1pc2VzIiwiZ2V0Q29uY2x1c2lvbiIsImdldFByb29mIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwic29tZSIsImxhYmVsIiwidW5pZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwiU3Vic3RpdHV0aW9ucyIsInNoaW0iLCJzdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJjb25jbHVzaW9uVW5pZmllZCIsInVuaWZ5Q29uY2x1c2lvbiIsInByZW1pc2VzVW5pZmllZCIsInVuaWZ5UHJlbWlzZXMiLCJzdWJzdGl0dXRpb25zUmVzb2x2ZWQiLCJhcmVSZXNvbHZlZCIsImNvbmNsdXNpb25TdHJpbmciLCJ0cmFjZSIsImRlYnVnIiwicHJvb2ZTdGVwcyIsImdldFByb29mU3RlcHMiLCJwcmVtaXNlIiwicHJlbWlzZVVuaWZpZWQiLCJ1bmlmeVByZW1pc2UiLCJwcmVtaXNlU3RyaW5nIiwicHJlbWlzZVJlc29sdmVkSW5kZXBlbmRlbnRseSIsInJlc29sdmVJbmRlcGVuZGVudGx5IiwicHJvb2ZTdGVwIiwicHJvb2ZTdGVwVW5pZmllZCIsInVuaWZ5UHJvb2ZTdGVwIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJydWxlU3RyaW5nIiwibGFiZWxzVmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJldmVyeSIsImxhYmVsVlZlcmlmaWVkV2hlbkRlY2xhcmVkIiwidmVyaWZ5V2hlbkRlY2xhcmVkIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwicHJlbWlzZXNWZXJpZmllZCIsInByZW1pc2VWZXJpZmllZCIsImNvbmNsdXNpb25WZXJpZmllZCIsInByb29mVmVyaWZpZWQiLCJydWxlIiwiYWRkUnVsZSIsInRvSlNPTiIsImxhYmVsc0pTT04iLCJsYWJlbHNUb0xhYmVsc0pTT04iLCJwcmVtaXNlc0pTT04iLCJwcmVtaXNlc1RvUHJlbWlzZXNKU09OIiwiY29uY2x1c2lvbkpTT04iLCJjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImxhYmVsc0Zyb21KU09OIiwicHJlbWlzZXNGcm9tSlNPTiIsImNvbmNsdXNpb25Gcm9tSlNPTiIsInN0cmluZ0Zyb21MYWJlbHMiLCJmcm9tUnVsZU5vZGUiLCJydWxlTm9kZSIsIkxhYmVsIiwiUHJvb2YiLCJQcmVtaXNlIiwiQ29uY2x1c2lvbiIsInByb29mTm9kZSIsImxhYmVsTm9kZXMiLCJwcmVtaXNlTm9kZXMiLCJjb25jbHVzaW9uTm9kZSIsIm1hcCIsImxhYmVsTm9kZSIsImZyb21MYWJlbE5vZGUiLCJwcmVtaXNlTm9kZSIsImZyb21QcmVtaXNlTm9kZSIsImZyb21Db25jbHVzaW9uTm9kZSIsImZyb21Qcm9vZk5vZGUiLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQThRQTs7O2VBQUE7Ozt5QkE1UStCOzJEQUVkOzREQUNRO2lDQUVRO3FCQUNLO29CQU1LOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNDLElBQVFBLFVBQXFDQyx5QkFBYyxDQUFuREQsU0FBU0UsVUFBNEJELHlCQUFjLENBQTFDQyxTQUFTQyxpQkFBbUJGLHlCQUFjLENBQWpDRTtBQUUxQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsZ0JBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsZ0JBQzdCQyxvQkFBb0JELElBQUFBLGlCQUFVLEVBQUMsa0JBQy9CRSxzQkFBc0JKLElBQUFBLGdCQUFTLEVBQUM7QUFFdEMsSUFBQSxBQUFNSyxxQkFBTjthQUFNQSxLQUNRQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsS0FBSztnQ0FEaEVOO1FBRUYsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxLQUFLLEdBQUdBOztrQkFQWE47O1lBVUpPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sV0FBVztZQUN6Qjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04s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
|
|
@@ -97,6 +97,20 @@ var UnqualifiedStatement = /*#__PURE__*/ function() {
|
|
|
97
97
|
return statementUnified;
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
|
+
{
|
|
101
|
+
key: "resolveIndependently",
|
|
102
|
+
value: function resolveIndependently(substitutions, localContextA, localContextB) {
|
|
103
|
+
var resolveIndependently;
|
|
104
|
+
var unqualifiedStatementString = this.getString(); ///
|
|
105
|
+
localContextB.trace("Resolving the '".concat(unqualifiedStatementString, "' unqualified statement independently..."));
|
|
106
|
+
var statementResolvedIndependently = this.statement.resolveIndependently(substitutions, localContextA, localContextB);
|
|
107
|
+
resolveIndependently = statementResolvedIndependently; ///
|
|
108
|
+
if (resolveIndependently) {
|
|
109
|
+
localContextB.debug("...resolved the '".concat(unqualifiedStatementString, "' unqualified statement independently."));
|
|
110
|
+
}
|
|
111
|
+
return resolveIndependently;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
100
114
|
{
|
|
101
115
|
key: "unifyStatementWithProofSteps",
|
|
102
116
|
value: function unifyStatementWithProofSteps(statement, assignments, stated, localContext) {
|
|
@@ -152,4 +166,4 @@ Object.assign(_shim.default, {
|
|
|
152
166
|
});
|
|
153
167
|
var _default = UnqualifiedStatement;
|
|
154
168
|
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZW1lbnQvdW5xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuXG5pbXBvcnQgeyB0cmltIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHN0YXRlbWVudEZyb21KU09OLCBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyByZXZlcnNlIH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudFwiKTtcblxuY2xhc3MgVW5xdWFsaWZpZWRTdGF0ZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGlmICh0aGlzLnN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCk7XG5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkV2l0aFByb29mU3RlcHMgPSB0aGlzLnVuaWZ5U3RhdGVtZW50V2l0aFByb29mU3RlcHModGhpcy5zdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWRXaXRoUHJvb2ZTdGVwcykge1xuICAgICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgQ2Fubm90IHZlcmlmeSB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQgYmVjYXVzZSBpdCBpcyBub25zZW5zZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZDtcblxuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLnN0YXRlbWVudC51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50V2l0aFByb29mU3RlcHMoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhQcm9vZlN0ZXBzO1xuXG4gICAgbGV0IHByb29mU3RlcHMgPSBsb2NhbENvbnRleHQuZ2V0UHJvb2ZTdGVwcygpO1xuXG4gICAgcHJvb2ZTdGVwcyA9IHJldmVyc2UocHJvb2ZTdGVwcyk7IC8vL1xuXG4gICAgc3RhdGVtZW50VW5pZmllZFdpdGhQcm9vZlN0ZXBzID0gcHJvb2ZTdGVwcy5zb21lKChwcm9vZlN0ZXApID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBwcm9vZlN0ZXAudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aFByb29mU3RlcHM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50ID0gbmV3IFVucXVhbGlmaWVkU3RhdGVtZW50KHN0cmluZywgc3RhdGVtZW50KTtcblxuICAgIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBudWxsO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgbGV0IHN0cmluZztcblxuICAgICAgY29uc3QgeyBTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgICBzdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSk7XG5cbiAgICAgIHN0cmluZyA9IHRyaW0oc3RyaW5nKTsgIC8vL1xuXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IG5ldyBVbnF1YWxpZmllZFN0YXRlbWVudChzdHJpbmcsIHN0YXRlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBVbnF1YWxpZmllZFN0YXRlbWVudFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFVucXVhbGlmaWVkU3RhdGVtZW50O1xuIl0sIm5hbWVzIjpbInJldmVyc2UiLCJhcnJheVV0aWxpdGllcyIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIlVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3RyaW5nIiwic3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50IiwidmVyaWZ5IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZmllZCIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwidHJhY2UiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFVuaWZpZWRXaXRoUHJvb2ZTdGVwcyIsInVuaWZ5U3RhdGVtZW50V2l0aFByb29mU3RlcHMiLCJkZWJ1ZyIsInVuaWZ5U3RhdGVtZW50Iiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3RhdGVtZW50VW5pZmllZCIsInN0YXRlbWVudFN0cmluZyIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZSIsInByb29mU3RlcCIsInRvSlNPTiIsInN0YXRlbWVudEpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmaWxlQ29udGV4dCIsInN0YXRlbWVudEZyb21KU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiU3RhdGVtZW50Iiwic2hpbSIsInN0YXRlbWVudE5vZGUiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJmcm9tU3RhdGVtZW50Tm9kZSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJ0cmltIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE2SUE7OztlQUFBOzs7eUJBM0krQjsyREFFZDs0REFDUTtzQkFFSjtxQkFDSztvQkFDa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUQsSUFBTSxBQUFFQSxVQUFZQyx5QkFBYyxDQUExQkQ7QUFFUixJQUFNRSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFckMsSUFBQSxBQUFNQyxxQ0FBTjthQUFNQSxxQkFDUUMsTUFBTSxFQUFFQyxTQUFTO2dDQUR6QkY7UUFFRixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhmRjs7WUFNSkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dC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
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZW1lbnQvdW5xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuXG5pbXBvcnQgeyB0cmltIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHN0YXRlbWVudEZyb21KU09OLCBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyByZXZlcnNlIH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudFwiKTtcblxuY2xhc3MgVW5xdWFsaWZpZWRTdGF0ZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGlmICh0aGlzLnN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCk7XG5cbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkV2l0aFByb29mU3RlcHMgPSB0aGlzLnVuaWZ5U3RhdGVtZW50V2l0aFByb29mU3RlcHModGhpcy5zdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWRXaXRoUHJvb2ZTdGVwcykge1xuICAgICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgQ2Fubm90IHZlcmlmeSB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQgYmVjYXVzZSBpdCBpcyBub25zZW5zZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZDtcblxuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLnN0YXRlbWVudC51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHJlc29sdmVJbmRlcGVuZGVudGx5KHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBsZXQgcmVzb2x2ZUluZGVwZW5kZW50bHk7XG5cbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQgaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50UmVzb2x2ZWRJbmRlcGVuZGVudGx5ID0gdGhpcy5zdGF0ZW1lbnQucmVzb2x2ZUluZGVwZW5kZW50bHkoc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICByZXNvbHZlSW5kZXBlbmRlbnRseSA9IHN0YXRlbWVudFJlc29sdmVkSW5kZXBlbmRlbnRseTsgIC8vL1xuXG4gICAgaWYgKHJlc29sdmVJbmRlcGVuZGVudGx5KSB7XG4gICAgICBsb2NhbENvbnRleHRCLmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQgaW5kZXBlbmRlbnRseS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZUluZGVwZW5kZW50bHk7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudFdpdGhQcm9vZlN0ZXBzKHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWRXaXRoUHJvb2ZTdGVwcztcblxuICAgIGxldCBwcm9vZlN0ZXBzID0gbG9jYWxDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgIHByb29mU3RlcHMgPSByZXZlcnNlKHByb29mU3RlcHMpOyAvLy9cblxuICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoUHJvb2ZTdGVwcyA9IHByb29mU3RlcHMuc29tZSgocHJvb2ZTdGVwKSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gcHJvb2ZTdGVwLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhQcm9vZlN0ZXBzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudEpTT04gPSBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04odGhpcy5zdGF0ZW1lbnQpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudEpTT04sICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSB0aGlzLnN0cmluZywgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IG5ldyBVbnF1YWxpZmllZFN0YXRlbWVudChzdHJpbmcsIHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHVucXVhbGlmaWVkU3RhdGVtZW50ID0gbnVsbDtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGxldCBzdHJpbmc7XG5cbiAgICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICAgIG5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gICAgICBzdHJpbmcgPSB0cmltKHN0cmluZyk7ICAvLy9cblxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBuZXcgVW5xdWFsaWZpZWRTdGF0ZW1lbnQoc3RyaW5nLCBzdGF0ZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgVW5xdWFsaWZpZWRTdGF0ZW1lbnRcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBVbnF1YWxpZmllZFN0YXRlbWVudDtcbiJdLCJuYW1lcyI6WyJyZXZlcnNlIiwiYXJyYXlVdGlsaXRpZXMiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJVbnF1YWxpZmllZFN0YXRlbWVudCIsInN0cmluZyIsInN0YXRlbWVudCIsImdldFN0cmluZyIsImdldFN0YXRlbWVudCIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwidmVyaWZpZWQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsInRyYWNlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aFByb29mU3RlcHMiLCJ1bmlmeVN0YXRlbWVudFdpdGhQcm9vZlN0ZXBzIiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudCIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInN0YXRlbWVudFVuaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJyZXNvbHZlSW5kZXBlbmRlbnRseSIsInN0YXRlbWVudFJlc29sdmVkSW5kZXBlbmRlbnRseSIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZSIsInByb29mU3RlcCIsInRvSlNPTiIsInN0YXRlbWVudEpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmaWxlQ29udGV4dCIsInN0YXRlbWVudEZyb21KU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiU3RhdGVtZW50Iiwic2hpbSIsInN0YXRlbWVudE5vZGUiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJmcm9tU3RhdGVtZW50Tm9kZSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJ0cmltIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkErSkE7OztlQUFBOzs7eUJBN0orQjsyREFFZDs0REFDUTtzQkFFSjtxQkFDSztvQkFDa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUQsSUFBTSxBQUFFQSxVQUFZQyx5QkFBYyxDQUExQkQ7QUFFUixJQUFNRSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFckMsSUFBQSxBQUFNQyxxQ0FBTjthQUFNQSxxQkFDUUMsTUFBTSxFQUFFQyxTQUFTO2dDQUR6QkY7UUFFRixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhmRjs7WUFNSkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixNQUFNO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixTQUFTO1lBQ3ZCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO2dCQUN0QyxJQUFJQztnQkFFSixJQUFNQyw2QkFBNkIsSUFBSSxDQUFDUCxTQUFTLElBQUksR0FBRztnQkFFeEQsSUFBSSxJQUFJLENBQUNELFNBQVMsS0FBSyxNQUFNO29CQUMzQk0sYUFBYUcsS0FBSyxDQUFDLEFBQUMsa0JBQTRDLE9BQTNCRCw0QkFBMkI7b0JBRWhFLElBQU1FLG9CQUFvQixJQUFJLENBQUNWLFNBQVMsQ0FBQ0csTUFBTSxDQUFDQyxhQUFhQyxRQUFRQztvQkFFckUsSUFBSUksbUJBQW1CO3dCQUNyQkgsV0FBVztvQkFDYixPQUFPO3dCQUNMLElBQU1JLGlDQUFpQyxJQUFJLENBQUNDLDRCQUE0QixDQUFDLElBQUksQ0FBQ1osU0FBUyxFQUFFSSxhQUFhQyxRQUFRQzt3QkFFOUcsSUFBSUssZ0NBQWdDOzRCQUNsQ0osV0FBVzt3QkFDYjtvQkFDRjtvQkFFQSxJQUFJQSxVQUFVO3dCQUNaRCxhQUFhTyxLQUFLLENBQUMsQUFBQyxvQkFBOEMsT0FBM0JMLDRCQUEyQjtvQkFDcEU7Z0JBQ0YsT0FBTztvQkFDTEYsYUFBYU8sS0FBSyxDQUFDLEFBQUMsc0JBQWdELE9BQTNCTCw0QkFBMkI7Z0JBQ3RFO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZWQsU0FBUyxFQUFFZSxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtnQkFDbkUsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCbkIsVUFBVUMsU0FBUyxJQUNyQ08sNkJBQTZCLElBQUksQ0FBQ1AsU0FBUyxJQUFLLEdBQUc7Z0JBRXpEZ0IsY0FBY1IsS0FBSyxDQUFDLEFBQUMsaUJBQXdERCxPQUF4Q1csaUJBQWdCLDBCQUFtRCxPQUEzQlgsNEJBQTJCO2dCQUV4R1UsbUJBQW1CLElBQUksQ0FBQ2xCLFNBQVMsQ0FBQ2MsY0FBYyxDQUFDZCxXQUFXZSxlQUFlQyxlQUFlQztnQkFFMUYsSUFBSUMsa0JBQWtCO29CQUNwQkQsY0FBY0osS0FBSyxDQUFDLEFBQUMsbUJBQTBETCxPQUF4Q1csaUJBQWdCLDBCQUFtRCxPQUEzQlgsNEJBQTJCO2dCQUM1RztnQkFFQSxPQUFPVTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLHFCQUFxQkwsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7Z0JBQzlELElBQUlHO2dCQUVKLElBQU1aLDZCQUE2QixJQUFJLENBQUNQLFNBQVMsSUFBSyxHQUFHO2dCQUV6RGdCLGNBQWNSLEtBQUssQ0FBQyxBQUFDLGtCQUE0QyxPQUEzQkQsNEJBQTJCO2dCQUVqRSxJQUFNYSxpQ0FBaUMsSUFBSSxDQUFDckIsU0FBUyxDQUFDb0Isb0JBQW9CLENBQUNMLGVBQWVDLGVBQWVDO2dCQUV6R0csdUJBQXVCQyxnQ0FBaUMsR0FBRztnQkFFM0QsSUFBSUQsc0JBQXNCO29CQUN4QkgsY0FBY0osS0FBSyxDQUFDLEFBQUMsb0JBQThDLE9BQTNCTCw0QkFBMkI7Z0JBQ3JFO2dCQUVBLE9BQU9ZO1lBQ1Q7OztZQUVBUixLQUFBQTttQkFBQUEsU0FBQUEsNkJBQTZCWixTQUFTLEVBQUVJLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO2dCQUN2RSxJQUFJSztnQkFFSixJQUFJVyxhQUFhaEIsYUFBYWlCLGFBQWE7Z0JBRTNDRCxhQUFhNUIsUUFBUTRCLGFBQWEsR0FBRztnQkFFckNYLGlDQUFpQ1csV0FBV0UsSUFBSSxDQUFDLFNBQUNDO29CQUNoRCxJQUFNUCxtQkFBbUJPLFVBQVVYLGNBQWMsQ0FBQ2QsV0FBV007b0JBRTdELElBQUlZLGtCQUFrQjt3QkFDcEIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPUDtZQUNUOzs7WUFFQWUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQkMsSUFBQUEsOEJBQXdCLEVBQUMsSUFBSSxDQUFDNUIsU0FBUyxHQUN2REEsWUFBWTJCLGVBQ1o1QixTQUFTLElBQUksQ0FBQ0EsTUFBTSxFQUNwQjhCLE9BQU87b0JBQ0w5QixRQUFBQTtvQkFDQUMsV0FBQUE7Z0JBQ0Y7Z0JBRU4sT0FBTzZCO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxXQUFXO2dCQUMvQixJQUFNLEFBQUVoQyxTQUFXOEIsS0FBWDlCLFFBQ0ZDLFlBQVlnQyxJQUFBQSx1QkFBaUIsRUFBQ0gsTUFBTUUsY0FDcENFLHVCQUF1QixJQWhIM0JuQyxxQkFnSG9EQyxRQUFRQztnQkFFOUQsT0FBT2lDO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSw2QkFBNkJDLHdCQUF3QixFQUFFSixXQUFXO2dCQUN2RSxJQUFJRSx1QkFBdUI7Z0JBRTNCLElBQUlFLDZCQUE2QixNQUFNO29CQUNyQyxJQUFJcEM7b0JBRUosSUFBTSxBQUFFcUMsWUFBY0MsYUFBSSxDQUFsQkQsV0FDRkUsZ0JBQWdCMUMsbUJBQW1CdUMsMkJBQ25DN0IsZUFBZWlDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDVCxjQUM1Qy9CLFlBQVlvQyxVQUFVSyxpQkFBaUIsQ0FBQ0gsZUFBZWhDLGVBQ3ZEb0MsT0FBT1AsMEJBQTJCLEdBQUc7b0JBRTNDcEMsU0FBU2dDLFlBQVlZLFlBQVksQ0FBQ0Q7b0JBRWxDM0MsU0FBUzZDLElBQUFBLFlBQUksRUFBQzdDLFNBQVUsR0FBRztvQkFFM0JrQyx1QkFBdUIsSUFySXZCbkMscUJBcUlnREMsUUFBUUM7Z0JBQzFEO2dCQUVBLE9BQU9pQztZQUNUOzs7V0F6SUluQzs7QUE0SU4rQyxPQUFPQyxNQUFNLENBQUNULGFBQUksRUFBRTtJQUNsQnZDLHNCQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|