occam-verify-cli 0.0.915 → 0.0.916
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/assignment/judgement.js +62 -0
- package/lib/context/file.js +5 -5
- package/lib/context/local/metaLevel.js +31 -31
- package/lib/judgement.js +87 -0
- package/lib/verify/frame.js +6 -6
- package/lib/verify/judgement.js +121 -0
- package/lib/verify/metastatement.js +16 -16
- package/package.json +2 -2
- package/src/assignment/judgement.js +30 -0
- package/src/context/file.js +3 -3
- package/src/context/local/metaLevel.js +35 -35
- package/src/{frameAssertion.js → judgement.js} +5 -5
- package/src/verify/frame.js +5 -5
- package/src/verify/{frameAssertion.js → judgement.js} +46 -46
- package/src/verify/metastatement.js +15 -15
- package/lib/assignment/frameAssertion.js +0 -62
- package/lib/frameAssertion.js +0 -87
- package/lib/verify/frameAssertion.js +0 -121
- package/src/assignment/frameAssertion.js +0 -30
package/lib/judgement.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
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 Judgement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function _class_call_check(instance, Constructor) {
|
|
12
|
+
if (!(instance instanceof Constructor)) {
|
|
13
|
+
throw new TypeError("Cannot call a class as a function");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function _defineProperties(target, props) {
|
|
17
|
+
for(var i = 0; i < props.length; i++){
|
|
18
|
+
var descriptor = props[i];
|
|
19
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
20
|
+
descriptor.configurable = true;
|
|
21
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
22
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
26
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
27
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
|
+
return Constructor;
|
|
29
|
+
}
|
|
30
|
+
var Judgement = /*#__PURE__*/ function() {
|
|
31
|
+
function Judgement(node, frame, metavariableNode) {
|
|
32
|
+
_class_call_check(this, Judgement);
|
|
33
|
+
this.node = node;
|
|
34
|
+
this.frame = frame;
|
|
35
|
+
this.metavariableNode = metavariableNode;
|
|
36
|
+
}
|
|
37
|
+
_create_class(Judgement, [
|
|
38
|
+
{
|
|
39
|
+
key: "getNode",
|
|
40
|
+
value: function getNode() {
|
|
41
|
+
return this.node;
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: "getFrame",
|
|
46
|
+
value: function getFrame() {
|
|
47
|
+
return this.frame;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
key: "getMetavariableNode",
|
|
52
|
+
value: function getMetavariableNode() {
|
|
53
|
+
return this.metavariableNode;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
key: "getDeclarations",
|
|
58
|
+
value: function getDeclarations() {
|
|
59
|
+
return this.frame.getDeclarations();
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: "matchMetavariableNode",
|
|
64
|
+
value: function matchMetavariableNode(metavariableNode) {
|
|
65
|
+
var matchesMetavariableNode = this.metavariableNode.match(metavariableNode);
|
|
66
|
+
return matchesMetavariableNode;
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "matchMetaLemmaOrMetaTheorem",
|
|
71
|
+
value: function matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem) {
|
|
72
|
+
return this.frame.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
], [
|
|
76
|
+
{
|
|
77
|
+
key: "fromJudgementNodeFrameAndMetavariableNode",
|
|
78
|
+
value: function fromJudgementNodeFrameAndMetavariableNode(judgementNode, frame, metavariableNode) {
|
|
79
|
+
var node = judgementNode, judgement = new Judgement(node, frame, metavariableNode);
|
|
80
|
+
return judgement;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]);
|
|
84
|
+
return Judgement;
|
|
85
|
+
}();
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qdWRnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEp1ZGdlbWVudCB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIGZyYW1lLCBtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLmZyYW1lID0gZnJhbWU7XG4gICAgdGhpcy5tZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldEZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0RGVjbGFyYXRpb25zKCkgeyByZXR1cm4gdGhpcy5mcmFtZS5nZXREZWNsYXJhdGlvbnMoKTsgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm1ldGF2YXJpYWJsZU5vZGUubWF0Y2gobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc01ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBtYXRjaE1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pIHsgcmV0dXJuIHRoaXMuZnJhbWUubWF0Y2hNZXRhTGVtbWFPck1ldGFUaGVvcmVtKG1ldGFMZW1tYU1ldGF0aGVvcmVtKTsgfVxuXG4gIHN0YXRpYyBmcm9tSnVkZ2VtZW50Tm9kZUZyYW1lQW5kTWV0YXZhcmlhYmxlTm9kZShqdWRnZW1lbnROb2RlLCBmcmFtZSwgbWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG5vZGUgPSBqdWRnZW1lbnROb2RlLFxuICAgICAgICAgIGp1ZGdlbWVudCA9IG5ldyBKdWRnZW1lbnQobm9kZSwgZnJhbWUsIG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIGp1ZGdlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkp1ZGdlbWVudCIsIm5vZGUiLCJmcmFtZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXROb2RlIiwiZ2V0RnJhbWUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwiZ2V0RGVjbGFyYXRpb25zIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUiLCJtYXRjaCIsIm1hdGNoTWV0YUxlbW1hT3JNZXRhVGhlb3JlbSIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtIiwiZnJvbUp1ZGdlbWVudE5vZGVGcmFtZUFuZE1ldGF2YXJpYWJsZU5vZGUiLCJqdWRnZW1lbnROb2RlIiwianVkZ2VtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLDBCQUFELEFBQUw7YUFBTUEsVUFDUEMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLGdCQUFnQjtnQ0FEdEJIO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBOztrQkFKUEg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGdCQUFnQjtZQUM5Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBb0IsT0FBTyxJQUFJLENBQUNMLEtBQUssQ0FBQ0ssZUFBZTtZQUFJOzs7WUFFekRDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JMLGdCQUFnQjtnQkFDcEMsSUFBTU0sMEJBQTBCLElBQUksQ0FBQ04sZ0JBQWdCLENBQUNPLEtBQUssQ0FBQ1A7Z0JBRTVELE9BQU9NO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsNEJBQTRCQyxvQkFBb0I7Z0JBQUksT0FBTyxJQUFJLENBQUNWLEtBQUssQ0FBQ1MsMkJBQTJCLENBQUNDO1lBQXVCOzs7O1lBRWxIQyxLQUFBQTttQkFBUCxTQUFPQSwwQ0FBMENDLGFBQWEsRUFBRVosS0FBSyxFQUFFQyxnQkFBZ0I7Z0JBQ3JGLElBQU1GLE9BQU9hLGVBQ1BDLFlBQVksSUEvQkRmLFVBK0JlQyxNQUFNQyxPQUFPQztnQkFFN0MsT0FBT1k7WUFDVDs7O1dBbENtQmYifQ==
|
package/lib/verify/frame.js
CHANGED
|
@@ -51,13 +51,13 @@ function verifyMetavariable(metavariableNode, declarations, localContext) {
|
|
|
51
51
|
if (metavariable !== null) {
|
|
52
52
|
var metaType = metavariable.getMetaType();
|
|
53
53
|
if (metaType === _frame1.default) {
|
|
54
|
-
var
|
|
55
|
-
if (
|
|
56
|
-
var
|
|
57
|
-
(0, _array.push)(declarations,
|
|
54
|
+
var judgement = localContext.findJudgementByMetavariableNode(metavariableNode);
|
|
55
|
+
if (judgement !== null) {
|
|
56
|
+
var judgementDeclarations = judgement.getDeclarations();
|
|
57
|
+
(0, _array.push)(declarations, judgementDeclarations);
|
|
58
58
|
metavariableVerified = true;
|
|
59
59
|
} else {
|
|
60
|
-
localContext.debug("There is no
|
|
60
|
+
localContext.debug("There is no judgement for the '".concat(metavariableString, "' metavariable."), metavariableNode);
|
|
61
61
|
}
|
|
62
62
|
} else {
|
|
63
63
|
var frameMetaTypeName = _frame1.default.getName(), metaTypeString = metaType.asString();
|
|
@@ -72,4 +72,4 @@ function verifyMetavariable(metavariableNode, declarations, localContext) {
|
|
|
72
72
|
return metavariableVerified;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBmcmFtZU1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9mcmFtZVwiO1xuaW1wb3J0IHZlcmlmeURlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb25cIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGRlY2xhcmF0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZnJhbWUvZGVjbGFyYXRpb25cIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9mcmFtZS9tZXRhdmFyaWFibGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBmcmFtZVZlcmlmaWVkO1xuXG4gIGNvbnN0IGZyYW1lU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhmcmFtZU5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lLi4uYCwgZnJhbWVOb2RlKTtcblxuICBjb25zdCBkZWNsYXJhdGlvbnMgPSBbXSxcbiAgICAgICAgZGVjbGFyYXRpb25Ob2RlcyA9IGRlY2xhcmF0aW9uTm9kZXNRdWVyeShmcmFtZU5vZGUpLFxuICAgICAgICBkZWNsYXJhdGlvbnNWZXJpZmllZCA9IGRlY2xhcmF0aW9uTm9kZXMuZXZlcnkoKGRlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBkZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgICB9KTtcblxuICBpZiAoZGVjbGFyYXRpb25zVmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlcyA9IG1ldGF2YXJpYWJsZU5vZGVzUXVlcnkoZnJhbWVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVzVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVOb2Rlcy5ldmVyeSgobWV0YXZhcmlhYmxlTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlc1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBmcmFtZSA9IEZyYW1lLmZyb21EZWNsYXJhdGlvbnMoZGVjbGFyYXRpb25zKTtcblxuICAgICAgZnJhbWVzLnB1c2goZnJhbWUpO1xuXG4gICAgICBmcmFtZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgZnJhbWUuYCwgZnJhbWVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBmcmFtZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgZGVjbGFyYXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgY29uc3QganVkZ2VtZW50ID0gbG9jYWxDb250ZXh0LmZpbmRKdWRnZW1lbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChqdWRnZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QganVkZ2VtZW50RGVjbGFyYXRpb25zID0ganVkZ2VtZW50LmdldERlY2xhcmF0aW9ucygpO1xuXG4gICAgICAgIHB1c2goZGVjbGFyYXRpb25zLCBqdWRnZW1lbnREZWNsYXJhdGlvbnMpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlcmUgaXMgbm8ganVkZ2VtZW50IGZvciB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgaXMgbm90IHByZXNlbnQnLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufSJdLCJuYW1lcyI6WyJ2ZXJpZnlGcmFtZSIsImRlY2xhcmF0aW9uTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhdmFyaWFibGVOb2Rlc1F1ZXJ5IiwiZnJhbWVOb2RlIiwiZnJhbWVzIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwiZnJhbWVWZXJpZmllZCIsImZyYW1lU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJkZWNsYXJhdGlvbnMiLCJkZWNsYXJhdGlvbk5vZGVzIiwiZGVjbGFyYXRpb25zVmVyaWZpZWQiLCJldmVyeSIsImRlY2xhcmF0aW9uTm9kZSIsImRlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZU5vZGVzIiwibWV0YXZhcmlhYmxlc1ZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwiZnJhbWUiLCJGcmFtZSIsImZyb21EZWNsYXJhdGlvbnMiLCJwdXNoIiwiZGVidWciLCJtZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGUiLCJqdWRnZW1lbnQiLCJmaW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlIiwianVkZ2VtZW50RGVjbGFyYXRpb25zIiwiZ2V0RGVjbGFyYXRpb25zIiwiZnJhbWVNZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YVR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUF3QkE7Ozs0REFWTjs2REFDUTtrRUFDSTtxQkFFVDtxQkFDTTs7Ozs7O0FBRTNCLElBQU1DLHdCQUF3QkMsSUFBQUEsaUJBQVUsRUFBQyx1QkFDbkNDLHlCQUF5QkQsSUFBQUEsaUJBQVUsRUFBQztBQUUzQixTQUFTRixZQUFZSSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDdkYsSUFBSUM7SUFFSixJQUFNQyxjQUFjRixhQUFhRyxZQUFZLENBQUNQO0lBRTlDSSxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBNkIsT0FBWkYsYUFBWSxlQUFhTjtJQUU5RCxJQUFNUyxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmIsc0JBQXNCRyxZQUN6Q1csdUJBQXVCRCxpQkFBaUJFLEtBQUssQ0FBQyxTQUFDQztRQUM3QyxJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFpQixFQUFDRixpQkFBaUJKLGNBQWNMO1FBRTdFLE9BQU9VO0lBQ1Q7SUFFTixJQUFJSCxzQkFBc0I7UUFDeEIsSUFBTUssb0JBQW9CakIsdUJBQXVCQyxZQUMzQ2lCLHdCQUF3QkQsa0JBQWtCSixLQUFLLENBQUMsU0FBQ007WUFDL0MsSUFBTUMsdUJBQXVCQyxtQkFBbUJGLGtCQUFrQlQsY0FBY0w7WUFFaEYsT0FBT2U7UUFDVDtRQUVOLElBQUlGLHVCQUF1QjtZQUN6QixJQUFNSSxRQUFRQyxjQUFLLENBQUNDLGdCQUFnQixDQUFDZDtZQUVyQ1IsT0FBT3VCLElBQUksQ0FBQ0g7WUFFWmhCLGdCQUFnQjtRQUNsQjtJQUNGO0lBRUEsSUFBSUEsZUFBZTtRQUNqQkQsYUFBYXFCLEtBQUssQ0FBQyxBQUFDLG9CQUErQixPQUFabkIsYUFBWSxhQUFXTjtJQUNoRTtJQUVBLE9BQU9LO0FBQ1Q7QUFFQSxTQUFTZSxtQkFBbUJGLGdCQUFnQixFQUFFVCxZQUFZLEVBQUVMLFlBQVk7SUFDdEUsSUFBSWUsdUJBQXVCO0lBRTNCLElBQU1PLHFCQUFxQnRCLGFBQWFHLFlBQVksQ0FBQ1c7SUFFckRkLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFvQyxPQUFuQmtCLG9CQUFtQixzQkFBb0JSO0lBRTVFLElBQU1TLGVBQWV2QixhQUFhd0Isa0NBQWtDLENBQUNWLGtCQUFrQmQ7SUFFdkYsSUFBSXVCLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1FLFdBQVdGLGFBQWFHLFdBQVc7UUFFekMsSUFBSUQsYUFBYUUsZUFBYSxFQUFFO1lBQzlCLElBQU1DLFlBQVk1QixhQUFhNkIsK0JBQStCLENBQUNmO1lBRS9ELElBQUljLGNBQWMsTUFBTTtnQkFDdEIsSUFBTUUsd0JBQXdCRixVQUFVRyxlQUFlO2dCQUV2RFgsSUFBQUEsV0FBSSxFQUFDZixjQUFjeUI7Z0JBRW5CZix1QkFBdUI7WUFDekIsT0FBTztnQkFDTGYsYUFBYXFCLEtBQUssQ0FBQyxBQUFDLGtDQUFvRCxPQUFuQkMsb0JBQW1CLG9CQUFrQlI7WUFDNUY7UUFDRixPQUFPO1lBQ0wsSUFBTWtCLG9CQUFvQkwsZUFBYSxDQUFDTSxPQUFPLElBQ3pDQyxpQkFBaUJULFNBQVNVLFFBQVE7WUFFeENuQyxhQUFhcUIsS0FBSyxDQUFDLEFBQUMsUUFBMkRhLE9BQXBEWixvQkFBbUIsbUNBQXVFVSxPQUF0Q0UsZ0JBQWUseUJBQXlDLE9BQWxCRixtQkFBa0IsT0FBS2xCO1FBQzlJO0lBQ0YsT0FBTztRQUNMZCxhQUFhcUIsS0FBSyxDQUFDLEFBQUMsUUFBMEIsT0FBbkJDLG9CQUFtQixvQ0FBa0NSO0lBQ2xGO0lBRUEsSUFBSUMsc0JBQXNCO1FBQ3hCZixhQUFhcUIsS0FBSyxDQUFDLEFBQUMsb0JBQXNDLE9BQW5CQyxvQkFBbUIsb0JBQWtCUjtJQUM5RTtJQUVBLE9BQU9DO0FBQ1QifQ==
|
|
@@ -0,0 +1,121 @@
|
|
|
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 verifyJudgement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _judgement = /*#__PURE__*/ _interop_require_default(require("../judgement"));
|
|
12
|
+
var _frame = /*#__PURE__*/ _interop_require_default(require("../verify/frame"));
|
|
13
|
+
var _frame1 = /*#__PURE__*/ _interop_require_default(require("../metaType/frame"));
|
|
14
|
+
var _judgement1 = /*#__PURE__*/ _interop_require_default(require("../assignment/judgement"));
|
|
15
|
+
var _array = require("../utilities/array");
|
|
16
|
+
var _query = require("../utilities/query");
|
|
17
|
+
function _interop_require_default(obj) {
|
|
18
|
+
return obj && obj.__esModule ? obj : {
|
|
19
|
+
default: obj
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
var frameNodeQuery = (0, _query.nodeQuery)("/judgement/frame!"), metavariableNodeQuery = (0, _query.nodeQuery)("/judgement/metavariable!");
|
|
23
|
+
function verifyJudgement(judgementNode, assignments, derived, localContext) {
|
|
24
|
+
var judgementVerified;
|
|
25
|
+
var judgementString = localContext.nodeAsString(judgementNode);
|
|
26
|
+
localContext.trace("Verifying the '".concat(judgementString, "' judgement..."), judgementNode);
|
|
27
|
+
var verifyJudgementFunctions = [
|
|
28
|
+
verifyDerivedJudgement,
|
|
29
|
+
verifyStatedJudgement
|
|
30
|
+
];
|
|
31
|
+
judgementVerified = verifyJudgementFunctions.some(function(verifyJudgementFunction) {
|
|
32
|
+
var judgementVerified = verifyJudgementFunction(judgementNode, assignments, derived, localContext);
|
|
33
|
+
if (judgementVerified) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
if (judgementVerified) {
|
|
38
|
+
localContext.debug("...verified the '".concat(judgementString, "' judgement."), judgementNode);
|
|
39
|
+
}
|
|
40
|
+
return judgementVerified;
|
|
41
|
+
}
|
|
42
|
+
function verifyDerivedJudgement(judgementNode, assignments, derived, localContext) {
|
|
43
|
+
var derivedJudgementVerified = false;
|
|
44
|
+
if (derived) {
|
|
45
|
+
var judgementString = localContext.nodeAsString(judgementNode);
|
|
46
|
+
localContext.trace("Verifying the '".concat(judgementString, "' derived judgement..."), judgementNode);
|
|
47
|
+
var metavariableNode = metavariableNodeQuery(judgementNode), metavariableVerified = verifyMetavariable(metavariableNode, localContext);
|
|
48
|
+
if (metavariableVerified) {
|
|
49
|
+
var judgement = localContext.findJudgementByMetavariableNode(metavariableNode);
|
|
50
|
+
if (judgement !== null) {
|
|
51
|
+
var frames = [], frameNode = frameNodeQuery(judgementNode), frameVerified = (0, _frame.default)(frameNode, frames, assignments, derived, localContext);
|
|
52
|
+
if (frameVerified) {
|
|
53
|
+
var firstFrame = (0, _array.first)(frames), frame = firstFrame, frameSingular = frame.isSingular();
|
|
54
|
+
if (frameSingular) {
|
|
55
|
+
var declaration = frame.getDeclaration(), metavariableNode1 = declaration.getMetavariableNode(), metaLemma = localContext.findMetaLemmaByMetavariableNode(metavariableNode1), metatheorem = localContext.findMetatheoremByMetavariableNode(metavariableNode1), metaLemmaMetatheorem = metaLemma || metatheorem; ///
|
|
56
|
+
if (metaLemmaMetatheorem !== null) {
|
|
57
|
+
var declarationMatchesMetaLemmaMetatheorem = declaration.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem), judgementMatchesMetaLemmaMetatheorem = judgement.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
|
|
58
|
+
derivedJudgementVerified = declarationMatchesMetaLemmaMetatheorem && judgementMatchesMetaLemmaMetatheorem;
|
|
59
|
+
} else {
|
|
60
|
+
var metavariableString = localContext.nodeAsString(metavariableNode1);
|
|
61
|
+
localContext.debug("There are no meta-lemmas or metatheorems corresponding to the '".concat(metavariableString, "' metavariable."), judgementNode);
|
|
62
|
+
}
|
|
63
|
+
} else {
|
|
64
|
+
var frameString = localContext.nodeAsString(frameNode);
|
|
65
|
+
localContext.debug("The '".concat(frameString, "' is not singular."), judgementNode);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
var metavariableString1 = localContext.nodeAsString(metavariableNode);
|
|
70
|
+
localContext.debug("There is no judgement present for the '".concat(metavariableString1, "' metavariable."), judgementNode);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (derivedJudgementVerified) {
|
|
74
|
+
localContext.debug("...verified the '".concat(judgementString, "' derived judgement."), judgementNode);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return derivedJudgementVerified;
|
|
78
|
+
}
|
|
79
|
+
function verifyStatedJudgement(judgementNode, assignments, derived, localContext) {
|
|
80
|
+
var statedJudgementVerified = false;
|
|
81
|
+
if (!derived) {
|
|
82
|
+
var judgementString = localContext.nodeAsString(judgementNode);
|
|
83
|
+
localContext.trace("Verifying the '".concat(judgementString, "' stated judgement..."), judgementNode);
|
|
84
|
+
var metavariableNode = metavariableNodeQuery(judgementNode), metavariableVerified = verifyMetavariable(metavariableNode, localContext);
|
|
85
|
+
if (metavariableVerified) {
|
|
86
|
+
var frames = [], frameNode = frameNodeQuery(judgementNode), frameVerified = (0, _frame.default)(frameNode, frames, assignments, derived, localContext);
|
|
87
|
+
if (frameVerified) {
|
|
88
|
+
var firstFrame = (0, _array.first)(frames), frame = firstFrame, judgement = _judgement.default.fromJudgementNodeFrameAndMetavariableNode(judgementNode, frame, metavariableNode), judgementAssignment = _judgement1.default.fromJudgement(judgement), assignment = judgementAssignment;
|
|
89
|
+
assignments.push(assignment);
|
|
90
|
+
statedJudgementVerified = true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (statedJudgementVerified) {
|
|
94
|
+
localContext.debug("...verified the '".concat(judgementString, "' stated judgement."), judgementNode);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return statedJudgementVerified;
|
|
98
|
+
}
|
|
99
|
+
function verifyMetavariable(metavariableNode, localContext) {
|
|
100
|
+
var metavariableVerified = false;
|
|
101
|
+
var metavariableString = localContext.nodeAsString(metavariableNode);
|
|
102
|
+
localContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
|
|
103
|
+
var metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode, localContext);
|
|
104
|
+
if (metavariable !== null) {
|
|
105
|
+
var metaType = metavariable.getMetaType();
|
|
106
|
+
if (metaType === _frame1.default) {
|
|
107
|
+
metavariableVerified = true;
|
|
108
|
+
} else {
|
|
109
|
+
var frameMetaTypeName = _frame1.default.getName(), metaTypeString = metaType.asString();
|
|
110
|
+
localContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(frameMetaTypeName, "'."), metavariableNode);
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
localContext.debug("The '".concat(metavariableString, "' metavariable is not present'."), metavariableNode);
|
|
114
|
+
}
|
|
115
|
+
if (metavariableVerified) {
|
|
116
|
+
localContext.debug("...verified the '".concat(metavariableString, "' metavariable."), metavariableNode);
|
|
117
|
+
}
|
|
118
|
+
return metavariableVerified;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgSnVkZ2VtZW50IGZyb20gXCIuLi9qdWRnZW1lbnRcIjtcbmltcG9ydCB2ZXJpZnlGcmFtZSBmcm9tIFwiLi4vdmVyaWZ5L2ZyYW1lXCI7XG5pbXBvcnQgZnJhbWVNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGUvZnJhbWVcIjtcbmltcG9ydCBKdWRnZW1lbnRBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L2p1ZGdlbWVudFwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGp1ZGdlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoanVkZ2VtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50LFxuICAgIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuICBdO1xuXG4gIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbihqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGRlcml2ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGp1ZGdlbWVudCA9IGxvY2FsQ29udGV4dC5maW5kSnVkZ2VtZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoanVkZ2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZnJhbWVzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBmaXJzdChmcmFtZXMpLFxuICAgICAgICAgICAgICAgIGZyYW1lID0gZmlyc3RGcmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgZnJhbWVTaW5ndWxhciA9IGZyYW1lLmlzU2luZ3VsYXIoKTtcblxuICAgICAgICAgIGlmIChmcmFtZVNpbmd1bGFyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGZyYW1lLmdldERlY2xhcmF0aW9uKCksXG4gICAgICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZGVjbGFyYXRpb24uZ2V0TWV0YXZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgICAgICAgICAgbWV0YUxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhdGhlb3JlbSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbSA9IChtZXRhTGVtbWEgfHwgbWV0YXRoZW9yZW0pOyAgLy8vXG5cbiAgICAgICAgICAgIGlmIChtZXRhTGVtbWFNZXRhdGhlb3JlbSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbk1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSA9IGRlY2xhcmF0aW9uLm1hdGNoTWV0YUxlbW1hT3JNZXRhVGhlb3JlbShtZXRhTGVtbWFNZXRhdGhlb3JlbSksXG4gICAgICAgICAgICAgICAgICAgIGp1ZGdlbWVudE1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSA9IGp1ZGdlbWVudC5tYXRjaE1ldGFMZW1tYU9yTWV0YVRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgICAgIGRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZCA9IChkZWNsYXJhdGlvbk1hdGNoZXNNZXRhTGVtbWFNZXRhdGhlb3JlbSAmJiBqdWRnZW1lbnRNYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZXJlIGFyZSBubyBtZXRhLWxlbW1hcyBvciBtZXRhdGhlb3JlbXMgY29ycmVzcG9uZGluZyB0byB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmcmFtZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZnJhbWVOb2RlKTtcblxuICAgICAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7ZnJhbWVTdHJpbmd9JyBpcyBub3Qgc2luZ3VsYXIuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlcmUgaXMgbm8ganVkZ2VtZW50IHByZXNlbnQgZm9yIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgZGVyaXZlZCBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkSnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3QganVkZ2VtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhqdWRnZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBzdGF0ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGZyYW1lcyA9IFtdLFxuICAgICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWVOb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSksXG4gICAgICAgICAgICBmcmFtZVZlcmlmaWVkID0gdmVyaWZ5RnJhbWUoZnJhbWVOb2RlLCBmcmFtZXMsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoZnJhbWVWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmaXJzdEZyYW1lID0gZmlyc3QoZnJhbWVzKSxcbiAgICAgICAgICAgICAgZnJhbWUgPSBmaXJzdEZyYW1lLCAvLy9cbiAgICAgICAgICAgICAganVkZ2VtZW50ID0gSnVkZ2VtZW50LmZyb21KdWRnZW1lbnROb2RlRnJhbWVBbmRNZXRhdmFyaWFibGVOb2RlKGp1ZGdlbWVudE5vZGUsIGZyYW1lLCBtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAganVkZ2VtZW50QXNzaWdubWVudCA9IEp1ZGdlbWVudEFzc2lnbm1lbnQuZnJvbUp1ZGdlbWVudChqdWRnZW1lbnQpLFxuICAgICAgICAgICAgICBhc3NpZ25tZW50ID0ganVkZ2VtZW50QXNzaWdubWVudDtcblxuICAgICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuXG4gICAgICAgIHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVkSnVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIHN0YXRlZCBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS4uLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICBpZiAobWV0YVR5cGUgPT09IGZyYW1lTWV0YVR5cGUpIHtcbiAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJhbWVNZXRhVHlwZU5hbWUgPSBmcmFtZU1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuYXNTdHJpbmcoKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7ZnJhbWVNZXRhVHlwZU5hbWV9Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGlzIG5vdCBwcmVzZW50Jy5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlKdWRnZW1lbnQiLCJmcmFtZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImp1ZGdlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJqdWRnZW1lbnRWZXJpZmllZCIsImp1ZGdlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZEp1ZGdlbWVudCIsInZlcmlmeVN0YXRlZEp1ZGdlbWVudCIsInNvbWUiLCJ2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwiZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlIiwianVkZ2VtZW50IiwiZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTm9kZSIsImZyYW1lcyIsImZyYW1lTm9kZSIsImZyYW1lVmVyaWZpZWQiLCJ2ZXJpZnlGcmFtZSIsImZpcnN0RnJhbWUiLCJmaXJzdCIsImZyYW1lIiwiZnJhbWVTaW5ndWxhciIsImlzU2luZ3VsYXIiLCJkZWNsYXJhdGlvbiIsImdldERlY2xhcmF0aW9uIiwiZ2V0TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFMZW1tYSIsImZpbmRNZXRhTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdGhlb3JlbSIsImZpbmRNZXRhdGhlb3JlbUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtIiwiZGVjbGFyYXRpb25NYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtYXRjaE1ldGFMZW1tYU9yTWV0YVRoZW9yZW0iLCJqdWRnZW1lbnRNYXRjaGVzTWV0YUxlbW1hTWV0YXRoZW9yZW0iLCJtZXRhdmFyaWFibGVTdHJpbmciLCJmcmFtZVN0cmluZyIsInN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkIiwiSnVkZ2VtZW50IiwiZnJvbUp1ZGdlbWVudE5vZGVGcmFtZUFuZE1ldGF2YXJpYWJsZU5vZGUiLCJqdWRnZW1lbnRBc3NpZ25tZW50IiwiSnVkZ2VtZW50QXNzaWdubWVudCIsImZyb21KdWRnZW1lbnQiLCJhc3NpZ25tZW50IiwicHVzaCIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZSIsImZyYW1lTWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBd0JBOzs7Z0VBWEY7NERBQ0U7NkRBQ0U7aUVBQ007cUJBRVY7cUJBQ0k7Ozs7OztBQUUxQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsc0JBQzNCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YsZ0JBQWdCSSxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ3ZGLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNOO0lBRWxERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJGLGlCQUFnQixtQkFBaUJMO0lBRXRFLElBQU1RLDJCQUEy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
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _judgement = /*#__PURE__*/ _interop_require_default(require("../verify/judgement"));
|
|
12
12
|
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
|
|
13
13
|
var _query = require("../utilities/query");
|
|
14
14
|
function _interop_require_default(obj) {
|
|
@@ -16,13 +16,13 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
var
|
|
19
|
+
var judgementNodeQuery = (0, _query.nodeQuery)("/metastatement/judgement!");
|
|
20
20
|
function verifyMetastatement(metastatementNode, assignments, derived, localContext) {
|
|
21
21
|
var metastatementVerified;
|
|
22
22
|
var metastatementString = localContext.nodeAsString(metastatementNode);
|
|
23
23
|
localContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
|
|
24
24
|
var verifyMetaStatementFunctions = [
|
|
25
|
-
|
|
25
|
+
verifyMetastatementAsJudgement,
|
|
26
26
|
verifyMetastatementAsIs
|
|
27
27
|
];
|
|
28
28
|
metastatementVerified = verifyMetaStatementFunctions.some(function(verifyStatementFunction) {
|
|
@@ -40,24 +40,24 @@ Object.assign(_metaLevel.default, {
|
|
|
40
40
|
verifyMetastatement: verifyMetastatement
|
|
41
41
|
});
|
|
42
42
|
var _default = verifyMetastatement;
|
|
43
|
-
function
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
if (
|
|
43
|
+
function verifyMetastatementAsJudgement(metastatementNode, assignments, derived, localContext) {
|
|
44
|
+
var metastatementVerifiedAsJudgement = false;
|
|
45
|
+
var judgementNode = judgementNodeQuery(metastatementNode);
|
|
46
|
+
if (judgementNode !== null) {
|
|
47
47
|
var metastatementString = localContext.nodeAsString(metastatementNode);
|
|
48
|
-
localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
if (
|
|
52
|
-
localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a
|
|
48
|
+
localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a judgement..."), metastatementNode);
|
|
49
|
+
var judgementVerified = (0, _judgement.default)(judgementNode, assignments, derived, localContext);
|
|
50
|
+
metastatementVerifiedAsJudgement = judgementVerified; ///
|
|
51
|
+
if (metastatementVerifiedAsJudgement) {
|
|
52
|
+
localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a judgement."), metastatementNode);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
return
|
|
55
|
+
return metastatementVerifiedAsJudgement;
|
|
56
56
|
}
|
|
57
57
|
function verifyMetastatementAsIs(metastatementNode, assignments, derived, localContext) {
|
|
58
58
|
var metastatementVerifiedAsIs;
|
|
59
|
-
var
|
|
60
|
-
if (
|
|
59
|
+
var judgementNode = judgementNodeQuery(metastatementNode);
|
|
60
|
+
if (judgementNode === null) {
|
|
61
61
|
var metastatementString = localContext.nodeAsString(metastatementNode);
|
|
62
62
|
localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
|
|
63
63
|
var verifyMetastatementAsIsFunctions = [
|
|
@@ -101,4 +101,4 @@ function verifyStatedMetastatementAsIs(metastatementNode, assignments, derived,
|
|
|
101
101
|
return statedMetastatementVerifiedAsIs;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZyYW1lQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9mcmFtZUFzc2VydGlvbiFcIik7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50Li4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzRnJhbWVBc3NlcnRpb24sXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNcbiAgXTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihtZXRhTGV2ZWxOb2RlVmVyaWZpZXIsIHtcbiAgdmVyaWZ5TWV0YXN0YXRlbWVudFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZlcmlmeU1ldGFzdGF0ZW1lbnQ7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0ZyYW1lQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlID0gZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChmcmFtZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBmcmFtZSBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBmcmFtZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RnJhbWVBc3NlcnRpb24oZnJhbWVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24gPSBmcmFtZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBmcmFtZSBhc3NlcnRpb24uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcblxuICBjb25zdCBmcmFtZUFzc2VydGlvbk5vZGUgPSBmcmFtZUFzc2VydGlvbk5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKGZyYW1lQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0lzLFxuICAgICAgdmVyaWZ5U3RhdGVkTWV0YXN0YXRlbWVudEFzSXNcbiAgICBdO1xuXG4gICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb25zLnNvbWUoKHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQuZGVidWcoYENhbm5vdCB2ZXJpZnkgdGhlIGRlcml2ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICAgIGlmIChzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuIl0sIm5hbWVzIjpbImZyYW1lQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0ZyYW1lQXNzZXJ0aW9uIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsIm1ldGFMZXZlbE5vZGVWZXJpZmllciIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24iLCJmcmFtZUFzc2VydGlvbk5vZGUiLCJmcmFtZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5RnJhbWVBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMiLCJ2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb24iLCJkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyIsInN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdDQTs7O2VBQUE7OztxRUF0Q2lDO2dFQUNDO3FCQUVSOzs7Ozs7QUFFMUIsSUFBTUEsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFDLFNBQVNDLG9CQUFvQkMsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ2hGLElBQUlDO0lBRUosSUFBTUMsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO0lBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQix1QkFBcUJMO0lBRTlFLElBQU1RLCtCQUErQjtRQUNuQ0M7UUFDQUM7S0FDRDtJQUVETix3QkFBd0JJLDZCQUE2QkcsSUFBSSxDQUFDLFNBQUNDO1FBQ3pELElBQU1SLHdCQUF3QlEsd0JBQXdCWixtQkFBbUJDLGFBQWFDLFNBQVNDO1FBRS9GLElBQUlDLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLHVCQUF1QjtRQUN6QkQsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQXVDLE9BQXBCUixxQkFBb0IscUJBQW1CTDtJQUNoRjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQVUsT0FBT0MsTUFBTSxDQUFDQyxrQkFBcUIsRUFBRTtJQUNuQ2pCLHFCQUFBQTtBQUNGO0lBRUEsV0FBZUE7QUFFZixTQUFTVSxvQ0FBb0NULGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUNoRyxJQUFJYyx3Q0FBd0M7SUFFNUMsSUFBTUMscUJBQXFCckIsd0JBQXdCRztJQUVuRCxJQUFJa0IsdUJBQXVCLE1BQU07UUFDL0IsSUFBTWIsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw0Q0FBMENMO1FBRW5HLElBQU1tQix5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JqQixhQUFhQyxTQUFTQztRQUU5RmMsd0NBQXdDRSx3QkFBeUIsR0FBRztRQUVwRSxJQUFJRix1Q0FBdUM7WUFDekNkLGFBQWFVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLDBDQUF3Q0w7UUFDckc7SUFDRjtJQUVBLE9BQU9pQjtBQUNUO0FBRUEsU0FBU1Asd0JBQXdCVixpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDcEYsSUFBSWtCO0lBRUosSUFBTUgscUJBQXFCckIsd0JBQXdCRztJQUVuRCxJQUFJa0IsdUJBQXVCLE1BQU07UUFDL0IsSUFBTWIsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw2QkFBMkJMO1FBRXBGLElBQU1zQixtQ0FBbUM7WUFDdkNDO1lBQ0FDO1NBQ0Q7UUFFREgsNEJBQTRCQyxpQ0FBaUNYLElBQUksQ0FBQyxTQUFDYztZQUNqRSxJQUFNSiw0QkFBNEJJLGdDQUFnQ3pCLG1CQUFtQkMsYUFBYUMsU0FBU0M7WUFFM0csSUFBSWtCLDJCQUEyQjtnQkFDN0IsT0FBTztZQUNUO1FBQ0Y7UUFFQSxJQUFJQSwyQkFBMkI7WUFDN0JsQixhQUFhVSxLQUFLLENBQUMsQUFBQyxvQkFBdUMsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO1FBQ3RGO0lBQ0Y7SUFFQSxPQUFPcUI7QUFDVDtBQUVBLFNBQVNFLCtCQUErQnZCLGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUMzRixJQUFJdUIsbUNBQW1DO0lBRXZDLElBQUl4QixTQUFTO1FBQ1gsSUFBTUcsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhVSxLQUFLLENBQUMsQUFBQyw4QkFBaUQsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO0lBQ2hHO0lBRUEsT0FBTzBCO0FBQ1Q7QUFFQSxTQUFTRiw4QkFBOEJ4QixpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDMUYsSUFBSXdCLGtDQUFrQztJQUV0QyxJQUFJLENBQUN6QixTQUFTO1FBQ1osSUFBTUcsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyx5QkFBNEMsT0FBcEJGLHFCQUFvQiw2QkFBMkJMO1FBRTNGLElBQU00QixrQkFBa0I1QixtQkFDbEI2QiwwQkFBMEJiLGtCQUFxQixDQUFDYyxxQkFBcUIsQ0FBQ0YsaUJBQWlCekIsY0FBYztZQUNuRyxJQUFNNEIsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTkosa0NBQWtDRSx5QkFBMEIsR0FBRztRQUUvRCxJQUFJRixpQ0FBaUM7WUFDbkN4QixhQUFhVSxLQUFLLENBQUMsQUFBQywyQkFBOEMsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO1FBQzdGO0lBQ0Y7SUFFQSxPQUFPMkI7QUFDVCJ9
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUp1ZGdlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L2p1ZGdlbWVudFwiO1xuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBqdWRnZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9qdWRnZW1lbnQhXCIpO1xuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudC4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0p1ZGdlbWVudCxcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc1xuICBdO1xuXG4gIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudC5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKG1ldGFMZXZlbE5vZGVWZXJpZmllciwge1xuICB2ZXJpZnlNZXRhc3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5TWV0YXN0YXRlbWVudDtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSnVkZ2VtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCA9IGZhbHNlO1xuXG4gIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChqdWRnZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEganVkZ2VtZW50Li4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCA9IGp1ZGdlbWVudFZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEganVkZ2VtZW50LmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xuXG4gIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChqdWRnZW1lbnROb2RlID09PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLi4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbnMgPSBbXG4gICAgICB2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMsXG4gICAgICB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJc1xuICAgIF07XG5cbiAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbnMuc29tZSgodmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgQ2Fubm90IHZlcmlmeSB0aGUgZGVyaXZlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgaWYgKHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG59XG4iXSwibmFtZXMiOlsianVkZ2VtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0p1ZGdlbWVudCIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzIiwic29tZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhTGV2ZWxOb2RlVmVyaWZpZXIiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCIsImp1ZGdlbWVudE5vZGUiLCJqdWRnZW1lbnRWZXJpZmllZCIsInZlcmlmeUp1ZGdlbWVudCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyIsInZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbiIsImRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwic3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.916",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"necessary": "^14.0.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.818",
|
|
16
16
|
"occam-entities": "^1.0.147",
|
|
17
17
|
"occam-file-system": "^6.0.188",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.207",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default class JudgementAssignment {
|
|
4
|
+
constructor(judgement) {
|
|
5
|
+
this.judgement = judgement;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
getJudgement() {
|
|
9
|
+
return this.judgement;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
assign(localContext) {
|
|
13
|
+
const judgementAdded = localContext.addJudgement(this.judgement),
|
|
14
|
+
judgementNode = this.judgement.getNode(),
|
|
15
|
+
judgementString = localContext.nodeAsString(judgementNode),
|
|
16
|
+
judgementAssigned = judgementAdded; ///
|
|
17
|
+
|
|
18
|
+
judgementAssigned ?
|
|
19
|
+
localContext.trace(`Assigned the '${judgementString}' judgement.`, judgementNode) :
|
|
20
|
+
localContext.debug(`Unable to assign the '${judgementString}' judgement.`, judgementNode);
|
|
21
|
+
|
|
22
|
+
return judgementAssigned;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static fromJudgement(judgement) {
|
|
26
|
+
const judgementAssignment = new JudgementAssignment(judgement);
|
|
27
|
+
|
|
28
|
+
return judgementAssignment;
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/context/file.js
CHANGED
|
@@ -82,10 +82,10 @@ export default class FileContext {
|
|
|
82
82
|
return metaproofSteps;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
const
|
|
85
|
+
getJudgements() {
|
|
86
|
+
const judgements = [];
|
|
87
87
|
|
|
88
|
-
return
|
|
88
|
+
return judgements;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
getLabels(includeRelease = true) {
|
|
@@ -5,12 +5,23 @@ import IntrinsicLevelLocalContext from "../../context/local/intrinsicLevel";
|
|
|
5
5
|
import { last, reverse } from "../../utilities/array";
|
|
6
6
|
|
|
7
7
|
class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
8
|
-
constructor(context, variables, proofSteps, equivalences, metavariables, metaproofSteps
|
|
8
|
+
constructor(context, variables, proofSteps, equivalences, judgements, metavariables, metaproofSteps) {
|
|
9
9
|
super(context, variables, proofSteps, equivalences);
|
|
10
10
|
|
|
11
|
+
this.judgements = judgements;
|
|
11
12
|
this.metavariables = metavariables;
|
|
12
13
|
this.metaproofSteps = metaproofSteps;
|
|
13
|
-
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
getJudgements() {
|
|
17
|
+
let judgements = this.context.getJudgements();
|
|
18
|
+
|
|
19
|
+
judgements = [ ///
|
|
20
|
+
...this.judgements,
|
|
21
|
+
...judgements
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
return judgements;
|
|
14
25
|
}
|
|
15
26
|
|
|
16
27
|
getMetavariables() {
|
|
@@ -35,17 +46,6 @@ class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
|
35
46
|
return metaproofSteps;
|
|
36
47
|
}
|
|
37
48
|
|
|
38
|
-
getFrameAssertions() {
|
|
39
|
-
let frameAssertions = this.context.getFrameAssertions();
|
|
40
|
-
|
|
41
|
-
frameAssertions = [ ///
|
|
42
|
-
...this.frameAssertions,
|
|
43
|
-
...frameAssertions
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
return frameAssertions;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
49
|
isIntrinsicLevel() {
|
|
50
50
|
const intrinsicLevel = false;
|
|
51
51
|
|
|
@@ -64,19 +64,19 @@ class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
|
64
64
|
return lastMetaproofStep;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
let
|
|
67
|
+
addJudgement(judgement) {
|
|
68
|
+
let judgementAdded = false;
|
|
69
69
|
|
|
70
|
-
const metavariableNode =
|
|
71
|
-
|
|
70
|
+
const metavariableNode = judgement.getMetavariableNode(),
|
|
71
|
+
judgementPresent = this.isJudgementPresentByMetavariableNode(metavariableNode);
|
|
72
72
|
|
|
73
|
-
if (!
|
|
74
|
-
this.
|
|
73
|
+
if (!judgementPresent) {
|
|
74
|
+
this.judgements.push(judgement);
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
judgementAdded = true;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
return
|
|
79
|
+
return judgementAdded;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
addMetavariable(metavariable) {
|
|
@@ -134,17 +134,17 @@ class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
|
134
134
|
return metavariable;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
const
|
|
137
|
+
findJudgementByMetavariableNode(metavariableNode) {
|
|
138
|
+
const judgements = this.getJudgements(),
|
|
139
|
+
judgement = judgements.find((judgement) => {
|
|
140
|
+
const judgementMatchesMetavariableNode = judgement.matchMetavariableNode(metavariableNode);
|
|
141
141
|
|
|
142
|
-
if (
|
|
142
|
+
if (judgementMatchesMetavariableNode) {
|
|
143
143
|
return true;
|
|
144
144
|
}
|
|
145
145
|
}) || null;
|
|
146
146
|
|
|
147
|
-
return
|
|
147
|
+
return judgement;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
isMetavariablePresentByMetavariableNode(metavariableNode, metaLevelLocalContext) {
|
|
@@ -154,11 +154,11 @@ class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
|
154
154
|
return metavariablePresent;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
const
|
|
159
|
-
|
|
157
|
+
isJudgementPresentByMetavariableNode(metavariableNode) {
|
|
158
|
+
const judgement = this.findJudgementByMetavariableNode(metavariableNode),
|
|
159
|
+
judgementPresent = (judgement !== null);
|
|
160
160
|
|
|
161
|
-
return
|
|
161
|
+
return judgementPresent;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
static fromFileContext(fileContext) {
|
|
@@ -166,10 +166,10 @@ class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
|
166
166
|
variables = [],
|
|
167
167
|
proofSteps = [],
|
|
168
168
|
equivalences = [],
|
|
169
|
+
judgements = [],
|
|
169
170
|
metavariables = [],
|
|
170
171
|
metaproofSteps = [],
|
|
171
|
-
|
|
172
|
-
metaLevelLocalContext = new MetaLevelLocalContext(context, variables, proofSteps, equivalences, metavariables, metaproofSteps, frameAssertions);
|
|
172
|
+
metaLevelLocalContext = new MetaLevelLocalContext(context, variables, proofSteps, equivalences, judgements, metavariables, metaproofSteps);
|
|
173
173
|
|
|
174
174
|
return metaLevelLocalContext;
|
|
175
175
|
}
|
|
@@ -179,10 +179,10 @@ class MetaLevelLocalContext extends IntrinsicLevelLocalContext {
|
|
|
179
179
|
variables = [],
|
|
180
180
|
proofSteps = [],
|
|
181
181
|
equivalences = [],
|
|
182
|
+
judgements = [],
|
|
182
183
|
metavariables = [],
|
|
183
184
|
metaproofSteps = [],
|
|
184
|
-
|
|
185
|
-
metaLevelLocalContext = new MetaLevelLocalContext(context, variables, proofSteps, equivalences, metavariables, metaproofSteps, frameAssertions); ///
|
|
185
|
+
metaLevelLocalContext = new MetaLevelLocalContext(context, variables, proofSteps, equivalences, judgements, metavariables, metaproofSteps); ///
|
|
186
186
|
|
|
187
187
|
return metaLevelLocalContext;
|
|
188
188
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export default class
|
|
3
|
+
export default class Judgement {
|
|
4
4
|
constructor(node, frame, metavariableNode) {
|
|
5
5
|
this.node = node;
|
|
6
6
|
this.frame = frame;
|
|
@@ -29,10 +29,10 @@ export default class FrameAssertion {
|
|
|
29
29
|
|
|
30
30
|
matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem) { return this.frame.matchMetaLemmaOrMetaTheorem(metaLemmaMetatheorem); }
|
|
31
31
|
|
|
32
|
-
static
|
|
33
|
-
const node =
|
|
34
|
-
|
|
32
|
+
static fromJudgementNodeFrameAndMetavariableNode(judgementNode, frame, metavariableNode) {
|
|
33
|
+
const node = judgementNode,
|
|
34
|
+
judgement = new Judgement(node, frame, metavariableNode);
|
|
35
35
|
|
|
36
|
-
return
|
|
36
|
+
return judgement;
|
|
37
37
|
}
|
|
38
38
|
}
|