occam-verify-cli 0.0.453 → 0.0.455
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/bin/utilities/fileSystem.js +15 -2
- package/lib/assertion.js +8 -1
- package/lib/context/file.js +42 -6
- package/lib/context/proof.js +25 -4
- package/lib/context/release/directory.js +16 -5
- package/lib/context/release/file.js +25 -11
- package/lib/kinds.js +5 -1
- package/lib/theorem.js +146 -0
- package/lib/variable.js +8 -1
- package/lib/verify/declaration/topLevel.js +7 -3
- package/lib/verify/derivation.js +112 -0
- package/lib/verify/equality.js +3 -16
- package/lib/verify/metaDerivation.js +47 -39
- package/lib/verify/proof.js +83 -0
- package/lib/verify/statement/unqualified.js +65 -4
- package/lib/verify/statement.js +2 -2
- package/lib/verify/term.js +12 -12
- package/lib/verify/termAsConstructor.js +2 -2
- package/lib/verify/theorem.js +57 -0
- package/package.json +3 -3
- package/src/assertion.js +8 -1
- package/src/context/file.js +45 -5
- package/src/context/proof.js +8 -4
- package/src/context/release/directory.js +17 -4
- package/src/context/release/file.js +29 -12
- package/src/kinds.js +1 -0
- package/src/theorem.js +130 -0
- package/src/variable.js +6 -0
- package/src/verify/assertion/type.js +25 -12
- package/src/verify/declaration/topLevel.js +7 -0
- package/src/verify/derivation.js +156 -0
- package/src/verify/equality.js +3 -22
- package/src/verify/metaDerivation.js +57 -45
- package/src/verify/proof.js +123 -0
- package/src/verify/statement/unqualified.js +69 -2
- package/src/verify/statement.js +2 -1
- package/src/verify/term.js +16 -17
- package/src/verify/termAsConstructor.js +1 -2
- package/src/verify/theorem.js +77 -0
- package/lib/verify/assertion/type.js +0 -104
|
@@ -13,6 +13,7 @@ var _occamGrammarUtilities = require("occam-grammar-utilities");
|
|
|
13
13
|
var _rule = /*#__PURE__*/ _interopRequireDefault(require("../../rule"));
|
|
14
14
|
var _type = /*#__PURE__*/ _interopRequireDefault(require("../../type"));
|
|
15
15
|
var _axiom = /*#__PURE__*/ _interopRequireDefault(require("../../axiom"));
|
|
16
|
+
var _theorem = /*#__PURE__*/ _interopRequireDefault(require("../../theorem"));
|
|
16
17
|
var _combinator = /*#__PURE__*/ _interopRequireDefault(require("../../combinator"));
|
|
17
18
|
var _constructor = /*#__PURE__*/ _interopRequireDefault(require("../../constructor"));
|
|
18
19
|
var _array = require("../../utilities/array");
|
|
@@ -134,7 +135,7 @@ function _createSuper(Derived) {
|
|
|
134
135
|
var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
135
136
|
_inherits(FileReleaseContext, ReleaseContext);
|
|
136
137
|
var _super = _createSuper(FileReleaseContext);
|
|
137
|
-
function FileReleaseContext(log, name, entries, callbacks, verified, customGrammar, florenceLexer, florenceParser, dependencyReleaseContexts, contextJSON, types, rules, axioms, lemmas, combinators, constructors) {
|
|
138
|
+
function FileReleaseContext(log, name, entries, callbacks, verified, customGrammar, florenceLexer, florenceParser, dependencyReleaseContexts, contextJSON, types, rules, axioms, lemmas, theorems, combinators, constructors) {
|
|
138
139
|
_classCallCheck(this, FileReleaseContext);
|
|
139
140
|
var _this;
|
|
140
141
|
_this = _super.call(this, log, name, entries, callbacks, verified, customGrammar, florenceLexer, florenceParser, dependencyReleaseContexts);
|
|
@@ -142,6 +143,7 @@ var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
|
142
143
|
_this.rules = rules;
|
|
143
144
|
_this.axioms = axioms;
|
|
144
145
|
_this.lemmas = lemmas;
|
|
146
|
+
_this.theorems = theorems;
|
|
145
147
|
_this.combinators = combinators;
|
|
146
148
|
_this.constructors = constructors;
|
|
147
149
|
_this.contextJSON = contextJSON;
|
|
@@ -167,6 +169,10 @@ var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
|
167
169
|
var axiomLabels = axiom.getLabels();
|
|
168
170
|
(0, _array.push)(labels, axiomLabels);
|
|
169
171
|
});
|
|
172
|
+
this.theorems.forEach(function(theorem) {
|
|
173
|
+
var theoremLabels = theorem.getLabels();
|
|
174
|
+
(0, _array.push)(labels, theoremLabels);
|
|
175
|
+
});
|
|
170
176
|
if (includeDependencies) {
|
|
171
177
|
var dependencyReleaseContexts = this.getDependencyReleaseContexts();
|
|
172
178
|
dependencyReleaseContexts.forEach(function(releaseContext) {
|
|
@@ -228,17 +234,25 @@ var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
|
228
234
|
{
|
|
229
235
|
key: "getLemmas",
|
|
230
236
|
value: function getLemmas() {
|
|
237
|
+
var theorems = [];
|
|
238
|
+
(0, _array.push)(theorems, this.theorems);
|
|
239
|
+
return theorems;
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
key: "getTheorems",
|
|
244
|
+
value: function getTheorems() {
|
|
231
245
|
var includeDependencies = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
|
|
232
|
-
var
|
|
233
|
-
(0, _array.push)(
|
|
246
|
+
var theorems = [];
|
|
247
|
+
(0, _array.push)(theorems, this.theorems);
|
|
234
248
|
if (includeDependencies) {
|
|
235
249
|
var dependencyReleaseContexts = this.getDependencyReleaseContexts();
|
|
236
250
|
dependencyReleaseContexts.forEach(function(releaseContext) {
|
|
237
|
-
var includeDependencies = false,
|
|
238
|
-
(0, _array.push)(
|
|
251
|
+
var includeDependencies = false, releaseContextTheorems = releaseContext.getTheorems(includeDependencies);
|
|
252
|
+
(0, _array.push)(theorems, releaseContextTheorems);
|
|
239
253
|
});
|
|
240
254
|
}
|
|
241
|
-
return
|
|
255
|
+
return theorems;
|
|
242
256
|
}
|
|
243
257
|
},
|
|
244
258
|
{
|
|
@@ -310,10 +324,10 @@ var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
|
310
324
|
_this.axioms.push(axiom);
|
|
311
325
|
break;
|
|
312
326
|
}
|
|
313
|
-
case _kinds.
|
|
327
|
+
case _kinds.THEOREM_KIND:
|
|
314
328
|
{
|
|
315
|
-
var
|
|
316
|
-
_this.
|
|
329
|
+
var theorem = _theorem.default.fromJSON(json, releaseContext);
|
|
330
|
+
_this.theorems.push(theorem);
|
|
317
331
|
break;
|
|
318
332
|
}
|
|
319
333
|
case _kinds.COMBINATOR_KIND:
|
|
@@ -336,7 +350,7 @@ var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
|
336
350
|
{
|
|
337
351
|
key: "fromLogNameEntriesCallbacksAndContextJSON",
|
|
338
352
|
value: function fromLogNameEntriesCallbacksAndContextJSON(log, name, entries, callbacks, contextJSON) {
|
|
339
|
-
var verified = true, customGrammar = (0, _customGrammar.customGrammarFromNameAndEntries)(name, entries), florenceLexer = null, florenceParser = null, dependencyReleaseContexts = null, types = [], rules = [], axioms = [], lemmas = [], combinators = [], constructors = [], releaseContext = new FileReleaseContext(log, name, entries, callbacks, verified, customGrammar, florenceLexer, florenceParser, dependencyReleaseContexts, contextJSON, types, rules, axioms, lemmas, combinators, constructors);
|
|
353
|
+
var verified = true, customGrammar = (0, _customGrammar.customGrammarFromNameAndEntries)(name, entries), florenceLexer = null, florenceParser = null, dependencyReleaseContexts = null, types = [], rules = [], axioms = [], lemmas = [], theorems = [], combinators = [], constructors = [], releaseContext = new FileReleaseContext(log, name, entries, callbacks, verified, customGrammar, florenceLexer, florenceParser, dependencyReleaseContexts, contextJSON, types, rules, axioms, lemmas, theorems, combinators, constructors);
|
|
340
354
|
return releaseContext;
|
|
341
355
|
}
|
|
342
356
|
}
|
|
@@ -344,4 +358,4 @@ var FileReleaseContext = /*#__PURE__*/ function(ReleaseContext) {
|
|
|
344
358
|
return FileReleaseContext;
|
|
345
359
|
}(_release.default);
|
|
346
360
|
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UvZmlsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJlbGVhc2VDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuaW1wb3J0IHsgcmV3cml0ZU5vZGVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgVHlwZSBmcm9tIFwiLi4vLi4vdHlwZVwiO1xuaW1wb3J0IEF4aW9tIGZyb20gXCIuLi8uLi9heGlvbVwiO1xuaW1wb3J0IENvbWJpbmF0b3IgZnJvbSBcIi4uLy4uL2NvbWJpbmF0b3JcIjtcbmltcG9ydCBDb25zdHJ1Y3RvciBmcm9tIFwiLi4vLi4vY29uc3RydWN0b3JcIjtcblxuaW1wb3J0IHsgcHVzaCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IGN1c3RvbUdyYW1tYXJGcm9tTmFtZUFuZEVudHJpZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2N1c3RvbUdyYW1tYXJcIjtcbmltcG9ydCB7IFJVTEVfS0lORCwgVFlQRV9LSU5ELCBBWElPTV9LSU5ELCBMRU1NQV9LSU5ELCBDT01CSU5BVE9SX0tJTkQsIENPTlNUUlVDVE9SX0tJTkQgfSBmcm9tIFwiLi4vLi4va2luZHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZVJlbGVhc2VDb250ZXh0IGV4dGVuZHMgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihsb2csIG5hbWUsIGVudHJpZXMsIGNhbGxiYWNrcywgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGZsb3JlbmNlTGV4ZXIsIGZsb3JlbmNlUGFyc2VyLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLCBjb250ZXh0SlNPTiwgdHlwZXMsIHJ1bGVzLCBheGlvbXMsIGxlbW1hcywgY29tYmluYXRvcnMsIGNvbnN0cnVjdG9ycykge1xuICAgIHN1cGVyKGxvZywgbmFtZSwgZW50cmllcywgY2FsbGJhY2tzLCB2ZXJpZmllZCwgY3VzdG9tR3JhbW1hciwgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMpO1xuXG4gICAgdGhpcy50eXBlcyA9IHR5cGVzO1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLmF4aW9tcyA9IGF4aW9tcztcbiAgICB0aGlzLmxlbW1hcyA9IGxlbW1hcztcbiAgICB0aGlzLmNvbWJpbmF0b3JzID0gY29tYmluYXRvcnM7XG4gICAgdGhpcy5jb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnM7XG4gICAgdGhpcy5jb250ZXh0SlNPTiA9IGNvbnRleHRKU09OO1xuICB9XG5cbiAgZ2V0Q29udGV4dEpTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dEpTT047XG4gIH1cblxuICBnZXRMYWJlbHMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHRoaXMucnVsZXMuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgICAgY29uc3QgcnVsZUxhYmVscyA9IHJ1bGUuZ2V0TGFiZWxzKCk7XG5cbiAgICAgIHB1c2gobGFiZWxzLCBydWxlTGFiZWxzKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYXhpb21zLmZvckVhY2goKGF4aW9tKSA9PiB7XG4gICAgICBjb25zdCBheGlvbUxhYmVscyA9IGF4aW9tLmdldExhYmVscygpO1xuXG4gICAgICBwdXNoKGxhYmVscywgYXhpb21MYWJlbHMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0QXhpb21zID0gcmVsZWFzZUNvbnRleHQuZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gobGFiZWxzLCByZWxlYXNlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGFiZWxzO1xuICB9XG5cbiAgZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcHVzaCh0eXBlcywgdGhpcy50eXBlcyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRUeXBlcyA9IHJlbGVhc2VDb250ZXh0LmdldFR5cGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2godHlwZXMsIHJlbGVhc2VDb250ZXh0VHlwZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdO1xuXG4gICAgcHVzaChydWxlcywgdGhpcy5ydWxlcyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRSdWxlcyA9IHJlbGVhc2VDb250ZXh0LmdldFJ1bGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gocnVsZXMsIHJlbGVhc2VDb250ZXh0UnVsZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICBwdXNoKGF4aW9tcywgdGhpcy5heGlvbXMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0QXhpb21zID0gcmVsZWFzZUNvbnRleHQuZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goYXhpb21zLCByZWxlYXNlQ29udGV4dEF4aW9tcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgbGVtbWFzID0gW107XG5cbiAgICBwdXNoKGxlbW1hcywgdGhpcy5sZW1tYXMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0TGVtbWFzID0gcmVsZWFzZUNvbnRleHQuZ2V0TGVtbWFzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gobGVtbWFzLCByZWxlYXNlQ29udGV4dExlbW1hcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGVtbWFzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcHVzaChjb21iaW5hdG9ycywgdGhpcy5jb21iaW5hdG9ycyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyA9IHJlbGVhc2VDb250ZXh0LmdldENvbWJpbmF0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29tYmluYXRvcnMsIHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JzID0gW107XG5cbiAgICBwdXNoKGNvbnN0cnVjdG9ycywgdGhpcy5jb25zdHJ1Y3RvcnMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgbm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUpIHtcbiAgICBjb25zdCBydWxlTWFwID0gdGhpcy5mbG9yZW5jZVBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgICAgcnVsZSA9IHJ1bGVNYXBbcnVsZU5hbWVdLFxuICAgICAgICAgIHRva2VucyA9IHRoaXMuZmxvcmVuY2VMZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gdGhpcy5mbG9yZW5jZVBhcnNlci5wYXJzZSh0b2tlbnMsIHJ1bGUpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIHJld3JpdGVOb2Rlcyhub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cykge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICBjb25zdCBqc29uQXJyYXkgPSB0aGlzLmNvbnRleHRKU09OLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gdGhpczsgIC8vL1xuXG4gICAganNvbkFycmF5LmZvckVhY2goKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHsga2luZCB9ID0ganNvbjtcblxuICAgICAgc3dpdGNoIChraW5kKSB7XG4gICAgICAgIGNhc2UgVFlQRV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IFR5cGUuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy50eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIFJVTEVfS0lORDoge1xuICAgICAgICAgIGNvbnN0IHJ1bGUgPSBSdWxlLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgICAgIHRoaXMucnVsZXMucHVzaChydWxlKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBBWElPTV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgYXhpb20gPSBBeGlvbS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLmF4aW9tcy5wdXNoKGF4aW9tKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBMRU1NQV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgbGVtbWEgPSBMZW1tYS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLmxlbW1hcy5wdXNoKGxlbW1hKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBDT01CSU5BVE9SX0tJTkQ6IHtcbiAgICAgICAgICBjb25zdCBjb21iaW5hdG9yID0gQ29tYmluYXRvci5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLmNvbWJpbmF0b3JzLnB1c2goY29tYmluYXRvcik7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ09OU1RSVUNUT1JfS0lORDoge1xuICAgICAgICAgIGNvbnN0IGNvbnN0cnVjdG9yID0gQ29uc3RydWN0b3IuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy5jb25zdHJ1Y3RvcnMucHVzaChjb25zdHJ1Y3Rvcik7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGZyb21Mb2dOYW1lRW50cmllc0NhbGxiYWNrc0FuZENvbnRleHRKU09OKGxvZywgbmFtZSwgZW50cmllcywgY2FsbGJhY2tzLCBjb250ZXh0SlNPTikge1xuICAgIGNvbnN0IHZlcmlmaWVkID0gdHJ1ZSxcbiAgICAgICAgICBjdXN0b21HcmFtbWFyID0gY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKSxcbiAgICAgICAgICBmbG9yZW5jZUxleGVyID0gbnVsbCxcbiAgICAgICAgICBmbG9yZW5jZVBhcnNlciA9IG51bGwsXG4gICAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IG51bGwsXG4gICAgICAgICAgdHlwZXMgPSBbXSxcbiAgICAgICAgICBydWxlcyA9IFtdLFxuICAgICAgICAgIGF4aW9tcyA9IFtdLFxuICAgICAgICAgIGxlbW1hcyA9IFtdLFxuICAgICAgICAgIGNvbWJpbmF0b3JzID0gW10sXG4gICAgICAgICAgY29uc3RydWN0b3JzID0gW10sXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBuZXcgRmlsZVJlbGVhc2VDb250ZXh0KGxvZywgbmFtZSwgZW50cmllcywgY2FsbGJhY2tzLCB2ZXJpZmllZCwgY3VzdG9tR3JhbW1hciwgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMsIGNvbnRleHRKU09OLCB0eXBlcywgcnVsZXMsIGF4aW9tcywgbGVtbWFzLCBjb21iaW5hdG9ycywgY29uc3RydWN0b3JzKTtcblxuICAgIHJldHVybiByZWxlYXNlQ29udGV4dDtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJGaWxlUmVsZWFzZUNvbnRleHQiLCJsb2ciLCJuYW1lIiwiZW50cmllcyIsImNhbGxiYWNrcyIsInZlcmlmaWVkIiwiY3VzdG9tR3JhbW1hciIsImZsb3JlbmNlTGV4ZXIiLCJmbG9yZW5jZVBhcnNlciIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJjb250ZXh0SlNPTiIsInR5cGVzIiwicnVsZXMiLCJheGlvbXMiLCJsZW1tYXMiLCJjb21iaW5hdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnRleHRKU09OIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZURlcGVuZGVuY2llcyIsImxhYmVscyIsImZvckVhY2giLCJydWxlIiwicnVsZUxhYmVscyIsInB1c2giLCJheGlvbSIsImF4aW9tTGFiZWxzIiwiZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0IiwicmVsZWFzZUNvbnRleHRBeGlvbXMiLCJnZXRBeGlvbXMiLCJnZXRUeXBlcyIsInJlbGVhc2VDb250ZXh0VHlwZXMiLCJnZXRSdWxlcyIsInJlbGVhc2VDb250ZXh0UnVsZXMiLCJnZXRMZW1tYXMiLCJyZWxlYXNlQ29udGV4dExlbW1hcyIsImdldENvbWJpbmF0b3JzIiwicmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzIiwibm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUiLCJjb250ZW50IiwicnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInRva2VucyIsInRva2VuaXNlIiwibm9kZSIsInBhcnNlIiwicmV3cml0ZU5vZGVzIiwiaW5pdGlhbGlzZSIsImpzb25BcnJheSIsImpzb24iLCJraW5kIiwiVFlQRV9LSU5EIiwidHlwZSIsIlR5cGUiLCJmcm9tSlNPTiIsIlJVTEVfS0lORCIsIlJ1bGUiLCJBWElPTV9LSU5EIiwiQXhpb20iLCJMRU1NQV9LSU5EIiwibGVtbWEiLCJMZW1tYSIsIkNPTUJJTkFUT1JfS0lORCIsImNvbWJpbmF0b3IiLCJDb21iaW5hdG9yIiwiQ09OU1RSVUNUT1JfS0lORCIsImNvbnN0cnVjdG9yIiwiQ29uc3RydWN0b3IiLCJmcm9tTG9nTmFtZUVudHJpZXNDYWxsYmFja3NBbmRDb250ZXh0SlNPTiIsImN1c3RvbUdyYW1tYXJGcm9tTmFtZUFuZEVudHJpZXMiLCJSZWxlYXNlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFnQnFCQTs7OzREQWRNO3FDQUVFO3lEQUVaO3lEQUNBOzBEQUNDOytEQUNLO2dFQUNDO3FCQUVIOzZCQUMyQjtxQkFDZ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqRixJQUFBLEFBQU1BLG1DQUFOO2NBQU1BOzhCQUFBQTthQUFBQSxtQkFDUEMsR0FBRyxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLGFB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
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UvZmlsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJlbGVhc2VDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuaW1wb3J0IHsgcmV3cml0ZU5vZGVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBSdWxlIGZyb20gXCIuLi8uLi9ydWxlXCI7XG5pbXBvcnQgVHlwZSBmcm9tIFwiLi4vLi4vdHlwZVwiO1xuaW1wb3J0IEF4aW9tIGZyb20gXCIuLi8uLi9heGlvbVwiO1xuaW1wb3J0IFRoZW9yZW0gZnJvbSBcIi4uLy4uL3RoZW9yZW1cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi8uLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uLy4uL2NvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IHB1c2ggfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBSVUxFX0tJTkQsIFRZUEVfS0lORCwgQVhJT01fS0lORCwgVEhFT1JFTV9LSU5ELCBDT01CSU5BVE9SX0tJTkQsIENPTlNUUlVDVE9SX0tJTkQgfSBmcm9tIFwiLi4vLi4va2luZHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZVJlbGVhc2VDb250ZXh0IGV4dGVuZHMgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihsb2csIG5hbWUsIGVudHJpZXMsIGNhbGxiYWNrcywgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGZsb3JlbmNlTGV4ZXIsIGZsb3JlbmNlUGFyc2VyLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLCBjb250ZXh0SlNPTiwgdHlwZXMsIHJ1bGVzLCBheGlvbXMsIGxlbW1hcywgdGhlb3JlbXMsIGNvbWJpbmF0b3JzLCBjb25zdHJ1Y3RvcnMpIHtcbiAgICBzdXBlcihsb2csIG5hbWUsIGVudHJpZXMsIGNhbGxiYWNrcywgdmVyaWZpZWQsIGN1c3RvbUdyYW1tYXIsIGZsb3JlbmNlTGV4ZXIsIGZsb3JlbmNlUGFyc2VyLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIHRoaXMudHlwZXMgPSB0eXBlcztcbiAgICB0aGlzLnJ1bGVzID0gcnVsZXM7XG4gICAgdGhpcy5heGlvbXMgPSBheGlvbXM7XG4gICAgdGhpcy5sZW1tYXMgPSBsZW1tYXM7XG4gICAgdGhpcy50aGVvcmVtcyA9IHRoZW9yZW1zO1xuICAgIHRoaXMuY29tYmluYXRvcnMgPSBjb21iaW5hdG9ycztcbiAgICB0aGlzLmNvbnN0cnVjdG9ycyA9IGNvbnN0cnVjdG9ycztcbiAgICB0aGlzLmNvbnRleHRKU09OID0gY29udGV4dEpTT047XG4gIH1cblxuICBnZXRDb250ZXh0SlNPTigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0SlNPTjtcbiAgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgdGhpcy5ydWxlcy5mb3JFYWNoKChydWxlKSA9PiB7XG4gICAgICBjb25zdCBydWxlTGFiZWxzID0gcnVsZS5nZXRMYWJlbHMoKTtcblxuICAgICAgcHVzaChsYWJlbHMsIHJ1bGVMYWJlbHMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5heGlvbXMuZm9yRWFjaCgoYXhpb20pID0+IHtcbiAgICAgIGNvbnN0IGF4aW9tTGFiZWxzID0gYXhpb20uZ2V0TGFiZWxzKCk7XG5cbiAgICAgIHB1c2gobGFiZWxzLCBheGlvbUxhYmVscyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRoZW9yZW1zLmZvckVhY2goKHRoZW9yZW0pID0+IHtcbiAgICAgIGNvbnN0IHRoZW9yZW1MYWJlbHMgPSB0aGVvcmVtLmdldExhYmVscygpO1xuXG4gICAgICBwdXNoKGxhYmVscywgdGhlb3JlbUxhYmVscyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRBeGlvbXMgPSByZWxlYXNlQ29udGV4dC5nZXRBeGlvbXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChsYWJlbHMsIHJlbGVhc2VDb250ZXh0QXhpb21zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICBwdXNoKHR5cGVzLCB0aGlzLnR5cGVzKTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dFR5cGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaCh0eXBlcywgcmVsZWFzZUNvbnRleHRUeXBlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHJ1bGVzID0gW107XG5cbiAgICBwdXNoKHJ1bGVzLCB0aGlzLnJ1bGVzKTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dFJ1bGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0UnVsZXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChydWxlcywgcmVsZWFzZUNvbnRleHRSdWxlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBheGlvbXMgPSBbXTtcblxuICAgIHB1c2goYXhpb21zLCB0aGlzLmF4aW9tcyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRBeGlvbXMgPSByZWxlYXNlQ29udGV4dC5nZXRBeGlvbXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChheGlvbXMsIHJlbGVhc2VDb250ZXh0QXhpb21zKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBheGlvbXM7XG4gIH1cblxuICBnZXRMZW1tYXMoKSB7XG4gICAgY29uc3QgdGhlb3JlbXMgPSBbXTtcblxuICAgIHB1c2godGhlb3JlbXMsIHRoaXMudGhlb3JlbXMpO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0VGhlb3JlbXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcHVzaCh0aGVvcmVtcywgdGhpcy50aGVvcmVtcyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRUaGVvcmVtcyA9IHJlbGVhc2VDb250ZXh0LmdldFRoZW9yZW1zKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2godGhlb3JlbXMsIHJlbGVhc2VDb250ZXh0VGhlb3JlbXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcHVzaChjb21iaW5hdG9ycywgdGhpcy5jb21iaW5hdG9ycyk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyA9IHJlbGVhc2VDb250ZXh0LmdldENvbWJpbmF0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29tYmluYXRvcnMsIHJlbGVhc2VDb250ZXh0Q29tYmluYXRvcnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JzID0gW107XG5cbiAgICBwdXNoKGNvbnN0cnVjdG9ycywgdGhpcy5jb25zdHJ1Y3RvcnMpO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgbm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUpIHtcbiAgICBjb25zdCBydWxlTWFwID0gdGhpcy5mbG9yZW5jZVBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgICAgcnVsZSA9IHJ1bGVNYXBbcnVsZU5hbWVdLFxuICAgICAgICAgIHRva2VucyA9IHRoaXMuZmxvcmVuY2VMZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gdGhpcy5mbG9yZW5jZVBhcnNlci5wYXJzZSh0b2tlbnMsIHJ1bGUpO1xuXG4gICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIHJld3JpdGVOb2Rlcyhub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cykge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICBjb25zdCBqc29uQXJyYXkgPSB0aGlzLmNvbnRleHRKU09OLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gdGhpczsgIC8vL1xuXG4gICAganNvbkFycmF5LmZvckVhY2goKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHsga2luZCB9ID0ganNvbjtcblxuICAgICAgc3dpdGNoIChraW5kKSB7XG4gICAgICAgIGNhc2UgVFlQRV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IFR5cGUuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy50eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIFJVTEVfS0lORDoge1xuICAgICAgICAgIGNvbnN0IHJ1bGUgPSBSdWxlLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgICAgIHRoaXMucnVsZXMucHVzaChydWxlKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBBWElPTV9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgYXhpb20gPSBBeGlvbS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLmF4aW9tcy5wdXNoKGF4aW9tKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBUSEVPUkVNX0tJTkQ6IHtcbiAgICAgICAgICBjb25zdCB0aGVvcmVtID0gVGhlb3JlbS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgICB0aGlzLnRoZW9yZW1zLnB1c2godGhlb3JlbSk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ09NQklOQVRPUl9LSU5EOiB7XG4gICAgICAgICAgY29uc3QgY29tYmluYXRvciA9IENvbWJpbmF0b3IuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICAgICAgdGhpcy5jb21iaW5hdG9ycy5wdXNoKGNvbWJpbmF0b3IpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIENPTlNUUlVDVE9SX0tJTkQ6IHtcbiAgICAgICAgICBjb25zdCBjb25zdHJ1Y3RvciA9IENvbnN0cnVjdG9yLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgICAgIHRoaXMuY29uc3RydWN0b3JzLnB1c2goY29uc3RydWN0b3IpO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTG9nTmFtZUVudHJpZXNDYWxsYmFja3NBbmRDb250ZXh0SlNPTihsb2csIG5hbWUsIGVudHJpZXMsIGNhbGxiYWNrcywgY29udGV4dEpTT04pIHtcbiAgICBjb25zdCB2ZXJpZmllZCA9IHRydWUsXG4gICAgICAgICAgY3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXJGcm9tTmFtZUFuZEVudHJpZXMobmFtZSwgZW50cmllcyksXG4gICAgICAgICAgZmxvcmVuY2VMZXhlciA9IG51bGwsXG4gICAgICAgICAgZmxvcmVuY2VQYXJzZXIgPSBudWxsLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBudWxsLFxuICAgICAgICAgIHR5cGVzID0gW10sXG4gICAgICAgICAgcnVsZXMgPSBbXSxcbiAgICAgICAgICBheGlvbXMgPSBbXSxcbiAgICAgICAgICBsZW1tYXMgPSBbXSxcbiAgICAgICAgICB0aGVvcmVtcyA9IFtdLFxuICAgICAgICAgIGNvbWJpbmF0b3JzID0gW10sXG4gICAgICAgICAgY29uc3RydWN0b3JzID0gW10sXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBuZXcgRmlsZVJlbGVhc2VDb250ZXh0KGxvZywgbmFtZSwgZW50cmllcywgY2FsbGJhY2tzLCB2ZXJpZmllZCwgY3VzdG9tR3JhbW1hciwgZmxvcmVuY2VMZXhlciwgZmxvcmVuY2VQYXJzZXIsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMsIGNvbnRleHRKU09OLCB0eXBlcywgcnVsZXMsIGF4aW9tcywgbGVtbWFzLCB0aGVvcmVtcywgY29tYmluYXRvcnMsIGNvbnN0cnVjdG9ycyk7XG5cbiAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiRmlsZVJlbGVhc2VDb250ZXh0IiwibG9nIiwibmFtZSIsImVudHJpZXMiLCJjYWxsYmFja3MiLCJ2ZXJpZmllZCIsImN1c3RvbUdyYW1tYXIiLCJmbG9yZW5jZUxleGVyIiwiZmxvcmVuY2VQYXJzZXIiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiY29udGV4dEpTT04iLCJ0eXBlcyIsInJ1bGVzIiwiYXhpb21zIiwibGVtbWFzIiwidGhlb3JlbXMiLCJjb21iaW5hdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnRleHRKU09OIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZURlcGVuZGVuY2llcyIsImxhYmVscyIsImZvckVhY2giLCJydWxlIiwicnVsZUxhYmVscyIsInB1c2giLCJheGlvbSIsImF4aW9tTGFiZWxzIiwidGhlb3JlbSIsInRoZW9yZW1MYWJlbHMiLCJnZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlQ29udGV4dEF4aW9tcyIsImdldEF4aW9tcyIsImdldFR5cGVzIiwicmVsZWFzZUNvbnRleHRUeXBlcyIsImdldFJ1bGVzIiwicmVsZWFzZUNvbnRleHRSdWxlcyIsImdldExlbW1hcyIsImdldFRoZW9yZW1zIiwicmVsZWFzZUNvbnRleHRUaGVvcmVtcyIsImdldENvbWJpbmF0b3JzIiwicmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzIiwibm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUiLCJjb250ZW50IiwicnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInRva2VucyIsInRva2VuaXNlIiwibm9kZSIsInBhcnNlIiwicmV3cml0ZU5vZGVzIiwiaW5pdGlhbGlzZSIsImpzb25BcnJheSIsImpzb24iLCJraW5kIiwiVFlQRV9LSU5EIiwidHlwZSIsIlR5cGUiLCJmcm9tSlNPTiIsIlJVTEVfS0lORCIsIlJ1bGUiLCJBWElPTV9LSU5EIiwiQXhpb20iLCJUSEVPUkVNX0tJTkQiLCJUaGVvcmVtIiwiQ09NQklOQVRPUl9LSU5EIiwiY29tYmluYXRvciIsIkNvbWJpbmF0b3IiLCJDT05TVFJVQ1RPUl9LSU5EIiwiY29uc3RydWN0b3IiLCJDb25zdHJ1Y3RvciIsImZyb21Mb2dOYW1lRW50cmllc0NhbGxiYWNrc0FuZENvbnRleHRKU09OIiwiY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcyIsIlJlbGVhc2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWlCcUJBOzs7NERBZk07cUNBRUU7eURBRVo7eURBQ0E7MERBQ0M7NERBQ0U7K0RBQ0c7Z0VBQ0M7cUJBRUg7NkJBQzJCO3FCQUNrRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5GLElBQUEsQUFBTUEsbUNBQU47Y0FBTUE7OEJBQUFBO2FBQUFBLG1CQUNQQyxHQUFHLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsRUFBRUMseUJBQXlCLEVBQUVDLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsWUFBWTs4QkFEekxqQjs7a0NBRVhDLEtBQUtDLE1BQU1DLFNBQVNDLFdBQVdDLFVBQVVDLGVBQWVDLGVBQWVDLGdCQUFnQkM7UUFFN0YsTUFBS0UsS0FBSyxHQUFHQTtRQUNiLE1BQUtDLEtBQUssR0FBR0E7UUFDYixNQUFLQyxNQUFNLEdBQUdBO1FBQ2QsTUFBS0MsTUFBTSxHQUFHQTtRQUNkLE1BQUtDLFFBQVEsR0FBR0E7UUFDaEIsTUFBS0MsV0FBVyxHQUFHQTtRQUNuQixNQUFLQyxZQUFZLEdBQUdBO1FBQ3BCLE1BQUtQLFdBQVcsR0FBR0E7OztpQkFYRlY7O1lBY25Ca0IsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQjtnQkFDZixPQUFPLElBQUksQ0FBQ1IsV0FBVztZ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
|
package/lib/kinds.js
CHANGED
|
@@ -21,6 +21,9 @@ _export(exports, {
|
|
|
21
21
|
LEMMA_KIND: function() {
|
|
22
22
|
return LEMMA_KIND;
|
|
23
23
|
},
|
|
24
|
+
THEOREM_KIND: function() {
|
|
25
|
+
return THEOREM_KIND;
|
|
26
|
+
},
|
|
24
27
|
COMBINATOR_KIND: function() {
|
|
25
28
|
return COMBINATOR_KIND;
|
|
26
29
|
},
|
|
@@ -32,7 +35,8 @@ var TYPE_KIND = "type";
|
|
|
32
35
|
var RULE_KIND = "rule";
|
|
33
36
|
var AXIOM_KIND = "axiom";
|
|
34
37
|
var LEMMA_KIND = "lemma";
|
|
38
|
+
var THEOREM_KIND = "theorem";
|
|
35
39
|
var COMBINATOR_KIND = "combinator";
|
|
36
40
|
var CONSTRUCTOR_KIND = "constructor";
|
|
37
41
|
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9raW5kcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IFRZUEVfS0lORCA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IFJVTEVfS0lORCA9IFwicnVsZVwiO1xuZXhwb3J0IGNvbnN0IEFYSU9NX0tJTkQgPSBcImF4aW9tXCI7XG5leHBvcnQgY29uc3QgTEVNTUFfS0lORCA9IFwibGVtbWFcIjtcbmV4cG9ydCBjb25zdCBUSEVPUkVNX0tJTkQgPSBcInRoZW9yZW1cIjtcbmV4cG9ydCBjb25zdCBDT01CSU5BVE9SX0tJTkQgPSBcImNvbWJpbmF0b3JcIjtcbmV4cG9ydCBjb25zdCBDT05TVFJVQ1RPUl9LSU5EID0gXCJjb25zdHJ1Y3RvclwiO1xuIl0sIm5hbWVzIjpbIlRZUEVfS0lORCIsIlJVTEVfS0lORCIsIkFYSU9NX0tJTkQiLCJMRU1NQV9LSU5EIiwiVEhFT1JFTV9LSU5EIiwiQ09NQklOQVRPUl9LSU5EIiwiQ09OU1RSVUNUT1JfS0lORCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRWFBLFNBQVM7ZUFBVEE7O0lBQ0FDLFNBQVM7ZUFBVEE7O0lBQ0FDLFVBQVU7ZUFBVkE7O0lBQ0FDLFVBQVU7ZUFBVkE7O0lBQ0FDLFlBQVk7ZUFBWkE7O0lBQ0FDLGVBQWU7ZUFBZkE7O0lBQ0FDLGdCQUFnQjtlQUFoQkE7OztBQU5OLElBQU1OLFlBQVk7QUFDbEIsSUFBTUMsWUFBWTtBQUNsQixJQUFNQyxhQUFhO0FBQ25CLElBQU1DLGFBQWE7QUFDbkIsSUFBTUMsZUFBZTtBQUNyQixJQUFNQyxrQkFBa0I7QUFDeEIsSUFBTUMsbUJBQW1CIn0=
|
package/lib/theorem.js
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
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 Theorem;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _label = /*#__PURE__*/ _interopRequireDefault(require("./label"));
|
|
12
|
+
var _kinds = require("./kinds");
|
|
13
|
+
var _string = require("./utilities/string");
|
|
14
|
+
var _node = require("./utilities/node");
|
|
15
|
+
function _classCallCheck(instance, Constructor) {
|
|
16
|
+
if (!(instance instanceof Constructor)) {
|
|
17
|
+
throw new TypeError("Cannot call a class as a function");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function _defineProperties(target, props) {
|
|
21
|
+
for(var i = 0; i < props.length; i++){
|
|
22
|
+
var descriptor = props[i];
|
|
23
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
+
descriptor.configurable = true;
|
|
25
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
30
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
+
return Constructor;
|
|
33
|
+
}
|
|
34
|
+
function _interopRequireDefault(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
var Theorem = /*#__PURE__*/ function() {
|
|
40
|
+
function Theorem(labels, statementNode, suppositionStatementNodes, consequentStatementNode) {
|
|
41
|
+
_classCallCheck(this, Theorem);
|
|
42
|
+
this.labels = labels;
|
|
43
|
+
this.statementNode = statementNode;
|
|
44
|
+
this.suppositionStatementNodes = suppositionStatementNodes;
|
|
45
|
+
this.consequentStatementNode = consequentStatementNode;
|
|
46
|
+
}
|
|
47
|
+
_createClass(Theorem, [
|
|
48
|
+
{
|
|
49
|
+
key: "getLabels",
|
|
50
|
+
value: function getLabels() {
|
|
51
|
+
return this.labels;
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
key: "getStatementNode",
|
|
56
|
+
value: function getStatementNode() {
|
|
57
|
+
return this.statementNode;
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: "getSuppositionStatementNodes",
|
|
62
|
+
value: function getSuppositionStatementNodes() {
|
|
63
|
+
return this.suppositionStatementNodes;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
key: "getConsequentStatementNode",
|
|
68
|
+
value: function getConsequentStatementNode() {
|
|
69
|
+
return this.consequentStatementNode;
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
key: "matchLabelName",
|
|
74
|
+
value: function matchLabelName(labelName) {
|
|
75
|
+
var matchesLabelName = this.labels.some(function(label) {
|
|
76
|
+
var name = labelName, labelMatchesName = label.matchName(name);
|
|
77
|
+
if (labelMatchesName) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
return matchesLabelName;
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
key: "toJSON",
|
|
86
|
+
value: function toJSON() {
|
|
87
|
+
var labelsJSON = this.labels.map(function(label) {
|
|
88
|
+
var labelJSON = label.toJSON();
|
|
89
|
+
return labelJSON;
|
|
90
|
+
}), statementString = (0, _string.nodeAsString)(this.statementNode), consequentStatementString = (0, _string.nodeAsString)(this.consequentStatementNode), suppositionStatementStrings = this.suppositionStatementNodes.map(function(suppositionStatementNode) {
|
|
91
|
+
var suppositionStatementString = (0, _string.nodeAsString)(suppositionStatementNode);
|
|
92
|
+
return suppositionStatementString;
|
|
93
|
+
}), kind = _kinds.THEOREM_KIND, labels = labelsJSON, statement = statementString, consequent = consequentStatementString, suppositions = suppositionStatementStrings, json = {
|
|
94
|
+
kind: kind,
|
|
95
|
+
labels: labels,
|
|
96
|
+
statement: statement,
|
|
97
|
+
consequent: consequent,
|
|
98
|
+
suppositions: suppositions
|
|
99
|
+
};
|
|
100
|
+
return json;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
], [
|
|
104
|
+
{
|
|
105
|
+
key: "fromJSON",
|
|
106
|
+
value: function fromJSON(json, releaseContext) {
|
|
107
|
+
var labels = json.labels;
|
|
108
|
+
var labelsJSON = labels; ///
|
|
109
|
+
labels = labelsJSON.map(function(labelJSON) {
|
|
110
|
+
var _$json = labelJSON, label = _label.default.fromJSON(_$json, releaseContext);
|
|
111
|
+
return label;
|
|
112
|
+
});
|
|
113
|
+
var statement = json.statement, suppositions = json.suppositions, consequent = json.consequent;
|
|
114
|
+
var theorem;
|
|
115
|
+
if (statement !== null) {
|
|
116
|
+
var statementJSON = statement, statementNode = (0, _node.statementNodeFromStatementJSON)(statementJSON, releaseContext), suppositionStatementNodes = null, consequentStatementNode = null;
|
|
117
|
+
theorem = new Theorem(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
|
|
118
|
+
} else {
|
|
119
|
+
var statementNode1 = null, suppositionStatementsJSON = suppositions, suppositionStatementNodes1 = suppositionStatementsJSON.map(function(suppositionStatementJSON) {
|
|
120
|
+
var suppositionStatementNode = (0, _node.statementNodeFromStatementJSON)(suppositionStatementJSON, releaseContext);
|
|
121
|
+
return suppositionStatementNode;
|
|
122
|
+
}), consequentStatementJSON = consequent, consequentStatementNode1 = (0, _node.statementNodeFromStatementJSON)(consequentStatementJSON, releaseContext);
|
|
123
|
+
theorem = new Theorem(labels, statementNode1, suppositionStatementNodes1, consequentStatementNode1);
|
|
124
|
+
}
|
|
125
|
+
return theorem;
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
key: "fromLabelsAndStatementNode",
|
|
130
|
+
value: function fromLabelsAndStatementNode(labels, statementNode) {
|
|
131
|
+
var suppositionStatementNodes = [], consequentStatementNode = null, theorem = new Theorem(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
|
|
132
|
+
return theorem;
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
key: "fromLabelsSuppositionStatementNodesAndConsequentStatementNode",
|
|
137
|
+
value: function fromLabelsSuppositionStatementNodesAndConsequentStatementNode(labels, suppositionStatementNodes, consequentStatementNode) {
|
|
138
|
+
var statementNode = null, theorem = new Theorem(labels, statementNode, suppositionStatementNodes, consequentStatementNode);
|
|
139
|
+
return theorem;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
]);
|
|
143
|
+
return Theorem;
|
|
144
|
+
}();
|
|
145
|
+
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90aGVvcmVtLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcblxuaW1wb3J0IHsgVEhFT1JFTV9LSU5EIH0gZnJvbSBcIi4va2luZHNcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGhlb3JlbSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyA9IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXM7XG4gICAgdGhpcy5jb25zZXF1ZW50U3RhdGVtZW50Tm9kZSA9IGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcztcbiAgfVxuXG4gIGdldENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5hbWUobGFiZWxOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc0xhYmVsTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbGFiZWxOYW1lLCAvLy9cbiAgICAgICAgICAgIGxhYmVsTWF0Y2hlc05hbWUgPSBsYWJlbC5tYXRjaE5hbWUobmFtZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNMYWJlbE5hbWU7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTigpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5jb25zZXF1ZW50U3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmdzID0gdGhpcy5zdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLm1hcCgoc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb25TdGF0ZW1lbnRTdHJpbmc7XG4gICAgICAgICAgfSksXG4gICAgICAgICAga2luZCA9IFRIRU9SRU1fS0lORCxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAgY29uc2VxdWVudCA9IGNvbnNlcXVlbnRTdGF0ZW1lbnRTdHJpbmcsIC8vL1xuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uU3RhdGVtZW50U3RyaW5ncywgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBzdGF0ZW1lbnQsXG4gICAgICAgICAgICBjb25zZXF1ZW50LFxuICAgICAgICAgICAgc3VwcG9zaXRpb25zXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgbGV0IHsgbGFiZWxzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsczsgIC8vL1xuXG4gICAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IGxhYmVsSlNPTiwgLy8vXG4gICAgICAgICAgICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0pO1xuXG4gICAgY29uc3QgeyBzdGF0ZW1lbnQsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCB9ID0ganNvbjtcblxuICAgIGxldCB0aGVvcmVtO1xuXG4gICAgaWYgKHN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50SlNPTihzdGF0ZW1lbnRKU09OLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzID0gbnVsbCxcbiAgICAgICAgICAgIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlID0gbnVsbDtcblxuICAgICAgdGhlb3JlbSA9IG5ldyBUaGVvcmVtKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50c0pTT04gPSBzdXBwb3NpdGlvbnMsICAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMgPSBzdXBwb3NpdGlvblN0YXRlbWVudHNKU09OLm1hcCgoc3VwcG9zaXRpb25TdGF0ZW1lbnRKU09OKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50SlNPTihzdXBwb3NpdGlvblN0YXRlbWVudEpTT04sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgICAgICAgICByZXR1cm4gc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjb25zZXF1ZW50U3RhdGVtZW50SlNPTiA9IGNvbnNlcXVlbnQsIC8vL1xuICAgICAgICAgICAgY29uc2VxdWVudFN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudEpTT04oY29uc2VxdWVudFN0YXRlbWVudEpTT04sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgdGhlb3JlbSA9IG5ldyBUaGVvcmVtKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGVvcmVtO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNBbmRTdGF0ZW1lbnROb2RlKGxhYmVscywgc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMgPSBbXSxcbiAgICAgICAgICBjb25zZXF1ZW50U3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgdGhlb3JlbSA9IG5ldyBUaGVvcmVtKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHRoZW9yZW07XG4gIH1cblxuICBzdGF0aWMgZnJvbUxhYmVsc1N1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNBbmRDb25zZXF1ZW50U3RhdGVtZW50Tm9kZShsYWJlbHMsIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMsIGNvbnNlcXVlbnRTdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgdGhlb3JlbSA9IG5ldyBUaGVvcmVtKGxhYmVscywgc3RhdGVtZW50Tm9kZSwgc3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcywgY29uc2VxdWVudFN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHRoZW9yZW07XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiVGhlb3JlbSIsImxhYmVscyIsInN0YXRlbWVudE5vZGUiLCJzdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzIiwiY29uc2VxdWVudFN0YXRlbWVudE5vZGUiLCJnZXRMYWJlbHMiLCJnZXRTdGF0ZW1lbnROb2RlIiwiZ2V0U3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyIsImdldENvbnNlcXVlbnRTdGF0ZW1lbnROb2RlIiwibWF0Y2hMYWJlbE5hbWUiLCJsYWJlbE5hbWUiLCJtYXRjaGVzTGFiZWxOYW1lIiwic29tZSIsImxhYmVsIiwibmFtZSIsImxhYmVsTWF0Y2hlc05hbWUiLCJtYXRjaE5hbWUiLCJ0b0pTT04iLCJsYWJlbHNKU09OIiwibWFwIiwibGFiZWxKU09OIiwic3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiY29uc2VxdWVudFN0YXRlbWVudFN0cmluZyIsInN1cHBvc2l0aW9uU3RhdGVtZW50U3RyaW5ncyIsInN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uU3RhdGVtZW50U3RyaW5nIiwia2luZCIsIlRIRU9SRU1fS0lORCIsInN0YXRlbWVudCIsImNvbnNlcXVlbnQiLCJzdXBwb3NpdGlvbnMiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIkxhYmVsIiwidGhlb3JlbSIsInN0YXRlbWVudEpTT04iLCJzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudEpTT04iLCJzdXBwb3NpdGlvblN0YXRlbWVudHNKU09OIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRKU09OIiwiY29uc2VxdWVudFN0YXRlbWVudEpTT04iLCJmcm9tTGFiZWxzQW5kU3RhdGVtZW50Tm9kZSIsImZyb21MYWJlbHNTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzQW5kQ29uc2VxdWVudFN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7OzBEQVBIO3FCQUVXO3NCQUNBO29CQUVrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxJQUFBLEFBQU1BLHdCQUFOO2FBQU1BLFFBQ1BDLE1BQU0sRUFBRUMsYUFBYSxFQUFFQyx5QkFBeUIsRUFBRUMsdUJBQXVCOzhCQURsRUo7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0MseUJBQXlCLEdBQUdBO1FBQ2pDLElBQUksQ0FBQ0MsdUJBQXVCLEdBQUdBOztpQkFMZEo7O1lBUW5CSyxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixPQUFP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
|
package/lib/variable.js
CHANGED
|
@@ -53,6 +53,13 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
53
53
|
return this.value;
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
+
{
|
|
57
|
+
key: "isDefined",
|
|
58
|
+
value: function isDefined() {
|
|
59
|
+
var defined = this.value !== undefined;
|
|
60
|
+
return defined;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
56
63
|
{
|
|
57
64
|
key: "setValue",
|
|
58
65
|
value: function setValue(value) {
|
|
@@ -91,4 +98,4 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
91
98
|
return Variable;
|
|
92
99
|
}();
|
|
93
100
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmFyaWFibGUge1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBuYW1lLCB2YWx1ZSkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIGlzRGVmaW5lZCgpIHtcbiAgICBjb25zdCBkZWZpbmVkID0gKHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCk7XG5cbiAgICByZXR1cm4gZGVmaW5lZDtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBtYXRjaGVzTmFtZSA9ICh0aGlzLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGlmICh0aGlzLnR5cGUgPT09IG51bGwpIHtcbiAgICAgIHN0cmluZyA9IHRoaXMubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9OiR7dHlwZU5hbWV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlQW5kTmFtZSh0eXBlLCBuYW1lKSB7XG4gICAgY29uc3QgdmFsdWUgPSB1bmRlZmluZWQsXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUodHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlZhcmlhYmxlIiwidHlwZSIsIm5hbWUiLCJ2YWx1ZSIsImdldFR5cGUiLCJnZXROYW1lIiwiZ2V0VmFsdWUiLCJpc0RlZmluZWQiLCJkZWZpbmVkIiwidW5kZWZpbmVkIiwic2V0VmFsdWUiLCJtYXRjaE5hbWUiLCJtYXRjaGVzTmFtZSIsImFzU3RyaW5nIiwic3RyaW5nIiwidHlwZU5hbWUiLCJmcm9tVHlwZUFuZE5hbWUiLCJ2YXJpYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFFcUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU4sSUFBQSxBQUFNQSx5QkFBTjthQUFNQSxTQUNQQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSzs4QkFEVkg7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBOztpQkFKSUg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtZQUNsQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixJQUFNQyxVQUFXLElBQUksQ0FBQ0wsS0FBSyxLQUFLTTtnQkFFaEMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTUCxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDQSxLQUFLLEdBQUdBO1lBQ2Y7OztZQUVBUSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVVQsSUFBSSxFQUFFO2dCQUNkLElBQU1VLGNBQWUsSUFBSSxDQUFDVixJQUFJLEtBQUtBO2dCQUVuQyxPQUFPVTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSUM7Z0JBRUosSUFBSSxJQUFJLENBQUNiLElBQUksS0FBSyxJQUFJLEVBQUU7b0JBQ3RCYSxTQUFTLElBQUksQ0FBQ1osSUFBSTtnQkFDcEIsT0FBTztvQkFDTCxJQUFNYSxXQUFXLElBQUksQ0FBQ2QsSUFBSSxDQUFDSSxPQUFPO29CQUVsQ1MsU0FBUyxBQUFDLEdBQWVDLE9BQWIsSUFBSSxDQUFDYixJQUFJLEVBQUMsS0FBWSxPQUFUYTtnQkFDM0IsQ0FBQztnQkFFRCxPQUFPRDtZQUNUOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLGdCQUFnQmYsSUFBSSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQU1DLFFBQVFNLFdBQ1JRLFdBQVcsSUFuREFqQixTQW1EYUMsTUFBTUMsTUFBTUM7Z0JBRTFDLE9BQU9jO1lBQ1Q7OztXQXREbUJqQiJ9
|
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _rule = /*#__PURE__*/ _interopRequireDefault(require("../../verify/rule"));
|
|
12
12
|
var _axiom = /*#__PURE__*/ _interopRequireDefault(require("../../verify/axiom"));
|
|
13
13
|
var _lemma = /*#__PURE__*/ _interopRequireDefault(require("../../verify/lemma"));
|
|
14
|
+
var _theorem = /*#__PURE__*/ _interopRequireDefault(require("../../verify/theorem"));
|
|
14
15
|
var _type = /*#__PURE__*/ _interopRequireDefault(require("../../verify/declaration/type"));
|
|
15
16
|
var _variable = /*#__PURE__*/ _interopRequireDefault(require("../../verify/declaration/variable"));
|
|
16
17
|
var _combinator = /*#__PURE__*/ _interopRequireDefault(require("../../verify/declaration/combinator"));
|
|
@@ -21,11 +22,11 @@ function _interopRequireDefault(obj) {
|
|
|
21
22
|
default: obj
|
|
22
23
|
};
|
|
23
24
|
}
|
|
24
|
-
var ruleNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/rule!"), axiomNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/axiom!"), lemmaNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/lemma!"), typeDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/typeDeclaration!"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/variableDeclaration!"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/combinatorDeclaration!"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/constructorDeclaration!");
|
|
25
|
+
var ruleNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/rule!"), axiomNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/axiom!"), lemmaNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/lemma!"), theoremNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/theorem!"), typeDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/typeDeclaration!"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/variableDeclaration!"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/combinatorDeclaration!"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/topLevelDeclaration/constructorDeclaration!");
|
|
25
26
|
function verifyTopLevelDeclaration(topLevelDeclarationNode, fileContext) {
|
|
26
27
|
var topLevelDeclarationVerified = false;
|
|
27
28
|
fileContext.begin(topLevelDeclarationNode);
|
|
28
|
-
var node = topLevelDeclarationNode, ruleNode = ruleNodeQuery(node), axiomNode = axiomNodeQuery(node), lemmaNode = lemmaNodeQuery(node), typeDeclarationNode = typeDeclarationNodeQuery(node), variableDeclarationNode = variableDeclarationNodeQuery(node), combinatorDeclarationNode = combinatorDeclarationNodeQuery(node), constructorDeclarationNode = constructorDeclarationNodeQuery(node);
|
|
29
|
+
var node = topLevelDeclarationNode, ruleNode = ruleNodeQuery(node), axiomNode = axiomNodeQuery(node), lemmaNode = lemmaNodeQuery(node), theoremNode = theoremNodeQuery(node), typeDeclarationNode = typeDeclarationNodeQuery(node), variableDeclarationNode = variableDeclarationNodeQuery(node), combinatorDeclarationNode = combinatorDeclarationNodeQuery(node), constructorDeclarationNode = constructorDeclarationNodeQuery(node);
|
|
29
30
|
if (false) {
|
|
30
31
|
///
|
|
31
32
|
} else if (ruleNode !== null) {
|
|
@@ -37,6 +38,9 @@ function verifyTopLevelDeclaration(topLevelDeclarationNode, fileContext) {
|
|
|
37
38
|
} else if (lemmaNode !== null) {
|
|
38
39
|
var lemmaVerified = (0, _lemma.default)(lemmaNode, fileContext);
|
|
39
40
|
topLevelDeclarationVerified = lemmaVerified; ///
|
|
41
|
+
} else if (theoremNode !== null) {
|
|
42
|
+
var theoremVerified = (0, _theorem.default)(theoremNode, fileContext);
|
|
43
|
+
topLevelDeclarationVerified = theoremVerified; ///
|
|
40
44
|
} else if (typeDeclarationNode !== null) {
|
|
41
45
|
var typeDeclarationVerified = (0, _type.default)(typeDeclarationNode, fileContext);
|
|
42
46
|
topLevelDeclarationVerified = typeDeclarationVerified; ///
|
|
@@ -54,4 +58,4 @@ function verifyTopLevelDeclaration(topLevelDeclarationNode, fileContext) {
|
|
|
54
58
|
return topLevelDeclarationVerified;
|
|
55
59
|
}
|
|
56
60
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdG9wTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlSdWxlIGZyb20gXCIuLi8uLi92ZXJpZnkvcnVsZVwiO1xuaW1wb3J0IHZlcmlmeUF4aW9tIGZyb20gXCIuLi8uLi92ZXJpZnkvYXhpb21cIjtcbmltcG9ydCB2ZXJpZnlMZW1tYSBmcm9tIFwiLi4vLi4vdmVyaWZ5L2xlbW1hXCI7XG5pbXBvcnQgdmVyaWZ5VGhlb3JlbSBmcm9tIFwiLi4vLi4vdmVyaWZ5L3RoZW9yZW1cIjtcbmltcG9ydCB2ZXJpZnlUeXBlRGVjbGFyYXRpb24gZnJvbSBcIi4uLy4uL3ZlcmlmeS9kZWNsYXJhdGlvbi90eXBlXCI7XG5pbXBvcnQgdmVyaWZ5VmFyaWFibGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgdmVyaWZ5Q29tYmluYXRvckRlY2xhcmF0aW9uIGZyb20gXCIuLi8uLi92ZXJpZnkvZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IHZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24gZnJvbSBcIi4uLy4uL3ZlcmlmeS9kZWNsYXJhdGlvbi9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHJ1bGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi9ydWxlIVwiKSxcbiAgICAgIGF4aW9tTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RvcExldmVsRGVjbGFyYXRpb24vYXhpb20hXCIpLFxuICAgICAgbGVtbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi9sZW1tYSFcIiksXG4gICAgICB0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RvcExldmVsRGVjbGFyYXRpb24vdGhlb3JlbSFcIiksXG4gICAgICB0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi90eXBlRGVjbGFyYXRpb24hXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90b3BMZXZlbERlY2xhcmF0aW9uL3ZhcmlhYmxlRGVjbGFyYXRpb24hXCIpLFxuICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RvcExldmVsRGVjbGFyYXRpb24vY29tYmluYXRvckRlY2xhcmF0aW9uIVwiKSxcbiAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdG9wTGV2ZWxEZWNsYXJhdGlvbi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbih0b3BMZXZlbERlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHRvcExldmVsRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCBub2RlID0gdG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGUsIC8vL1xuICAgICAgICBydWxlTm9kZSA9IHJ1bGVOb2RlUXVlcnkobm9kZSksXG4gICAgICAgIGF4aW9tTm9kZSA9IGF4aW9tTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICBsZW1tYU5vZGUgPSBsZW1tYU5vZGVRdWVyeShub2RlKSxcbiAgICAgICAgdGhlb3JlbU5vZGUgPSB0aGVvcmVtTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICB0eXBlRGVjbGFyYXRpb25Ob2RlID0gdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5KG5vZGUpLFxuICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSA9IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkobm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgPSBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkobm9kZSksXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeShub2RlKTtcblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmIChydWxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJ1bGVWZXJpZmllZCA9IHZlcmlmeVJ1bGUocnVsZU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IHJ1bGVWZXJpZmllZDsgIC8vL1xuICB9IGVsc2UgaWYgKGF4aW9tTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGF4aW9tVmVyaWZpZWQgPSB2ZXJpZnlBeGlvbShheGlvbU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IGF4aW9tVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmIChsZW1tYU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBsZW1tYVZlcmlmaWVkID0gdmVyaWZ5TGVtbWEobGVtbWFOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBsZW1tYVZlcmlmaWVkOyAgLy8vXG4gIH0gZWxzZSBpZiAodGhlb3JlbU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0aGVvcmVtVmVyaWZpZWQgPSB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSB0aGVvcmVtVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmICh0eXBlRGVjbGFyYXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlRGVjbGFyYXRpb24odHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQ7ICAvLy9cbiAgfSBlbHNlIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeVZhcmlhYmxlRGVjbGFyYXRpb24odmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IHZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZDsgIC8vL1xuICB9IGVsc2UgaWYgKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeUNvbWJpbmF0b3JEZWNsYXJhdGlvbihjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZDsgIC8vL1xuICB9IGVsc2UgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkOyAgLy8vXG4gIH1cblxuICB0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKHRvcExldmVsRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC5oYWx0KHRvcExldmVsRGVjbGFyYXRpb25Ob2RlKTtcblxuICByZXR1cm4gdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVRvcExldmVsRGVjbGFyYXRpb24iLCJydWxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInRoZW9yZW1Ob2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInRvcExldmVsRGVjbGFyYXRpb25Ob2RlIiwiZmlsZUNvbnRleHQiLCJ0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQiLCJiZWdpbiIsIm5vZGUiLCJydWxlTm9kZSIsImF4aW9tTm9kZSIsImxlbW1hTm9kZSIsInRoZW9yZW1Ob2RlIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwicnVsZVZlcmlmaWVkIiwidmVyaWZ5UnVsZSIsImF4aW9tVmVyaWZpZWQiLCJ2ZXJpZnlBeGlvbSIsImxlbW1hVmVyaWZpZWQiLCJ2ZXJpZnlMZW1tYSIsInRoZW9yZW1WZXJpZmllZCIsInZlcmlmeVRoZW9yZW0iLCJ0eXBlRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeVR5cGVEZWNsYXJhdGlvbiIsInZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlRGVjbGFyYXRpb24iLCJjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeUNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNCQTs7O2VBQXdCQTs7O3lEQXBCRDswREFDQzswREFDQTs0REFDRTt5REFDUTs2REFDSTsrREFDRTtnRUFDQztxQkFFZjs7Ozs7O0FBRTFCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQywrQkFDMUJDLGlCQUFpQkQsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDM0JFLGlCQUFpQkYsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDM0JHLG1CQUFtQkgsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDN0JJLDJCQUEyQkosSUFBQUEsZ0JBQVMsRUFBQywwQ0FDckNLLCtCQUErQkwsSUFBQUEsZ0JBQVMsRUFBQyw4Q0FDekNNLGlDQUFpQ04sSUFBQUEsZ0JBQVMsRUFBQyxnREFDM0NPLGtDQUFrQ1AsSUFBQUEsZ0JBQVMsRUFBQztBQUVuQyxTQUFTRiwwQkFBMEJVLHVCQUF1QixFQUFFQyxXQUFXLEVBQUU7SUFDdEYsSUFBSUMsOEJBQThCLEtBQUs7SUFFdkNELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksT0FBT0oseUJBQ1BLLFdBQVdkLGNBQWNhLE9BQ3pCRSxZQUFZYixlQUFlVyxPQUMzQkcsWUFBWWIsZUFBZVUsT0FDM0JJLGNBQWNiLGlCQUFpQlMsT0FDL0JLLHNCQUFzQmIseUJBQXlCUSxPQUMvQ00sMEJBQTBCYiw2QkFBNkJPLE9BQ3ZETyw0QkFBNEJiLCtCQUErQk0sT0FDM0RRLDZCQUE2QmIsZ0NBQWdDSztJQUVuRSxJQUFJLEtBQUssRUFBRTtJQUNULEdBQUc7SUFDTCxPQUFPLElBQUlDLGFBQWEsSUFBSSxFQUFFO1FBQzVCLElBQU1RLGVBQWVDLElBQUFBLGFBQVUsRUFBQ1QsVUFBVUo7UUFFMUNDLDhCQUE4QlcsY0FBZSxHQUFHO0lBQ2xELE9BQU8sSUFBSVAsY0FBYyxJQUFJLEVBQUU7UUFDN0IsSUFBTVMsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNWLFdBQVdMO1FBRTdDQyw4QkFBOEJhLGVBQWdCLEdBQUc7SUFDbkQsT0FBTyxJQUFJUixjQUFjLElBQUksRUFBRTtRQUM3QixJQUFNVSxnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ1gsV0FBV047UUFFN0NDLDhCQUE4QmUsZUFBZ0IsR0FBRztJQUNuRCxPQUFPLElBQUlULGdCQUFnQixJQUFJLEVBQUU7UUFDL0IsSUFBTVcsa0JBQWtCQyxJQUFBQSxnQkFBYSxFQUFDWixhQUFhUDtRQUVuREMsOEJBQThCaUIsaUJBQWtCLEdBQUc7SUFDckQsT0FBTyxJQUFJVix3QkFBd0IsSUFBSSxFQUFFO1FBQ3ZDLElBQU1ZLDBCQUEwQkMsSUFBQUEsYUFBcUIsRUFBQ2IscUJBQXFCUjtRQUUzRUMsOEJBQThCbUIseUJBQTBCLEdBQUc7SUFDN0QsT0FBTyxJQUFJWCw0QkFBNEIsSUFBSSxFQUFFO1FBQzNDLElBQU1hLDhCQUE4QkMsSUFBQUEsaUJBQXlCLEVBQUNkLHlCQUF5QlQ7UUFFdkZDLDhCQUE4QnFCLDZCQUE4QixHQUFHO0lBQ2pFLE9BQU8sSUFBSVosOEJBQThCLElBQUksRUFBRTtRQUM3QyxJQUFNYyxnQ0FBZ0NDLElBQUFBLG1CQUEyQixFQUFDZiwyQkFBMkJWO1FBRTdGQyw4QkFBOEJ1QiwrQkFBZ0MsR0FBRztJQUNuRSxPQUFPLElBQUliLCtCQUErQixJQUFJLEVBQUU7UUFDOUMsSUFBTWUsaUNBQWlDQyxJQUFBQSxvQkFBNEIsRUFBQ2hCLDRCQUE0Qlg7UUFFaEdDLDhCQUE4QnlCLGdDQUFpQyxHQUFHO0lBQ3BFLENBQUM7SUFFRHpCLDhCQUNFRCxZQUFZNEIsUUFBUSxDQUFDN0IsMkJBQ25CQyxZQUFZNkIsSUFBSSxDQUFDOUIsd0JBQXdCO0lBRTdDLE9BQU9FO0FBQ1QifQ==
|
|
@@ -0,0 +1,112 @@
|
|
|
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 verifyDerivation;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _assertion = /*#__PURE__*/ _interopRequireDefault(require("../assertion"));
|
|
12
|
+
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
13
|
+
var _qualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/qualified"));
|
|
14
|
+
var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/statement/unqualified"));
|
|
15
|
+
var _array = require("../utilities/array");
|
|
16
|
+
var _query = require("../utilities/query");
|
|
17
|
+
var _ruleNames = require("../ruleNames");
|
|
18
|
+
function _interopRequireDefault(obj) {
|
|
19
|
+
return obj && obj.__esModule ? obj : {
|
|
20
|
+
default: obj
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
var derivationNodeQuery = (0, _query.nodeQuery)("/subproof/derivation!"), derivationChildNodesQuery = (0, _query.nodesQuery)("/derivation/*"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement!"), qualifiedOrUnqualifiedStatementNodesQuery = (0, _query.nodesQuery)("/subproof/qualifiedStatement|unqualifiedStatement");
|
|
24
|
+
function verifyDerivation(derivationNode, proofContext) {
|
|
25
|
+
var derivationVerified, derived;
|
|
26
|
+
proofContext.begin(derivationNode);
|
|
27
|
+
derived = true;
|
|
28
|
+
proofContext.setDerived(derived);
|
|
29
|
+
var derivationChildNodes = derivationChildNodesQuery(derivationNode);
|
|
30
|
+
derivationVerified = derivationChildNodes.every(function(derivationChildNode) {
|
|
31
|
+
var derivationChildVerified = verifyDerivationChild(derivationChildNode, proofContext);
|
|
32
|
+
if (derivationChildVerified) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
derived = false;
|
|
37
|
+
proofContext.setDerived(derived);
|
|
38
|
+
derivationVerified ? proofContext.complete(derivationNode) : proofContext.halt(derivationNode);
|
|
39
|
+
return derivationVerified;
|
|
40
|
+
}
|
|
41
|
+
function verifyDerivationChild(derivationChildNode, proofContext) {
|
|
42
|
+
var derivationChildVerified;
|
|
43
|
+
var ruleName = derivationChildNode.getRuleName();
|
|
44
|
+
switch(ruleName){
|
|
45
|
+
case _ruleNames.SUBPROOF_RULE_NAME:
|
|
46
|
+
{
|
|
47
|
+
var subproofNode = derivationChildNode, subproofVerified = verifySubproof(subproofNode, proofContext);
|
|
48
|
+
if (subproofVerified) {
|
|
49
|
+
var assertion = _assertion.default.fromSubproofNode(subproofNode);
|
|
50
|
+
proofContext.addAssertion(assertion);
|
|
51
|
+
derivationChildVerified = true;
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
case _ruleNames.QUALIFIED_STATEMENT_RULE_NAME:
|
|
56
|
+
{
|
|
57
|
+
var qualifiedStatementNode = derivationChildNode, qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, proofContext);
|
|
58
|
+
if (qualifiedStatementVerified) {
|
|
59
|
+
var assertion1 = _assertion.default.fromQualifiedStatementNode(qualifiedStatementNode);
|
|
60
|
+
proofContext.addAssertion(assertion1);
|
|
61
|
+
derivationChildVerified = qualifiedStatementVerified; ///
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case _ruleNames.UNQUALIFIED_STATEMENT_RULE_NAME:
|
|
66
|
+
{
|
|
67
|
+
var unqualifiedStatementNode = derivationChildNode, unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
68
|
+
if (unqualifiedStatementVerified) {
|
|
69
|
+
var assertion2 = _assertion.default.fromUnqualifiedStatementNode(unqualifiedStatementNode);
|
|
70
|
+
proofContext.addAssertion(assertion2);
|
|
71
|
+
derivationChildVerified = true;
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return derivationChildVerified;
|
|
77
|
+
}
|
|
78
|
+
function verifySubproof(subproofNode, proofContext) {
|
|
79
|
+
var subproofVerified = false;
|
|
80
|
+
proofContext = _proof.default.fromProofContext(proofContext); ///
|
|
81
|
+
var qualifiedOrUnqualifiedStatementNodes = qualifiedOrUnqualifiedStatementNodesQuery(subproofNode), frontQualifiedOrUnqualifiedStatementNodes = (0, _array.front)(qualifiedOrUnqualifiedStatementNodes), unqualifiedStatementNodes = frontQualifiedOrUnqualifiedStatementNodes, unqualifiedStatementsVerified = unqualifiedStatementNodes.every(function(unqualifiedStatementNode) {
|
|
82
|
+
var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
83
|
+
if (unqualifiedStatementVerified) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
if (unqualifiedStatementsVerified) {
|
|
88
|
+
unqualifiedStatementNodes.forEach(function(unqualifiedStatementNode) {
|
|
89
|
+
var assertion = _assertion.default.fromUnqualifiedStatementNode(unqualifiedStatementNode);
|
|
90
|
+
proofContext.addAssertion(assertion);
|
|
91
|
+
});
|
|
92
|
+
var derivationVerified = true;
|
|
93
|
+
var derivationNode = derivationNodeQuery(subproofNode);
|
|
94
|
+
if (derivationNode !== null) {
|
|
95
|
+
derivationVerified = verifyDerivation(derivationNode, proofContext);
|
|
96
|
+
}
|
|
97
|
+
if (derivationVerified) {
|
|
98
|
+
var lastQualifiedOrUnqualifiedStatementNode = (0, _array.last)(qualifiedOrUnqualifiedStatementNodes), qualifiedOrUnqualifiedStatementNode = lastQualifiedOrUnqualifiedStatementNode, qualifiedStatementNode = qualifiedStatementNodeQuery(qualifiedOrUnqualifiedStatementNode), unqualifiedStatementNode = unqualifiedStatementNodeQuery(qualifiedOrUnqualifiedStatementNode);
|
|
99
|
+
if (qualifiedStatementNode !== null) {
|
|
100
|
+
var qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, proofContext);
|
|
101
|
+
subproofVerified = qualifiedStatementVerified; ///
|
|
102
|
+
}
|
|
103
|
+
if (unqualifiedStatementNode !== null) {
|
|
104
|
+
var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, proofContext);
|
|
105
|
+
subproofVerified = unqualifiedStatementVerified; ///
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return subproofVerified;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVyaXZhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEFzc2VydGlvbiBmcm9tIFwiLi4vYXNzZXJ0aW9uXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IGZyb250LCBsYXN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgU1VCUFJPT0ZfUlVMRV9OQU1FLCBRVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSwgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgZGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJwcm9vZi9kZXJpdmF0aW9uIVwiKSxcbiAgICAgIGRlcml2YXRpb25DaGlsZE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2Rlcml2YXRpb24vKlwiKSxcbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnRcIiksXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2YvcXVhbGlmaWVkU3RhdGVtZW50fHVucXVhbGlmaWVkU3RhdGVtZW50XCIpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeURlcml2YXRpb24oZGVyaXZhdGlvbk5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgZGVyaXZhdGlvblZlcmlmaWVkLFxuICAgICAgZGVyaXZlZDtcblxuICBwcm9vZkNvbnRleHQuYmVnaW4oZGVyaXZhdGlvbk5vZGUpO1xuXG4gIGRlcml2ZWQgPSB0cnVlO1xuXG4gIHByb29mQ29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIGNvbnN0IGRlcml2YXRpb25DaGlsZE5vZGVzID0gZGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeShkZXJpdmF0aW9uTm9kZSk7XG5cbiAgZGVyaXZhdGlvblZlcmlmaWVkID0gZGVyaXZhdGlvbkNoaWxkTm9kZXMuZXZlcnkoKGRlcml2YXRpb25DaGlsZE5vZGUpID0+IHsgIC8vL1xuICAgIGNvbnN0IGRlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gdmVyaWZ5RGVyaXZhdGlvbkNoaWxkKGRlcml2YXRpb25DaGlsZE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICBpZiAoZGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgZGVyaXZlZCA9IGZhbHNlO1xuXG4gIHByb29mQ29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIGRlcml2YXRpb25WZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKGRlcml2YXRpb25Ob2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdChkZXJpdmF0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIGRlcml2YXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZhdGlvbkNoaWxkKGRlcml2YXRpb25DaGlsZE5vZGUsIHByb29mQ29udGV4dCkge1xuICBsZXQgZGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQ7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBkZXJpdmF0aW9uQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgIGNhc2UgU1VCUFJPT0ZfUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCBzdWJwcm9vZk5vZGUgPSBkZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdWJwcm9vZlZlcmlmaWVkID0gdmVyaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAoc3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NlcnRpb24gPSBBc3NlcnRpb24uZnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgIHByb29mQ29udGV4dC5hZGRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgICBkZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBkZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgYXNzZXJ0aW9uID0gQXNzZXJ0aW9uLmZyb21RdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIHByb29mQ29udGV4dC5hZGRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgICBkZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBkZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NlcnRpb24gPSBBc3NlcnRpb24uZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIHByb29mQ29udGV4dC5hZGRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgICBkZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmF0aW9uQ2hpbGRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBwcm9vZkNvbnRleHQgPSBQcm9vZkNvbnRleHQuZnJvbVByb29mQ29udGV4dChwcm9vZkNvbnRleHQpOyAvLy9cblxuICBjb25zdCBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMgPSBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICBmcm9udFF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlcyA9IGZyb250KHF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlcyksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMgPSBmcm9udFF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlcywgIC8vL1xuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudHNWZXJpZmllZCA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMuZXZlcnkoKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICAgICAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRzVmVyaWZpZWQpIHtcbiAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzLmZvckVhY2goKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgYXNzZXJ0aW9uID0gQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgICAgcHJvb2ZDb250ZXh0LmFkZEFzc2VydGlvbihhc3NlcnRpb24pO1xuICAgIH0pO1xuXG4gICAgbGV0IGRlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBkZXJpdmF0aW9uTm9kZSA9IGRlcml2YXRpb25Ob2RlUXVlcnkoc3VicHJvb2ZOb2RlKTtcblxuICAgIGlmIChkZXJpdmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgZGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5RGVyaXZhdGlvbihkZXJpdmF0aW9uTm9kZSwgcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoZGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsYXN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBsYXN0KHF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IGxhc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHByb29mQ29udGV4dCk7XG5cbiAgICAgICAgc3VicHJvb2ZWZXJpZmllZCA9IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkOyAgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICBzdWJwcm9vZlZlcmlmaWVkID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJwcm9vZlZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeURlcml2YXRpb24iLCJkZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2Rlc1F1ZXJ5IiwiZGVyaXZhdGlvbk5vZGUiLCJwcm9vZkNvbnRleHQiLCJkZXJpdmF0aW9uVmVyaWZpZWQiLCJkZXJpdmVkIiwiYmVnaW4iLCJzZXREZXJpdmVkIiwiZGVyaXZhdGlvbkNoaWxkTm9kZXMiLCJldmVyeSIsImRlcml2YXRpb25DaGlsZE5vZGUiLCJkZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCIsInZlcmlmeURlcml2YXRpb25DaGlsZCIsImNvbXBsZXRlIiwiaGFsdCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJzdWJwcm9vZk5vZGUiLCJzdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5U3VicHJvb2YiLCJhc3NlcnRpb24iLCJBc3NlcnRpb24iLCJmcm9tU3VicHJvb2ZOb2RlIiwiYWRkQXNzZXJ0aW9uIiwiUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJmcm9tUXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiUHJvb2ZDb250ZXh0IiwiZnJvbVByb29mQ29udGV4dCIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlcyIsImZyb250UXVhbGlmaWVkT3JVbnF1YWxpZmllZFN0YXRlbWVudE5vZGVzIiwiZnJvbnQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRzVmVyaWZpZWQiLCJmb3JFYWNoIiwibGFzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwibGFzdCIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUF3QkE7Ozs4REFmRjswREFDRzs4REFDWTtnRUFDRTtxQkFFWDtxQkFDVTt5QkFDNkQ7Ozs7OztBQUVuRyxJQUFNQyxzQkFBc0JDLElBQUFBLGdCQUFTLEVBQUMsMEJBQ2hDQyw0QkFBNEJDLElBQUFBLGlCQUFVLEVBQUMsa0JBQ3ZDQyw4QkFBOEJILElBQUFBLGdCQUFTLEVBQUMsd0JBQ3hDSSxnQ0FBZ0NKLElBQUFBLGdCQUFTLEVBQUMsMkJBQzFDSyw0Q0FBNENILElBQUFBLGlCQUFVLEVBQUM7QUFFOUMsU0FBU0osaUJBQWlCUSxjQUFjLEVBQUVDLFlBQVksRUFBRTtJQUNyRSxJQUFJQyxvQkFDQUM7SUFFSkYsYUFBYUcsS0FBSyxDQUFDSjtJQUVuQkcsVUFBVSxJQUFJO0lBRWRGLGFBQWFJLFVBQVUsQ0FBQ0Y7SUFFeEIsSUFBTUcsdUJBQXVCWCwwQkFBMEJLO0lBRXZERSxxQkFBcUJJLHFCQUFxQkMsS0FBSyxDQUFDLFNBQUNDLHFCQUF3QjtRQUN2RSxJQUFNQywwQkFBMEJDLHNCQUFzQkYscUJBQXFCUDtRQUUzRSxJQUFJUSx5QkFBeUI7WUFD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
|