occam-verify-cli 0.0.940 → 0.0.942
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/frame.js +2 -2
- package/lib/premise.js +3 -3
- package/lib/proofStep.js +4 -3
- package/lib/rule.js +10 -3
- package/lib/substitution/termForVariable.js +3 -3
- package/lib/substitutions.js +186 -0
- package/lib/supposition.js +3 -3
- package/lib/topLevelAssertion.js +13 -12
- package/lib/unify/metavariableAgainstStatement.js +4 -4
- package/lib/unify/variableAgainstTerm.js +4 -4
- package/lib/utilities/array.js +13 -1
- package/lib/verifier/metaLevel.js +7 -7
- package/lib/verifier/statementAsCombinator.js +13 -7
- package/lib/verifier/termAsConstructor.js +5 -5
- package/lib/verifier/topLevel.js +236 -0
- package/lib/verify/axiom.js +3 -2
- package/lib/verify/conjecture.js +5 -3
- package/lib/verify/declaration/metavariable.js +70 -4
- package/lib/verify/declaration/type.js +36 -3
- package/lib/verify/declaration/variable.js +38 -3
- package/lib/verify/error.js +18 -0
- package/lib/verify/file.js +7 -21
- package/lib/verify/lemma.js +4 -3
- package/lib/verify/metaLemma.js +3 -2
- package/lib/verify/metatheorem.js +3 -2
- package/lib/verify/metavariable.js +4 -26
- package/lib/verify/rule.js +3 -2
- package/lib/verify/statement.js +4 -26
- package/lib/verify/term.js +4 -23
- package/lib/verify/theorem.js +4 -3
- package/lib/verify/type.js +10 -57
- package/lib/verify/variable.js +10 -59
- package/package.json +5 -5
- package/src/frame.js +1 -1
- package/src/premise.js +2 -2
- package/src/proofStep.js +3 -2
- package/src/rule.js +19 -3
- package/src/substitution/termForVariable.js +2 -2
- package/src/substitutions.js +103 -0
- package/src/supposition.js +2 -2
- package/src/topLevelAssertion.js +22 -15
- package/src/unify/metavariableAgainstStatement.js +3 -3
- package/src/unify/variableAgainstTerm.js +3 -3
- package/src/utilities/array.js +15 -0
- package/src/verifier/metaLevel.js +7 -9
- package/src/verifier/statementAsCombinator.js +18 -9
- package/src/verifier/termAsConstructor.js +6 -7
- package/src/verifier/topLevel.js +160 -0
- package/src/verify/axiom.js +2 -1
- package/src/verify/conjecture.js +5 -2
- package/src/verify/declaration/metavariable.js +112 -2
- package/src/verify/declaration/type.js +48 -1
- package/src/verify/declaration/variable.js +50 -1
- package/src/verify/error.js +11 -0
- package/src/verify/file.js +8 -29
- package/src/verify/lemma.js +3 -2
- package/src/verify/metaLemma.js +2 -1
- package/src/verify/metatheorem.js +2 -1
- package/src/verify/metavariable.js +0 -22
- package/src/verify/rule.js +2 -1
- package/src/verify/statement.js +0 -25
- package/src/verify/term.js +0 -19
- package/src/verify/theorem.js +3 -2
- package/src/verify/type.js +6 -56
- package/src/verify/variable.js +6 -58
- package/lib/verify/declaration/topLevel.js +0 -75
- package/src/verify/declaration/topLevel.js +0 -101
|
@@ -0,0 +1,236 @@
|
|
|
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 _verifier = /*#__PURE__*/ _interop_require_default(require("../verifier"));
|
|
12
|
+
var _error = /*#__PURE__*/ _interop_require_default(require("../verify/error"));
|
|
13
|
+
var _rule = /*#__PURE__*/ _interop_require_default(require("../verify/rule"));
|
|
14
|
+
var _axiom = /*#__PURE__*/ _interop_require_default(require("../verify/axiom"));
|
|
15
|
+
var _lemma = /*#__PURE__*/ _interop_require_default(require("../verify/lemma"));
|
|
16
|
+
var _theorem = /*#__PURE__*/ _interop_require_default(require("../verify/theorem"));
|
|
17
|
+
var _metaLemma = /*#__PURE__*/ _interop_require_default(require("../verify/metaLemma"));
|
|
18
|
+
var _conjecture = /*#__PURE__*/ _interop_require_default(require("../verify/conjecture"));
|
|
19
|
+
var _metatheorem = /*#__PURE__*/ _interop_require_default(require("../verify/metatheorem"));
|
|
20
|
+
var _type = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/type"));
|
|
21
|
+
var _variable = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/variable"));
|
|
22
|
+
var _combinator = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/combinator"));
|
|
23
|
+
var _constructor = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/constructor"));
|
|
24
|
+
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/metavariable"));
|
|
25
|
+
var _query = require("../utilities/query");
|
|
26
|
+
function _assert_this_initialized(self) {
|
|
27
|
+
if (self === void 0) {
|
|
28
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
29
|
+
}
|
|
30
|
+
return self;
|
|
31
|
+
}
|
|
32
|
+
function _call_super(_this, derived, args) {
|
|
33
|
+
derived = _get_prototype_of(derived);
|
|
34
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
35
|
+
}
|
|
36
|
+
function _class_call_check(instance, Constructor) {
|
|
37
|
+
if (!(instance instanceof Constructor)) {
|
|
38
|
+
throw new TypeError("Cannot call a class as a function");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function _defineProperties(target, props) {
|
|
42
|
+
for(var i = 0; i < props.length; i++){
|
|
43
|
+
var descriptor = props[i];
|
|
44
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
45
|
+
descriptor.configurable = true;
|
|
46
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
47
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
51
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
52
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
53
|
+
return Constructor;
|
|
54
|
+
}
|
|
55
|
+
function _define_property(obj, key, value) {
|
|
56
|
+
if (key in obj) {
|
|
57
|
+
Object.defineProperty(obj, key, {
|
|
58
|
+
value: value,
|
|
59
|
+
enumerable: true,
|
|
60
|
+
configurable: true,
|
|
61
|
+
writable: true
|
|
62
|
+
});
|
|
63
|
+
} else {
|
|
64
|
+
obj[key] = value;
|
|
65
|
+
}
|
|
66
|
+
return obj;
|
|
67
|
+
}
|
|
68
|
+
function _get_prototype_of(o) {
|
|
69
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
70
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
71
|
+
};
|
|
72
|
+
return _get_prototype_of(o);
|
|
73
|
+
}
|
|
74
|
+
function _inherits(subClass, superClass) {
|
|
75
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
76
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
77
|
+
}
|
|
78
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
79
|
+
constructor: {
|
|
80
|
+
value: subClass,
|
|
81
|
+
writable: true,
|
|
82
|
+
configurable: true
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
86
|
+
}
|
|
87
|
+
function _interop_require_default(obj) {
|
|
88
|
+
return obj && obj.__esModule ? obj : {
|
|
89
|
+
default: obj
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function _possible_constructor_return(self, call) {
|
|
93
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
94
|
+
return call;
|
|
95
|
+
}
|
|
96
|
+
return _assert_this_initialized(self);
|
|
97
|
+
}
|
|
98
|
+
function _set_prototype_of(o, p) {
|
|
99
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
100
|
+
o.__proto__ = p;
|
|
101
|
+
return o;
|
|
102
|
+
};
|
|
103
|
+
return _set_prototype_of(o, p);
|
|
104
|
+
}
|
|
105
|
+
function _type_of(obj) {
|
|
106
|
+
"@swc/helpers - typeof";
|
|
107
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
108
|
+
}
|
|
109
|
+
function _is_native_reflect_construct() {
|
|
110
|
+
try {
|
|
111
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
112
|
+
} catch (_) {}
|
|
113
|
+
return (_is_native_reflect_construct = function() {
|
|
114
|
+
return !!result;
|
|
115
|
+
})();
|
|
116
|
+
}
|
|
117
|
+
var errorNodeQuery = (0, _query.nodeQuery)("/error"), ruleNodeQuery = (0, _query.nodeQuery)("/rule!"), axiomNodeQuery = (0, _query.nodeQuery)("/axiom!"), lemmaNodeQuery = (0, _query.nodeQuery)("/lemma!"), theoremNodeQuery = (0, _query.nodeQuery)("/theorem!"), metaLemmaNodeQuery = (0, _query.nodeQuery)("/metaLemma!"), conjectureNodeQuery = (0, _query.nodeQuery)("/conjecture!"), metatheoremNodeQuery = (0, _query.nodeQuery)("/metatheorem!"), typeDeclarationNodeQuery = (0, _query.nodeQuery)("/typeDeclaration!"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/variableDeclaration!"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/combinatorDeclaration!"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration!"), metavariableDeclarationNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration!");
|
|
118
|
+
var TopLevelVerifier = /*#__PURE__*/ function(Verifier) {
|
|
119
|
+
_inherits(TopLevelVerifier, Verifier);
|
|
120
|
+
function TopLevelVerifier() {
|
|
121
|
+
_class_call_check(this, TopLevelVerifier);
|
|
122
|
+
return _call_super(this, TopLevelVerifier, arguments);
|
|
123
|
+
}
|
|
124
|
+
_create_class(TopLevelVerifier, [
|
|
125
|
+
{
|
|
126
|
+
key: "verify",
|
|
127
|
+
value: function verify(node, fileContext) {
|
|
128
|
+
var verified;
|
|
129
|
+
var nonTerminalNode = node, nonTerminalNodeVerified = this.verifyNonTerminalNode(nonTerminalNode, fileContext, function() {
|
|
130
|
+
var verifiedAhead = true;
|
|
131
|
+
return verifiedAhead;
|
|
132
|
+
});
|
|
133
|
+
verified = nonTerminalNodeVerified; ///
|
|
134
|
+
return verified;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
]);
|
|
138
|
+
return TopLevelVerifier;
|
|
139
|
+
}(_verifier.default);
|
|
140
|
+
_define_property(TopLevelVerifier, "maps", [
|
|
141
|
+
{
|
|
142
|
+
nodeQuery: errorNodeQuery,
|
|
143
|
+
verify: function(errorNode, fileContext) {
|
|
144
|
+
var errorVerified = (0, _error.default)(errorNode, fileContext);
|
|
145
|
+
return errorVerified;
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
nodeQuery: ruleNodeQuery,
|
|
150
|
+
verify: function(ruleNode, fileContext) {
|
|
151
|
+
var ruleVerified = (0, _rule.default)(ruleNode, fileContext);
|
|
152
|
+
return ruleVerified;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
nodeQuery: axiomNodeQuery,
|
|
157
|
+
verify: function(axiomNode, fileContext) {
|
|
158
|
+
var axiomVerified = (0, _axiom.default)(axiomNode, fileContext);
|
|
159
|
+
return axiomVerified;
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
nodeQuery: lemmaNodeQuery,
|
|
164
|
+
verify: function(lemmaNode, fileContext) {
|
|
165
|
+
var lemmaVerified = (0, _lemma.default)(lemmaNode, fileContext);
|
|
166
|
+
return lemmaVerified;
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
nodeQuery: theoremNodeQuery,
|
|
171
|
+
verify: function(theoremNode, fileContext) {
|
|
172
|
+
var theoremVerified = (0, _theorem.default)(theoremNode, fileContext);
|
|
173
|
+
return theoremVerified;
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
nodeQuery: metaLemmaNodeQuery,
|
|
178
|
+
verify: function(metaLemmaNode, fileContext) {
|
|
179
|
+
var metaLemmaVerified = (0, _metaLemma.default)(metaLemmaNode, fileContext);
|
|
180
|
+
return metaLemmaVerified;
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
nodeQuery: conjectureNodeQuery,
|
|
185
|
+
verify: function(conjectureNode, fileContext) {
|
|
186
|
+
var conjectureVerified = (0, _conjecture.default)(conjectureNode, fileContext);
|
|
187
|
+
return conjectureVerified;
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
nodeQuery: metatheoremNodeQuery,
|
|
192
|
+
verify: function(metatheoremNode, fileContext) {
|
|
193
|
+
var metatheoremVerified = (0, _metatheorem.default)(metatheoremNode, fileContext);
|
|
194
|
+
return metatheoremVerified;
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
nodeQuery: typeDeclarationNodeQuery,
|
|
199
|
+
verify: function(typeDeclarationNode, fileContext) {
|
|
200
|
+
var typeDeclarationVerified = (0, _type.default)(typeDeclarationNode, fileContext);
|
|
201
|
+
return typeDeclarationVerified;
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
nodeQuery: variableDeclarationNodeQuery,
|
|
206
|
+
verify: function(variableDeclarationNode, fileContext) {
|
|
207
|
+
var variableDeclarationVerified = (0, _variable.default)(variableDeclarationNode, fileContext);
|
|
208
|
+
return variableDeclarationVerified;
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
nodeQuery: combinatorDeclarationNodeQuery,
|
|
213
|
+
verify: function(combinatorDeclarationNode, fileContext) {
|
|
214
|
+
var combinatorDeclarationVerified = (0, _combinator.default)(combinatorDeclarationNode, fileContext);
|
|
215
|
+
return combinatorDeclarationVerified;
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
nodeQuery: constructorDeclarationNodeQuery,
|
|
220
|
+
verify: function(constructorDeclarationNode, fileContext) {
|
|
221
|
+
var constructorDeclarationVerified = (0, _constructor.default)(constructorDeclarationNode, fileContext);
|
|
222
|
+
return constructorDeclarationVerified;
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
nodeQuery: metavariableDeclarationNodeQuery,
|
|
227
|
+
verify: function(metavariableDeclarationNode, fileContext) {
|
|
228
|
+
var metavariableDeclarationVerified = (0, _metavariable.default)(metavariableDeclarationNode, fileContext);
|
|
229
|
+
return metavariableDeclarationVerified;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
]);
|
|
233
|
+
var topLevelVerifier = new TopLevelVerifier();
|
|
234
|
+
var _default = topLevelVerifier;
|
|
235
|
+
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllclwiO1xuaW1wb3J0IHZlcmlmeUVycm9yIGZyb20gXCIuLi92ZXJpZnkvZXJyb3JcIjtcbmltcG9ydCB2ZXJpZnlSdWxlIGZyb20gXCIuLi92ZXJpZnkvcnVsZVwiO1xuaW1wb3J0IHZlcmlmeUF4aW9tIGZyb20gXCIuLi92ZXJpZnkvYXhpb21cIjtcbmltcG9ydCB2ZXJpZnlMZW1tYSBmcm9tIFwiLi4vdmVyaWZ5L2xlbW1hXCI7XG5pbXBvcnQgdmVyaWZ5VGhlb3JlbSBmcm9tIFwiLi4vdmVyaWZ5L3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlNZXRhTGVtbWEgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhTGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlDb25qZWN0dXJlIGZyb20gXCIuLi92ZXJpZnkvY29uamVjdHVyZVwiO1xuaW1wb3J0IHZlcmlmeU1ldGF0aGVvcmVtIGZyb20gXCIuLi92ZXJpZnkvbWV0YXRoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlUeXBlRGVjbGFyYXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9kZWNsYXJhdGlvbi90eXBlXCI7XG5pbXBvcnQgdmVyaWZ5VmFyaWFibGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgdmVyaWZ5Q29tYmluYXRvckRlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IHZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9kZWNsYXJhdGlvbi9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBydWxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGUhXCIpLFxuICAgICAgYXhpb21Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb20hXCIpLFxuICAgICAgbGVtbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbGVtbWEhXCIpLFxuICAgICAgdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90aGVvcmVtIVwiKSxcbiAgICAgIG1ldGFMZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhTGVtbWEhXCIpLFxuICAgICAgY29uamVjdHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlIVwiKSxcbiAgICAgIG1ldGF0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtIVwiKSxcbiAgICAgIHR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb24hXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uIVwiKSxcbiAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb24hXCIpLFxuICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uIVwiKTtcblxuY2xhc3MgVG9wTGV2ZWxWZXJpZmllciBleHRlbmRzIFZlcmlmaWVyIHtcbiAgdmVyaWZ5KG5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICB2ZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGVycm9yTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoZXJyb3JOb2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvclZlcmlmaWVkID0gdmVyaWZ5RXJyb3IoZXJyb3JOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcnVsZVZlcmlmaWVkID0gdmVyaWZ5UnVsZShydWxlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBydWxlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGF4aW9tTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBheGlvbVZlcmlmaWVkID0gdmVyaWZ5QXhpb20oYXhpb21Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGF4aW9tVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobGVtbWFOb2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBsZW1tYVZlcmlmaWVkID0gdmVyaWZ5TGVtbWEobGVtbWFOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGxlbW1hVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgdGhlb3JlbVZlcmlmaWVkID0gdmVyaWZ5VGhlb3JlbSh0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB0aGVvcmVtVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGFMZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGFMZW1tYVZlcmlmaWVkID0gdmVyaWZ5TWV0YUxlbW1hKG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gbWV0YUxlbW1hVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbmplY3R1cmVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25qZWN0dXJlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgY29uamVjdHVyZVZlcmlmaWVkID0gdmVyaWZ5Q29uamVjdHVyZShjb25qZWN0dXJlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb25qZWN0dXJlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBtZXRhdGhlb3JlbVZlcmlmaWVkID0gdmVyaWZ5TWV0YXRoZW9yZW0obWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGF0aGVvcmVtVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5VmFyaWFibGVEZWNsYXJhdGlvbih2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5Q29tYmluYXRvckRlY2xhcmF0aW9uKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlRGVjbGFyYXRpb24obWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCB0b3BMZXZlbFZlcmlmaWVyID0gbmV3IFRvcExldmVsVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgdG9wTGV2ZWxWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJlcnJvck5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVOb2RlUXVlcnkiLCJheGlvbU5vZGVRdWVyeSIsImxlbW1hTm9kZVF1ZXJ5IiwidGhlb3JlbU5vZGVRdWVyeSIsIm1ldGFMZW1tYU5vZGVRdWVyeSIsImNvbmplY3R1cmVOb2RlUXVlcnkiLCJtZXRhdGhlb3JlbU5vZGVRdWVyeSIsInR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJUb3BMZXZlbFZlcmlmaWVyIiwidmVyaWZ5Iiwibm9kZSIsImZpbGVDb250ZXh0IiwidmVyaWZpZWQiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJWZXJpZmllciIsIm1hcHMiLCJlcnJvck5vZGUiLCJlcnJvclZlcmlmaWVkIiwidmVyaWZ5RXJyb3IiLCJydWxlTm9kZSIsInJ1bGVWZXJpZmllZCIsInZlcmlmeVJ1bGUiLCJheGlvbU5vZGUiLCJheGlvbVZlcmlmaWVkIiwidmVyaWZ5QXhpb20iLCJsZW1tYU5vZGUiLCJsZW1tYVZlcmlmaWVkIiwidmVyaWZ5TGVtbWEiLCJ0aGVvcmVtTm9kZSIsInRoZW9yZW1WZXJpZmllZCIsInZlcmlmeVRoZW9yZW0iLCJtZXRhTGVtbWFOb2RlIiwibWV0YUxlbW1hVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhTGVtbWEiLCJjb25qZWN0dXJlTm9kZSIsImNvbmplY3R1cmVWZXJpZmllZCIsInZlcmlmeUNvbmplY3R1cmUiLCJtZXRhdGhlb3JlbU5vZGUiLCJtZXRhdGhlb3JlbVZlcmlmaWVkIiwidmVyaWZ5TWV0YXRoZW9yZW0iLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlRGVjbGFyYXRpb24iLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlDb21iaW5hdG9yRGVjbGFyYXRpb24iLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJ0b3BMZXZlbFZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkErSkE7OztlQUFBOzs7K0RBN0pxQjs0REFDRzsyREFDRDs0REFDQzs0REFDQTs4REFDRTtnRUFDRTtpRUFDQztrRUFDQzsyREFDSTsrREFDSTtpRUFDRTtrRUFDQzttRUFDQztxQkFFaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyxXQUMzQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFDLFdBQzFCRSxpQkFBaUJGLElBQUFBLGdCQUFTLEVBQUMsWUFDM0JHLGlCQUFpQkgsSUFBQUEsZ0JBQVMsRUFBQyxZQUMzQkks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
|
package/lib/verify/axiom.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _axiom = /*#__PURE__*/ _interop_require_default(require("../axiom"));
|
|
12
12
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
13
13
|
var _labels = /*#__PURE__*/ _interop_require_default(require("../verify/labels"));
|
|
14
|
+
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
14
15
|
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
15
16
|
var _suppositions = /*#__PURE__*/ _interop_require_default(require("../verify/suppositions"));
|
|
16
17
|
var _array = require("../utilities/array");
|
|
@@ -31,7 +32,7 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
31
32
|
if (suppositionsVerified) {
|
|
32
33
|
var consequents = [], consequentNode = consequentNodeQuery(axiomNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, localContext);
|
|
33
34
|
if (consequentVerified) {
|
|
34
|
-
var firstConsequent = (0, _array.first)(consequents),
|
|
35
|
+
var firstConsequent = (0, _array.first)(consequents), substitutions = _substitutions.default.fromNothing(), consequent = firstConsequent, axiom = _axiom.default.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions, fileContext);
|
|
35
36
|
fileContext.addAxiom(axiom);
|
|
36
37
|
axiomVerified = true;
|
|
37
38
|
}
|
|
@@ -43,4 +44,4 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
43
44
|
return axiomVerified;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCBTdWJzdGl0dXRpb25zIGZyb20gXCIuLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvbnNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgc3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9heGlvbS9zdXBwb3NpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5QXhpb20oYXhpb21Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgYXhpb21WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBheGlvbS4uLmAsIGF4aW9tTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IFtdLFxuICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbnNOb2RlUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnRWZXJpZmllZCA9IHZlcmlmeUNvbnNlcXVlbnQoY29uc2VxdWVudE5vZGUsIGNvbnNlcXVlbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoY29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Q29uc2VxdWVudCA9IGZpcnN0KGNvbnNlcXVlbnRzKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICAgICAgY29uc2VxdWVudCA9IGZpcnN0Q29uc2VxdWVudCwgLy8vXG4gICAgICAgICAgICAgIGF4aW9tID0gQXhpb20uZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRBeGlvbShheGlvbSk7XG5cbiAgICAgICAgYXhpb21WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGF4aW9tVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2xhYmVsc1N0cmluZ30nIGF4aW9tLmAsIGF4aW9tTm9kZSk7XG4gIH1cblxuICByZXR1cm4gYXhpb21WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlBeGlvbSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlIiwiZmlsZUNvbnRleHQiLCJheGlvbVZlcmlmaWVkIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJ0cmFjZSIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0Iiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwiY29uc2VxdWVudHMiLCJjb25zZXF1ZW50Tm9kZSIsImNvbnNlcXVlbnRWZXJpZmllZCIsInZlcmlmeUNvbnNlcXVlbnQiLCJmaXJzdENvbnNlcXVlbnQiLCJmaXJzdCIsInN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJjb25zZXF1ZW50IiwiYXhpb20iLCJBeGlvbSIsImZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0IiwiYWRkQXhpb20iLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZ0JBOzs7ZUFBd0JBOzs7NERBZE47NERBQ087NkRBQ0E7b0VBQ0M7aUVBQ0c7bUVBQ0U7cUJBRVQ7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGlCQUM3QkMsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDLHVCQUNoQ0Msd0JBQXdCSCxJQUFBQSxpQkFBVSxFQUFDO0FBRTFCLFNBQVNGLFlBQVlNLFNBQVMsRUFBRUMsV0FBVztJQUN4RCxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsYUFBYVIsZ0JBQWdCSyxZQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUUvQ0YsWUFBWUssS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJGLGNBQWEsZUFBYUo7SUFFOUQsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDTixZQUFZSSxRQUFRTjtJQUV4RCxJQUFJTyxnQkFBZ0I7UUFDbEIsSUFBTUUsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNYLGNBQzVDWSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmYsc0JBQXNCQyxZQUN6Q2UsdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ0Ysa0JBQWtCRCxjQUFjSDtRQUVoRixJQUFJSyxzQkFBc0I7WUFDeEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJyQixvQkFBb0JHLFlBQ3JDbUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhUDtZQUV6RSxJQUFJUyxvQkFBb0I7Z0JBQ3RCLElBQU1FLGtCQUFrQkMsSUFBQUEsWUFBSyxFQUFDTCxjQUN4Qk0sZ0JBQWdCQyxzQkFBYSxDQUFDQyxXQUFXLElBQ3pDQyxhQUFhTCxpQkFDYk0sUUFBUUMsY0FBSyxDQUFDQywyREFBMkQsQ0FBQ3RCLFFBQVFNLGNBQWNhLFlBQVlILGVBQWV0QjtnQkFFaklBLFlBQVk2QixRQUFRLENBQUNIO2dCQUVyQnpCLGdCQUFnQjtZQUNsQjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxlQUFlO1FBQ2pCRCxZQUFZOEIsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWIzQixjQUFhLGFBQVdKO0lBQ2hFO0lBRUEsT0FBT0U7QUFDVCJ9
|
package/lib/verify/conjecture.js
CHANGED
|
@@ -12,6 +12,7 @@ var _conjecture = /*#__PURE__*/ _interop_require_default(require("../conjecture"
|
|
|
12
12
|
var _proof = /*#__PURE__*/ _interop_require_default(require("../verify/proof"));
|
|
13
13
|
var _labels = /*#__PURE__*/ _interop_require_default(require("../verify/labels"));
|
|
14
14
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
15
|
+
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
15
16
|
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
16
17
|
var _suppositions = /*#__PURE__*/ _interop_require_default(require("../verify/suppositions"));
|
|
17
18
|
var _array = require("../utilities/array");
|
|
@@ -34,9 +35,10 @@ function verifyConjecture(conjectureNode, fileContext) {
|
|
|
34
35
|
if (consequentVerified) {
|
|
35
36
|
var proofNode = proofNodeQuery(conjectureNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent; ///
|
|
36
37
|
if (proofNode !== null) {
|
|
37
|
-
|
|
38
|
+
var substitutions = _substitutions.default.fromNothing();
|
|
39
|
+
(0, _proof.default)(proofNode, consequent, substitutions, localContext);
|
|
38
40
|
}
|
|
39
|
-
var
|
|
41
|
+
var substitutions1 = _substitutions.default.fromNothing(), conjecture = _conjecture.default.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions1, fileContext);
|
|
40
42
|
fileContext.addConjecture(conjecture);
|
|
41
43
|
conjectureVerified = true;
|
|
42
44
|
}
|
|
@@ -48,4 +50,4 @@ function verifyConjecture(conjectureNode, fileContext) {
|
|
|
48
50
|
return conjectureVerified;
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uamVjdHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmplY3R1cmUgZnJvbSBcIi4uL2NvbmplY3R1cmVcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuaW1wb3J0IHZlcmlmeUNvbnNlcXVlbnQgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW50XCI7XG5pbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb25zIGZyb20gXCIuLi92ZXJpZnkvc3VwcG9zaXRpb25zXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlL3Byb29mIVwiKSxcbiAgICAgIGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvY29uamVjdHVyZS9sYWJlbCFcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmplY3R1cmUvY29uc2VxdWVudCFcIiksXG4gICAgICBzdXBwb3NpdGlvbnNOb2RlUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2NvbmplY3R1cmUvc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbmplY3R1cmUoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBjb25qZWN0dXJlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBjb25qZWN0dXJlLi4uYCwgY29uamVjdHVyZU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25zTm9kZVF1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkoY29uamVjdHVyZU5vZGUpLFxuICAgICAgICAgICAgY29uc2VxdWVudFZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50Tm9kZSwgY29uc2VxdWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChjb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkoY29uamVjdHVyZU5vZGUpLFxuICAgICAgICAgICAgICBmaXJzdENvbnNlcXVlbnQgPSBmaXJzdChjb25zZXF1ZW50cyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbnQgPSBmaXJzdENvbnNlcXVlbnQ7IC8vL1xuXG4gICAgICAgIGlmIChwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpO1xuXG4gICAgICAgICAgdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICAgICAgY29uamVjdHVyZSA9IENvbmplY3R1cmUuZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRDb25qZWN0dXJlKGNvbmplY3R1cmUpO1xuXG4gICAgICAgIGNvbmplY3R1cmVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmplY3R1cmVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgY29uamVjdHVyZS5gLCBjb25qZWN0dXJlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gY29uamVjdHVyZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbmplY3R1cmUiLCJwcm9vZk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW50Tm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGUiLCJmaWxlQ29udGV4dCIsImNvbmplY3R1cmVWZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbnRzIiwiY29uc2VxdWVudE5vZGUiLCJjb25zZXF1ZW50VmVyaWZpZWQiLCJ2ZXJpZnlDb25zZXF1ZW50IiwicHJvb2ZOb2RlIiwiZmlyc3RDb25zZXF1ZW50IiwiZmlyc3QiLCJjb25zZXF1ZW50Iiwic3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInZlcmlmeVByb29mIiwiY29uamVjdHVyZSIsIkNvbmplY3R1cmUiLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dCIsImFkZENvbmplY3R1cmUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBa0JBOzs7ZUFBd0JBOzs7aUVBaEJEOzREQUNDOzZEQUNDOzREQUNBO29FQUNDO2lFQUNHO21FQUNFO3FCQUVUO3FCQUNnQjs7Ozs7O0FBRXRDLElBQU1DLGlCQUFpQkMsSUFBQUEsZ0JBQVMsRUFBQyx1QkFDM0JDLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyx1QkFDN0JDLHNCQUFzQkgsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDaENJLHdCQUF3QkYsSUFBQUEsaUJBQVUsRUFBQztBQUUxQixTQUFTSixpQkFBaUJPLGNBQWMsRUFBRUMsV0FBVztJQUNsRSxJQUFJQyxxQkFBcUI7SUFFekIsSUFBTUMsYUFBYVAsZ0JBQWdCSSxpQkFDN0JJLGVBQWVILFlBQVlJLGFBQWEsQ0FBQ0Y7SUFFL0NGLFlBQVlLLEtBQUssQ0FBQyxBQUFDLGtCQUE4QixPQUFiRixjQUFhLG9CQUFrQko7SUFFbkUsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDTixZQUFZSSxRQUFRTjtJQUV4RCxJQUFJTyxnQkFBZ0I7UUFDbEIsSUFBTUUsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNYLGNBQzVDWSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmYsc0JBQXNCQyxpQkFDekNlLHVCQUF1QkMsSUFBQUEscUJBQWtCLEVBQUNGLGtCQUFrQkQsY0FBY0g7UUFFaEYsSUFBSUssc0JBQXNCO1lBQ3hCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCcEIsb0JBQW9CRSxpQkFDckNtQixxQkFBcUJDLElBQUFBLG1CQUFnQixFQUFDRixnQkFBZ0JELGFBQWFQO1lBRXpFLElBQUlTLG9CQUFvQjtnQkFDdEIsSUFBTUUsWUFBWTNCLGVBQWVNLGlCQUMzQnNCLGtCQUFrQkMsSUFBQUEsWUFBSyxFQUFDTixjQUN4Qk8sYUFBYUYsaUJBQWlCLEdBQUc7Z0JBRXZDLElBQUlELGNBQWMsTUFBTTtvQkFDdEIsSUFBTUksZ0JBQWdCQyxzQkFBYSxDQUFDQyxXQUFXO29CQUUvQ0MsSUFBQUEsY0FBVyxFQUFDUCxXQUFXRyxZQUFZQyxlQUFlZjtnQkFDcEQ7Z0JBRUEsSUFBTWUsaUJBQWdCQyxzQkFBYSxDQUFDQyxXQUFXLElBQ3pDRSxhQUFhQyxtQkFBVSxDQUFDQywyREFBMkQsQ0FBQ3hCLFFBQVFNLGNBQWNXLFlBQVlDLGdCQUFleEI7Z0JBRTNJQSxZQUFZK0IsYUFBYSxDQUFDSDtnQkFFMUIzQixxQkFBcUI7WUFDdkI7UUFDRjtJQUNGO0lBRUEsSUFBSUEsb0JBQW9CO1FBQ3RCRCxZQUFZZ0MsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWI3QixjQUFhLGtCQUFnQko7SUFDckU7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
@@ -8,24 +8,90 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyMetavariableDeclaration;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../../
|
|
11
|
+
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../../metavariable"));
|
|
12
|
+
var _metavariable1 = /*#__PURE__*/ _interop_require_default(require("../../assignment/metavariable"));
|
|
13
|
+
var _array = require("../../utilities/array");
|
|
12
14
|
var _query = require("../../utilities/query");
|
|
15
|
+
var _name = require("../../utilities/name");
|
|
13
16
|
function _interop_require_default(obj) {
|
|
14
17
|
return obj && obj.__esModule ? obj : {
|
|
15
18
|
default: obj
|
|
16
19
|
};
|
|
17
20
|
}
|
|
18
|
-
var metaTypeNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration/metaType"), metavariableNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration/metavariable");
|
|
21
|
+
var termNodeQuery = (0, _query.nodeQuery)("/argument/term"), typeNodeQuery = (0, _query.nodeQuery)("/argument/type"), argumentNodeQuery = (0, _query.nodeQuery)("/metavariable/argument!"), metaTypeNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration/metaType"), metavariableNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration/metavariable");
|
|
19
22
|
function verifyMetavariableDeclaration(metavariableDeclarationNode, fileContext) {
|
|
20
23
|
var metavariableDeclarationVerified;
|
|
21
24
|
var metaTypeNode = metaTypeNodeQuery(metavariableDeclarationNode), metavariableNode = metavariableNodeQuery(metavariableDeclarationNode), metaTypeString = fileContext.nodeAsString(metaTypeNode), metavariableString = fileContext.nodeAsString(metavariableNode);
|
|
22
25
|
fileContext.trace("Verifying the '".concat(metavariableString, ":").concat(metaTypeString, "' metavariable declaration..."), metavariableDeclarationNode);
|
|
23
|
-
var metavariableVVerified = (
|
|
26
|
+
var metavariableVVerified = verifyMetavariable(metavariableNode, metaTypeNode, fileContext);
|
|
24
27
|
metavariableDeclarationVerified = metavariableVVerified; ///
|
|
25
28
|
if (metavariableDeclarationVerified) {
|
|
26
29
|
fileContext.debug("...verified the '".concat(metavariableString, ":").concat(metaTypeString, "' metavariable declaration."), metavariableDeclarationNode);
|
|
27
30
|
}
|
|
28
31
|
return metavariableDeclarationVerified;
|
|
29
32
|
}
|
|
33
|
+
function verifyMetavariable(metavariableNode, metaTypeNode, fileContext) {
|
|
34
|
+
var metavariableVerified = false;
|
|
35
|
+
var metavariableString = fileContext.nodeAsString(metavariableNode);
|
|
36
|
+
fileContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
|
|
37
|
+
var metavariablePresent = fileContext.isMetavariablePresentByMetavariableNode(metavariableNode);
|
|
38
|
+
if (metavariablePresent) {
|
|
39
|
+
fileContext.debug("The metavariable '".concat(metavariableString, "' is already present."), metavariableNode);
|
|
40
|
+
} else {
|
|
41
|
+
var termTypes = [], metaTypes = [], argumentNode = argumentNodeQuery(metavariableNode), argumentVerified = verifyArgument(argumentNode, termTypes, fileContext), metaTypeVerified = verifyMetaType(metaTypeNode, metaTypes, fileContext);
|
|
42
|
+
if (argumentVerified && metaTypeVerified) {
|
|
43
|
+
var termType, metaType;
|
|
44
|
+
var firstMetaType = (0, _array.first)(metaTypes);
|
|
45
|
+
metaType = firstMetaType; ///
|
|
46
|
+
var termTypesLength = termTypes.length;
|
|
47
|
+
if (termTypesLength === 0) {
|
|
48
|
+
termType = null;
|
|
49
|
+
} else {
|
|
50
|
+
var firstTermType = (0, _array.first)(termTypes);
|
|
51
|
+
termType = firstTermType; ///
|
|
52
|
+
}
|
|
53
|
+
var node = metavariableNode, name = (0, _name.nameFromMetavariableNode)(metavariableNode), metavariable = _metavariable.default.fromNodeNameTermTypeAndMetaType(node, name, termType, metaType), metavariableAssignment = _metavariable1.default.fromMetavariable(metavariable), metavariableAssigned = metavariableAssignment.assign(fileContext);
|
|
54
|
+
if (metavariableAssigned) {
|
|
55
|
+
metavariableVerified = true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (metavariableVerified) {
|
|
60
|
+
fileContext.debug("...verified the '".concat(metavariableString, "' metavariable."), metavariableNode);
|
|
61
|
+
}
|
|
62
|
+
return metavariableVerified;
|
|
63
|
+
}
|
|
64
|
+
function verifyArgument(argumentNode, termTypes, fileContext) {
|
|
65
|
+
var argumentVerified = false;
|
|
66
|
+
if (argumentNode === null) {
|
|
67
|
+
argumentVerified = true;
|
|
68
|
+
} else {
|
|
69
|
+
var termNode = termNodeQuery(argumentNode);
|
|
70
|
+
if (termNode === null) {} else {
|
|
71
|
+
var termString = fileContext.nodeAsString(termNode);
|
|
72
|
+
fileContext.debug("The '".concat(termString, "' term was found when a type should have been present."), termNode);
|
|
73
|
+
}
|
|
74
|
+
var typeNode = typeNodeQuery(argumentNode);
|
|
75
|
+
if (typeNode !== null) {
|
|
76
|
+
var type = fileContext.findTypeByTypeNode(typeNode);
|
|
77
|
+
if (type !== null) {
|
|
78
|
+
var termType = type; ///
|
|
79
|
+
termTypes.push(termType);
|
|
80
|
+
argumentVerified = true;
|
|
81
|
+
} else {
|
|
82
|
+
var typeString = fileContext.nodeAsString(typeNode);
|
|
83
|
+
fileContext.debug("The '".concat(typeString, "' type is not present."), typeNode);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return argumentVerified;
|
|
88
|
+
}
|
|
89
|
+
function verifyMetaType(metaTypeNode, metaTypes, fileContext) {
|
|
90
|
+
var metaTypeVerified;
|
|
91
|
+
var metaType = fileContext.findMetaTypeByMetaTypeNode(metaTypeNode);
|
|
92
|
+
metaTypes.push(metaType);
|
|
93
|
+
metaTypeVerified = true;
|
|
94
|
+
return metaTypeVerified;
|
|
95
|
+
}
|
|
30
96
|
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YXZhcmlhYmxlIGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YVR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24vbWV0YVR5cGVcIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbihtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFUeXBlTm9kZSA9IG1ldGFUeXBlTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YVR5cGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ306JHttZXRhVHlwZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBkZWNsYXJhdGlvbi4uLmAsIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlVlZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVWVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfToke21ldGFUeXBlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGRlY2xhcmF0aW9uLmAsIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiIsIm1ldGFUeXBlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiZmlsZUNvbnRleHQiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwibWV0YVR5cGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFUeXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVWVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7OzttRUFQTztxQkFFTDs7Ozs7O0FBRTFCLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQyxzQ0FDOUJDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixTQUFTRiw4QkFBOEJJLDJCQUEyQixFQUFFQyxXQUFXO0lBQzVGLElBQUlDO0lBRUosSUFBTUMsZUFBZU4sa0JBQWtCRyw4QkFDakNJLG1CQUFtQkwsc0JBQXNCQyw4QkFDekNLLGlCQUFpQkosWUFBWUssWUFBWSxDQUFDSCxlQUMxQ0kscUJBQXFCTixZQUFZSyxZQUFZLENBQUNGO0lBRXBESCxZQUFZTyxLQUFLLENBQUMsQUFBQyxrQkFBdUNILE9BQXRCRSxvQkFBbUIsS0FBa0IsT0FBZkYsZ0JBQWUsa0NBQWdDTDtJQUV6RyxJQUFNUyx3QkFBd0JDLElBQUFBLHFCQUFrQixFQUFDTixrQkFBa0JELGNBQWNGO0lBRWpGQyxrQ0FBa0NPLHVCQUF3QixHQUFHO0lBRTdELElBQUlQLGlDQUFpQztRQUNuQ0QsWUFBWVUsS0FBSyxDQUFDLEFBQUMsb0JBQXlDTixPQUF0QkUsb0JBQW1CLEtBQWtCLE9BQWZGLGdCQUFlLGdDQUE4Qkw7SUFDM0c7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YXZhcmlhYmxlIGZyb20gXCIuLi8uLi9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVBc3NpZ25tZW50IGZyb20gXCIuLi8uLi9hc3NpZ25tZW50L21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3R5cGVcIiksXG4gICAgICBhcmd1bWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQhXCIpLFxuICAgICAgbWV0YVR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24vbWV0YVR5cGVcIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbihtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFUeXBlTm9kZSA9IG1ldGFUeXBlTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YVR5cGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ306JHttZXRhVHlwZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBkZWNsYXJhdGlvbi4uLmAsIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlVlZlcmlmaWVkID0gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVWVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfToke21ldGFUeXBlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGRlY2xhcmF0aW9uLmAsIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS4uLmAsIG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIG1ldGF2YXJpYWJsZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBpcyBhbHJlYWR5IHByZXNlbnQuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGVybVR5cGVzID0gW10sXG4gICAgICBtZXRhVHlwZXMgPSBbXSxcbiAgICAgIGFyZ3VtZW50Tm9kZSA9IGFyZ3VtZW50Tm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgYXJndW1lbnRWZXJpZmllZCA9IHZlcmlmeUFyZ3VtZW50KGFyZ3VtZW50Tm9kZSwgdGVybVR5cGVzLCBmaWxlQ29udGV4dCksXG4gICAgICBtZXRhVHlwZVZlcmlmaWVkID0gdmVyaWZ5TWV0YVR5cGUobWV0YVR5cGVOb2RlLCBtZXRhVHlwZXMsIGZpbGVDb250ZXh0KTtcblxuICAgIGlmIChhcmd1bWVudFZlcmlmaWVkICYmIG1ldGFUeXBlVmVyaWZpZWQpIHtcbiAgICAgIGxldCB0ZXJtVHlwZSxcbiAgICAgICAgbWV0YVR5cGU7XG5cbiAgICAgIGNvbnN0IGZpcnN0TWV0YVR5cGUgPSBmaXJzdChtZXRhVHlwZXMpO1xuXG4gICAgICBtZXRhVHlwZSA9IGZpcnN0TWV0YVR5cGU7IC8vL1xuXG4gICAgICBjb25zdCB0ZXJtVHlwZXNMZW5ndGggPSB0ZXJtVHlwZXMubGVuZ3RoO1xuXG4gICAgICBpZiAodGVybVR5cGVzTGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRlcm1UeXBlID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZpcnN0VGVybVR5cGUgPSBmaXJzdCh0ZXJtVHlwZXMpO1xuXG4gICAgICAgIHRlcm1UeXBlID0gZmlyc3RUZXJtVHlwZTsgLy8vXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vZGUgPSBtZXRhdmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgIG5hbWUgPSBuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tTm9kZU5hbWVUZXJtVHlwZUFuZE1ldGFUeXBlKG5vZGUsIG5hbWUsIHRlcm1UeXBlLCBtZXRhVHlwZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQgPSBNZXRhdmFyaWFibGVBc3NpZ25tZW50LmZyb21NZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlQXNzaWduZWQgPSBtZXRhdmFyaWFibGVBc3NpZ25tZW50LmFzc2lnbihmaWxlQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVBc3NpZ25lZCkge1xuICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUFyZ3VtZW50KGFyZ3VtZW50Tm9kZSwgdGVybVR5cGVzLCBmaWxlQ29udGV4dCkge1xuICBsZXQgYXJndW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChhcmd1bWVudE5vZGUgPT09IG51bGwpIHtcbiAgICBhcmd1bWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICAgIGlmICh0ZXJtTm9kZSA9PT0gbnVsbCkge1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdhcyBmb3VuZCB3aGVuIGEgdHlwZSBzaG91bGQgaGF2ZSBiZWVuIHByZXNlbnQuYCwgdGVybU5vZGUpO1xuICAgIH1cbiAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICAgIGlmICh0eXBlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IGZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHRlcm1UeXBlID0gdHlwZTsgIC8vL1xuXG4gICAgICAgIHRlcm1UeXBlcy5wdXNoKHRlcm1UeXBlKTtcblxuICAgICAgICBhcmd1bWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IHByZXNlbnQuYCwgdHlwZU5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmd1bWVudFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhVHlwZShtZXRhVHlwZU5vZGUsIG1ldGFUeXBlcywgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGFUeXBlVmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YVR5cGUgPSBmaWxlQ29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTm9kZShtZXRhVHlwZU5vZGUpO1xuXG4gIG1ldGFUeXBlcy5wdXNoKG1ldGFUeXBlKTtcblxuICBtZXRhVHlwZVZlcmlmaWVkID0gdHJ1ZTtcblxuICByZXR1cm4gbWV0YVR5cGVWZXJpZmllZDtcbn0iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsImFyZ3VtZW50Tm9kZVF1ZXJ5IiwibWV0YVR5cGVOb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJmaWxlQ29udGV4dCIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJtZXRhVHlwZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJtZXRhdmFyaWFibGVTdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZVZWZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZSIsImRlYnVnIiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVQcmVzZW50IiwiaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlIiwidGVybVR5cGVzIiwibWV0YVR5cGVzIiwiYXJndW1lbnROb2RlIiwiYXJndW1lbnRWZXJpZmllZCIsInZlcmlmeUFyZ3VtZW50IiwibWV0YVR5cGVWZXJpZmllZCIsInZlcmlmeU1ldGFUeXBlIiwidGVybVR5cGUiLCJtZXRhVHlwZSIsImZpcnN0TWV0YVR5cGUiLCJmaXJzdCIsInRlcm1UeXBlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0VGVybVR5cGUiLCJub2RlIiwibmFtZSIsIm5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZSIsIk1ldGF2YXJpYWJsZSIsImZyb21Ob2RlTmFtZVRlcm1UeXBlQW5kTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVBc3NpZ25tZW50IiwiTWV0YXZhcmlhYmxlQXNzaWdubWVudCIsImZyb21NZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVBc3NpZ25lZCIsImFzc2lnbiIsInRlcm1Ob2RlIiwidGVybVN0cmluZyIsInR5cGVOb2RlIiwidHlwZSIsImZpbmRUeXBlQnlUeXBlTm9kZSIsInB1c2giLCJ0eXBlU3RyaW5nIiwiZmluZE1ldGFUeXBlQnlNZXRhVHlwZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWVBOzs7ZUFBd0JBOzs7bUVBYkM7b0VBQ1U7cUJBRWI7cUJBQ0k7b0JBQ2U7Ozs7OztBQUV6QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsbUJBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMsbUJBQzFCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUMsNEJBQzlCRyxvQkFBb0JILElBQUFBLGdCQUFTLEVBQUMsc0NBQzlCSSx3QkFBd0JKLElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YsOEJBQThCTywyQkFBMkIsRUFBRUMsV0FBVztJQUM1RixJQUFJQztJQUVKLElBQU1DLGVBQWVMLGtCQUFrQkUsOEJBQ2pDSSxtQkFBbUJMLHNCQUFzQkMsOEJBQ3pDSyxpQkFBaUJKLFlBQVlLLFlBQVksQ0FBQ0gsZUFDMUNJLHFCQUFxQk4sWUFBWUssWUFBWSxDQUFDRjtJQUVwREgsWUFBWU8sS0FBSyxDQUFDLEFBQUMsa0JBQXVDSCxPQUF0QkUsb0JBQW1CLEtBQWtCLE9BQWZGLGdCQUFlLGtDQUFnQ0w7SUFFekcsSUFBTVMsd0JBQXdCQyxtQkFB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
|
|
@@ -8,9 +8,10 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyTypeDeclaration;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _type = /*#__PURE__*/ _interop_require_default(require("../../
|
|
11
|
+
var _type = /*#__PURE__*/ _interop_require_default(require("../../type"));
|
|
12
12
|
var _query = require("../../utilities/query");
|
|
13
13
|
var _constants = require("../../constants");
|
|
14
|
+
var _name = require("../../utilities/name");
|
|
14
15
|
function _interop_require_default(obj) {
|
|
15
16
|
return obj && obj.__esModule ? obj : {
|
|
16
17
|
default: obj
|
|
@@ -21,12 +22,44 @@ function verifyTypeDeclaration(typeDeclarationNode, fileContext) {
|
|
|
21
22
|
var typeDeclarationVerified;
|
|
22
23
|
var firstTypeNode = firstTypeNodeQuery(typeDeclarationNode), secondTypeNode = secondTypeNodeQuery(typeDeclarationNode), typeNode = firstTypeNode, superTypeNode = secondTypeNode, typeString = fileContext.nodeAsString(typeNode), superTypeString = fileContext.nodeAsString(superTypeNode);
|
|
23
24
|
superTypeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(typeString, "' type declaration..."), typeDeclarationNode) : fileContext.trace("Verifying the '".concat(typeString, ":").concat(superTypeString, "' type declaration..."), typeDeclarationNode);
|
|
24
|
-
var typeVerified = (
|
|
25
|
+
var typeVerified = verifyType(typeNode, superTypeNode, fileContext);
|
|
25
26
|
typeDeclarationVerified = typeVerified; ///
|
|
26
27
|
if (typeDeclarationVerified) {
|
|
27
28
|
superTypeString === _constants.EMPTY_STRING ? fileContext.trace("...verified the '".concat(typeString, "' type declaration."), typeDeclarationNode) : fileContext.trace("...verified the '".concat(typeString, ":").concat(superTypeString, "' type declaration."), typeDeclarationNode);
|
|
28
29
|
}
|
|
29
30
|
return typeDeclarationVerified;
|
|
30
31
|
}
|
|
32
|
+
function verifyType(typeNode, superTypeNode, fileContext) {
|
|
33
|
+
var typeVerified = false;
|
|
34
|
+
var typeString = fileContext.nodeAsString(typeNode);
|
|
35
|
+
fileContext.trace("Verifying the '".concat(typeString, "' type..."), typeNode);
|
|
36
|
+
var typePresent = fileContext.isTypePresentByTypeNode(typeNode);
|
|
37
|
+
if (typePresent) {
|
|
38
|
+
var typeString1 = fileContext.nodeAsString(typeNode);
|
|
39
|
+
fileContext.debug("The type '".concat(typeString1, "' is already present."), typeNode);
|
|
40
|
+
} else {
|
|
41
|
+
var type;
|
|
42
|
+
var typeName = (0, _name.typeNameFromTypeNode)(typeNode);
|
|
43
|
+
if (superTypeNode === null) {
|
|
44
|
+
type = _type.default.fromTypeName(typeName);
|
|
45
|
+
} else {
|
|
46
|
+
var superType = fileContext.findTypeByTypeNode(superTypeNode);
|
|
47
|
+
if (superType === null) {
|
|
48
|
+
var superTypeString = fileContext.nodeAsString(superTypeNode);
|
|
49
|
+
fileContext.debug("The super-type '".concat(superTypeString, "' is not present."), typeNode);
|
|
50
|
+
} else {
|
|
51
|
+
type = _type.default.fromTypeNameAndSuperType(typeName, superType);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (type !== null) {
|
|
55
|
+
fileContext.addType(type);
|
|
56
|
+
typeVerified = true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (typeVerified) {
|
|
60
|
+
fileContext.debug("...verified the '".concat(typeString, "' type."), typeNode);
|
|
61
|
+
}
|
|
62
|
+
return typeVerified;
|
|
63
|
+
}
|
|
31
64
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uLy4uL3R5cGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgZmlyc3RUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvbi90eXBlWzBdXCIpLFxuICAgICAgc2Vjb25kVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCBmaXJzdFR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBzZWNvbmRUeXBlTm9kZSA9IHNlY29uZFR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZSwgLy8vXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSBzZWNvbmRUeXBlTm9kZSwgLy8vXG4gICAgICAgIHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpLFxuICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwZXJUeXBlTm9kZSk7XG5cbiAgKHN1cGVyVHlwZVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBlVmVyaWZpZWQgPSB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlVmVyaWZpZWQ7IC8vL1xuXG4gIGlmICh0eXBlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIChzdXBlclR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVTdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmAsIHR5cGVEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuLi5gLCB0eXBlTm9kZSk7XG5cbiAgY29uc3QgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7dHlwZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN1cGVyVHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGZpbGVDb250ZXh0LmFkZFR5cGUodHlwZSk7XG5cbiAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlRGVjbGFyYXRpb24iLCJmaXJzdFR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzZWNvbmRUeXBlTm9kZVF1ZXJ5IiwidHlwZURlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJmaXJzdFR5cGVOb2RlIiwic2Vjb25kVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInN1cGVyVHlwZU5vZGUiLCJ0eXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3VwZXJUeXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsImRlYnVnIiwidHlwZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJUeXBlIiwiZnJvbVR5cGVOYW1lIiwic3VwZXJUeXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiYWRkVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsyREFUUDtxQkFFUzt5QkFDRztvQkFDUTs7Ozs7O0FBRXJDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyw2QkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTRixzQkFBc0JJLG1CQUFtQixFQUFFQyxXQUFXO0lBQzVFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCTixtQkFBbUJHLHNCQUNuQ0ksaUJBQWlCTCxvQkFBb0JDLHNCQUNyQ0ssV0FBV0YsZUFDWEcsZ0JBQWdCRixnQkFDaEJHLGFBQWFOLFlBQVlPLFlBQVksQ0FBQ0gsV0FDdENJLGtCQUFrQlIsWUFBWU8sWUFBWSxDQUFDRjtJQUVoREcsb0JBQW9CQyx1QkFBWSxHQUMvQlQsWUFBWVUsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsMEJBQXdCUCx1QkFDckVDLFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUErQkYsT0FBZEYsWUFBVyxLQUFtQixPQUFoQkUsaUJBQWdCLDBCQUF3QlQ7SUFFOUYsSUFBTVksZUFBZUMsV0FBV1IsVUFBVUMsZUFBZUw7SUFFekRDLDBCQUEwQlUsY0FBYyxHQUFHO0lBRTNDLElBQUlWLHlCQUF5QjtRQUMxQk8sb0JBQW9CQyx1QkFBWSxHQUMvQlQsWUFBWVUsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhKLFlBQVcsd0JBQXNCUCx1QkFDckVDLFlBQVlVLEtBQUssQ0FBQyxBQUFDLG9CQUFpQ0YsT0FBZEYsWUFBVyxLQUFtQixPQUFoQkUsaUJBQWdCLHdCQUFzQlQ7SUFDaEc7SUFFQSxPQUFPRTtBQUNUO0FBRUEsU0FBU1csV0FBV1IsUUFBUSxFQUFFQyxhQUFhLEVBQUVMLFdBQVc7SUFDdEQsSUFBSVcsZUFBZTtJQUVuQixJQUFNTCxhQUFhTixZQUFZTyxZQUFZLENBQUNIO0lBRTVDSixZQUFZVSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEosWUFBVyxjQUFZRjtJQUUzRCxJQUFNUyxjQUFjYixZQUFZYyx1QkFBdUIsQ0FBQ1Y7SUFFeEQsSUFBSVMsYUFBYTtRQUNmLElBQU1QLGNBQWFOLFlBQVlPLFlBQVksQ0FBQ0g7UUFFNUNKLFlBQVllLEtBQUssQ0FBQyxBQUFDLGFBQXVCLE9BQVhULGFBQVcsMEJBQXdCRjtJQUNwRSxPQUFPO1FBQ0wsSUFBSVk7UUFFSixJQUFNQyxXQUFXQyxJQUFBQSwwQkFBb0IsRUFBQ2Q7UUFFdEMsSUFBSUMsa0JBQWtCLE1BQU07WUFDMUJXLE9BQU9HLGFBQUksQ0FBQ0MsWUFBWSxDQUFDSDtRQUMzQixPQUFPO1lBQ0wsSUFBTUksWUFBWXJCLFlBQVlzQixrQkFBa0IsQ0FBQ2pCO1lBRWpELElBQUlnQixjQUFjLE1BQU07Z0JBQ3RCLElBQU1iLGtCQUFrQlIsWUFBWU8sWUFBWSxDQUFDRjtnQkFFakRMLFlBQVllLEtBQUssQ0FBQyxBQUFDLG1CQUFrQyxPQUFoQlAsaUJBQWdCLHNCQUFvQko7WUFDM0UsT0FBTztnQkFDTFksT0FBT0csYUFBSSxDQUFDSSx3QkFBd0IsQ0FBQ04sVUFBVUk7WUFDakQ7UUFDRjtRQUVBLElBQUlMLFNBQVMsTUFBTTtZQUNqQmhCLFlBQVl3QixPQUFPLENBQUNSO1lBRXBCTCxlQUFlO1FBQ2pCO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCWCxZQUFZZSxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFQsWUFBVyxZQUFVRjtJQUM3RDtJQUVBLE9BQU9PO0FBQ1QifQ==
|