occam-verify-cli 1.0.662 → 1.0.664
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/.swcrc +3 -0
- package/lib/abbreviations.js +10 -10
- package/lib/action/help.js +27 -2
- package/lib/action/verify.js +33 -205
- package/lib/action/version.js +6 -6
- package/lib/commands.js +4 -4
- package/lib/constants.js +16 -16
- package/lib/context/ephemeral.js +337 -540
- package/lib/context/file/nominal.js +545 -1040
- package/lib/context/liminal.js +159 -325
- package/lib/context/literal.js +34 -138
- package/lib/context/nominal.js +29 -124
- package/lib/context/scoped.js +163 -325
- package/lib/context/synthetic.js +31 -126
- package/lib/context.js +230 -482
- package/lib/defaults.js +8 -8
- package/lib/element/assertion/contained.js +159 -299
- package/lib/element/assertion/defined.js +145 -279
- package/lib/element/assertion/property.js +132 -266
- package/lib/element/assertion/satisfies.js +108 -239
- package/lib/element/assertion/subproof.js +88 -207
- package/lib/element/assertion/type.js +132 -262
- package/lib/element/assertion.js +17 -156
- package/lib/element/assumption.js +187 -386
- package/lib/element/combinator/bracketed.js +19 -142
- package/lib/element/combinator.js +65 -228
- package/lib/element/conclusion.js +72 -370
- package/lib/element/constructor/bracketed.js +34 -157
- package/lib/element/constructor.js +81 -253
- package/lib/element/declaration/combinator.js +41 -286
- package/lib/element/declaration/complexType.js +184 -452
- package/lib/element/declaration/constructor.js +69 -323
- package/lib/element/declaration/metavariable.js +70 -317
- package/lib/element/declaration/simpleType.js +117 -378
- package/lib/element/declaration/typePrefix.js +54 -299
- package/lib/element/declaration/variable.js +74 -328
- package/lib/element/declaration.js +3 -114
- package/lib/element/deduction.js +76 -378
- package/lib/element/derivation.js +31 -340
- package/lib/element/equality.js +152 -347
- package/lib/element/equivalence.js +160 -385
- package/lib/element/equivalences.js +132 -356
- package/lib/element/error.js +16 -290
- package/lib/element/frame.js +210 -418
- package/lib/element/hypothesis.js +56 -354
- package/lib/element/judgement.js +120 -305
- package/lib/element/label.js +62 -236
- package/lib/element/metaType.js +35 -200
- package/lib/element/metavariable.js +249 -459
- package/lib/element/parameter.js +39 -202
- package/lib/element/procedureCall.js +74 -381
- package/lib/element/procedureReference.js +27 -186
- package/lib/element/proof.js +38 -349
- package/lib/element/proofAssertion/premise.js +174 -466
- package/lib/element/proofAssertion/step.js +144 -495
- package/lib/element/proofAssertion/supposition.js +170 -466
- package/lib/element/proofAssertion.js +47 -195
- package/lib/element/property.js +36 -201
- package/lib/element/propertyRelation.js +62 -223
- package/lib/element/reference.js +173 -378
- package/lib/element/rule.js +178 -673
- package/lib/element/section.js +47 -356
- package/lib/element/signature.js +96 -264
- package/lib/element/statement.js +195 -395
- package/lib/element/subDerivation.js +32 -341
- package/lib/element/subproof.js +73 -448
- package/lib/element/substitution/frame.js +114 -257
- package/lib/element/substitution/reference.js +108 -248
- package/lib/element/substitution/statement.js +223 -397
- package/lib/element/substitution/term.js +123 -266
- package/lib/element/substitution.js +97 -296
- package/lib/element/term.js +139 -339
- package/lib/element/topLevelAssertion/axiom.js +153 -459
- package/lib/element/topLevelAssertion/conjecture.js +24 -295
- package/lib/element/topLevelAssertion/lemma.js +22 -289
- package/lib/element/topLevelAssertion/theorem.js +24 -295
- package/lib/element/topLevelAssertion.js +218 -718
- package/lib/element/topLevelMetaAssertion/metaLemma.js +24 -290
- package/lib/element/topLevelMetaAssertion/metatheorem.js +24 -290
- package/lib/element/topLevelMetaAssertion.js +109 -509
- package/lib/element/type.js +198 -435
- package/lib/element/typePrefix.js +27 -186
- package/lib/element/variable.js +119 -308
- package/lib/elements.js +4 -4
- package/lib/index.js +4 -4
- package/lib/main.js +18 -18
- package/lib/messages.js +2 -2
- package/lib/metaTypeNames.js +4 -4
- package/lib/metaTypes.js +10 -10
- package/lib/node/argument.js +15 -109
- package/lib/node/assertion/contained.js +33 -130
- package/lib/node/assertion/defined.js +29 -123
- package/lib/node/assertion/property.js +18 -112
- package/lib/node/assertion/satisfies.js +14 -105
- package/lib/node/assertion/subproof.js +10 -98
- package/lib/node/assertion/type.js +14 -105
- package/lib/node/assertion.js +5 -89
- package/lib/node/assumption.js +12 -103
- package/lib/node/body/axiom.js +5 -89
- package/lib/node/body/conjecture.js +5 -89
- package/lib/node/body/lemma.js +5 -89
- package/lib/node/body/metaLemma.js +5 -89
- package/lib/node/body/metatheorem.js +5 -89
- package/lib/node/body/rule.js +26 -126
- package/lib/node/body/theorem.js +5 -89
- package/lib/node/body.js +15 -109
- package/lib/node/combinator.js +9 -97
- package/lib/node/conclusion.js +12 -103
- package/lib/node/constructor.js +9 -97
- package/lib/node/declaration/combinator.js +10 -98
- package/lib/node/declaration/complexType.js +53 -162
- package/lib/node/declaration/constructor.js +29 -123
- package/lib/node/declaration/metavariable.js +18 -112
- package/lib/node/declaration/property.js +26 -123
- package/lib/node/declaration/simpleType.js +52 -158
- package/lib/node/declaration/typePrefix.js +14 -105
- package/lib/node/declaration/variable.js +33 -130
- package/lib/node/declaration.js +5 -89
- package/lib/node/deduction.js +12 -103
- package/lib/node/derivation.js +12 -125
- package/lib/node/document.js +5 -89
- package/lib/node/equality.js +17 -111
- package/lib/node/equivalence.js +9 -97
- package/lib/node/equivalences.js +5 -89
- package/lib/node/error.js +5 -89
- package/lib/node/frame.js +26 -123
- package/lib/node/header/axiom.js +10 -98
- package/lib/node/header/conjecture.js +5 -89
- package/lib/node/header/lemma.js +5 -89
- package/lib/node/header/metaLemma.js +5 -89
- package/lib/node/header/metatheorem.js +5 -89
- package/lib/node/header/rule.js +5 -89
- package/lib/node/header/theorem.js +5 -89
- package/lib/node/header.js +30 -130
- package/lib/node/hypothesis.js +12 -103
- package/lib/node/judgement.js +15 -109
- package/lib/node/label.js +9 -97
- package/lib/node/labels.js +9 -97
- package/lib/node/metaArgument.js +9 -97
- package/lib/node/metaType.js +16 -104
- package/lib/node/metavariable.js +23 -117
- package/lib/node/parameter.js +32 -123
- package/lib/node/parenthesisedLabel.js +9 -97
- package/lib/node/parenthesisedLabels.js +12 -103
- package/lib/node/placeholder.js +5 -89
- package/lib/node/procedureCall.js +15 -109
- package/lib/node/procedureReference.js +16 -104
- package/lib/node/proof.js +9 -97
- package/lib/node/proofAssertion/premise.js +10 -98
- package/lib/node/proofAssertion/step.js +32 -132
- package/lib/node/proofAssertion/supposition.js +10 -98
- package/lib/node/proofAssertion.js +12 -103
- package/lib/node/property.js +15 -106
- package/lib/node/propertyRelation.js +15 -109
- package/lib/node/qualification.js +12 -103
- package/lib/node/reference.js +9 -97
- package/lib/node/rule.js +26 -129
- package/lib/node/section.js +22 -122
- package/lib/node/signature.js +9 -97
- package/lib/node/statement.js +93 -238
- package/lib/node/subDerivation.js +12 -125
- package/lib/node/subproof.js +18 -115
- package/lib/node/substitution/frame.js +22 -119
- package/lib/node/substitution/reference.js +22 -119
- package/lib/node/substitution/statement.js +42 -151
- package/lib/node/substitution/term.js +22 -119
- package/lib/node/substitution.js +5 -89
- package/lib/node/term.js +51 -160
- package/lib/node/topLevelAssertion/axiom.js +8 -105
- package/lib/node/topLevelAssertion/conjecture.js +8 -105
- package/lib/node/topLevelAssertion/lemma.js +8 -105
- package/lib/node/topLevelAssertion/theorem.js +8 -105
- package/lib/node/topLevelAssertion.js +29 -135
- package/lib/node/topLevelMetaAssertion/metaLemma.js +8 -105
- package/lib/node/topLevelMetaAssertion/metatheorem.js +8 -105
- package/lib/node/topLevelMetaAssertion.js +25 -128
- package/lib/node/type.js +43 -140
- package/lib/node/typePrefix.js +16 -104
- package/lib/node/types.js +9 -97
- package/lib/node/variable.js +16 -104
- package/lib/nominal/lexer.js +3 -68
- package/lib/nominal/parser.js +7 -85
- package/lib/nonTerminalNodeMap.js +171 -101
- package/lib/options.js +6 -6
- package/lib/preamble.js +62 -62
- package/lib/prepare.js +4 -4
- package/lib/process/assign.js +20 -20
- package/lib/process/equate.js +39 -117
- package/lib/process/instantiate.js +10 -9
- package/lib/process/unify.js +199 -325
- package/lib/process/validate.js +87 -195
- package/lib/process/verify.js +263 -786
- package/lib/ruleNames.js +84 -84
- package/lib/tokenTypes.js +3 -3
- package/lib/utilities/bnf.js +7 -7
- package/lib/utilities/brackets.js +18 -18
- package/lib/utilities/clock.js +8 -8
- package/lib/utilities/context.js +23 -191
- package/lib/utilities/element.js +276 -276
- package/lib/utilities/equivalence.js +7 -7
- package/lib/utilities/fileContext.js +9 -9
- package/lib/utilities/instance.js +14 -14
- package/lib/utilities/json.js +211 -211
- package/lib/utilities/releaseContext.js +19 -147
- package/lib/utilities/statement.js +10 -10
- package/lib/utilities/string.js +47 -47
- package/lib/utilities/substitutions.js +19 -19
- package/lib/utilities/type.js +5 -5
- package/lib/utilities/unification.js +196 -426
- package/lib/utilities/validation.js +72 -72
- package/package.json +1 -1
|
@@ -8,302 +8,36 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
20
|
-
try {
|
|
21
|
-
var info = gen[key](arg);
|
|
22
|
-
var value = info.value;
|
|
23
|
-
} catch (error) {
|
|
24
|
-
reject(error);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (info.done) {
|
|
28
|
-
resolve(value);
|
|
29
|
-
} else {
|
|
30
|
-
Promise.resolve(value).then(_next, _throw);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function _async_to_generator(fn) {
|
|
34
|
-
return function() {
|
|
35
|
-
var self = this, args = arguments;
|
|
36
|
-
return new Promise(function(resolve, reject) {
|
|
37
|
-
var gen = fn.apply(self, args);
|
|
38
|
-
function _next(value) {
|
|
39
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
40
|
-
}
|
|
41
|
-
function _throw(err) {
|
|
42
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
43
|
-
}
|
|
44
|
-
_next(undefined);
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function _call_super(_this, derived, args) {
|
|
49
|
-
derived = _get_prototype_of(derived);
|
|
50
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
51
|
-
}
|
|
52
|
-
function _class_call_check(instance, Constructor) {
|
|
53
|
-
if (!(instance instanceof Constructor)) {
|
|
54
|
-
throw new TypeError("Cannot call a class as a function");
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function _defineProperties(target, props) {
|
|
58
|
-
for(var i = 0; i < props.length; i++){
|
|
59
|
-
var descriptor = props[i];
|
|
60
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
61
|
-
descriptor.configurable = true;
|
|
62
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
63
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
67
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
68
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
69
|
-
return Constructor;
|
|
70
|
-
}
|
|
71
|
-
function _define_property(obj, key, value) {
|
|
72
|
-
if (key in obj) {
|
|
73
|
-
Object.defineProperty(obj, key, {
|
|
74
|
-
value: value,
|
|
75
|
-
enumerable: true,
|
|
76
|
-
configurable: true,
|
|
77
|
-
writable: true
|
|
78
|
-
});
|
|
79
|
-
} else {
|
|
80
|
-
obj[key] = value;
|
|
81
|
-
}
|
|
82
|
-
return obj;
|
|
83
|
-
}
|
|
84
|
-
function _get(target, property, receiver) {
|
|
85
|
-
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
86
|
-
_get = Reflect.get;
|
|
87
|
-
} else {
|
|
88
|
-
_get = function get(target, property, receiver) {
|
|
89
|
-
var base = _super_prop_base(target, property);
|
|
90
|
-
if (!base) return;
|
|
91
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
92
|
-
if (desc.get) {
|
|
93
|
-
return desc.get.call(receiver || target);
|
|
94
|
-
}
|
|
95
|
-
return desc.value;
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
return _get(target, property, receiver || target);
|
|
99
|
-
}
|
|
100
|
-
function _get_prototype_of(o) {
|
|
101
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
102
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
103
|
-
};
|
|
104
|
-
return _get_prototype_of(o);
|
|
105
|
-
}
|
|
106
|
-
function _inherits(subClass, superClass) {
|
|
107
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
108
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
109
|
-
}
|
|
110
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
111
|
-
constructor: {
|
|
112
|
-
value: subClass,
|
|
113
|
-
writable: true,
|
|
114
|
-
configurable: true
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
118
|
-
}
|
|
11
|
+
const _topLevelMetaAssertion = /*#__PURE__*/ _interop_require_default(require("./../topLevelMetaAssertion"));
|
|
12
|
+
const _elements = require("../../elements");
|
|
119
13
|
function _interop_require_default(obj) {
|
|
120
14
|
return obj && obj.__esModule ? obj : {
|
|
121
15
|
default: obj
|
|
122
16
|
};
|
|
123
17
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (object === null) break;
|
|
141
|
-
}
|
|
142
|
-
return object;
|
|
143
|
-
}
|
|
144
|
-
function _type_of(obj) {
|
|
145
|
-
"@swc/helpers - typeof";
|
|
146
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
147
|
-
}
|
|
148
|
-
function _is_native_reflect_construct() {
|
|
149
|
-
try {
|
|
150
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
151
|
-
} catch (_) {}
|
|
152
|
-
return (_is_native_reflect_construct = function() {
|
|
153
|
-
return !!result;
|
|
154
|
-
})();
|
|
155
|
-
}
|
|
156
|
-
function _ts_generator(thisArg, body) {
|
|
157
|
-
var f, y, t, _ = {
|
|
158
|
-
label: 0,
|
|
159
|
-
sent: function() {
|
|
160
|
-
if (t[0] & 1) throw t[1];
|
|
161
|
-
return t[1];
|
|
162
|
-
},
|
|
163
|
-
trys: [],
|
|
164
|
-
ops: []
|
|
165
|
-
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
166
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
167
|
-
return this;
|
|
168
|
-
}), g;
|
|
169
|
-
function verb(n) {
|
|
170
|
-
return function(v) {
|
|
171
|
-
return step([
|
|
172
|
-
n,
|
|
173
|
-
v
|
|
174
|
-
]);
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
function step(op) {
|
|
178
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
179
|
-
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
180
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
181
|
-
if (y = 0, t) op = [
|
|
182
|
-
op[0] & 2,
|
|
183
|
-
t.value
|
|
184
|
-
];
|
|
185
|
-
switch(op[0]){
|
|
186
|
-
case 0:
|
|
187
|
-
case 1:
|
|
188
|
-
t = op;
|
|
189
|
-
break;
|
|
190
|
-
case 4:
|
|
191
|
-
_.label++;
|
|
192
|
-
return {
|
|
193
|
-
value: op[1],
|
|
194
|
-
done: false
|
|
195
|
-
};
|
|
196
|
-
case 5:
|
|
197
|
-
_.label++;
|
|
198
|
-
y = op[1];
|
|
199
|
-
op = [
|
|
200
|
-
0
|
|
201
|
-
];
|
|
202
|
-
continue;
|
|
203
|
-
case 7:
|
|
204
|
-
op = _.ops.pop();
|
|
205
|
-
_.trys.pop();
|
|
206
|
-
continue;
|
|
207
|
-
default:
|
|
208
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
209
|
-
_ = 0;
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
213
|
-
_.label = op[1];
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
217
|
-
_.label = t[1];
|
|
218
|
-
t = op;
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
if (t && _.label < t[2]) {
|
|
222
|
-
_.label = t[2];
|
|
223
|
-
_.ops.push(op);
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
if (t[2]) _.ops.pop();
|
|
227
|
-
_.trys.pop();
|
|
228
|
-
continue;
|
|
229
|
-
}
|
|
230
|
-
op = body.call(thisArg, _);
|
|
231
|
-
} catch (e) {
|
|
232
|
-
op = [
|
|
233
|
-
6,
|
|
234
|
-
e
|
|
235
|
-
];
|
|
236
|
-
y = 0;
|
|
237
|
-
} finally{
|
|
238
|
-
f = t = 0;
|
|
18
|
+
const _default = (0, _elements.define)(class MetaLemma extends _topLevelMetaAssertion.default {
|
|
19
|
+
getMetaLemmaNode() {
|
|
20
|
+
const node = this.getNode(), metaLemmaNode = node; ///
|
|
21
|
+
return metaLemmaNode;
|
|
22
|
+
}
|
|
23
|
+
async verify() {
|
|
24
|
+
let verifies;
|
|
25
|
+
const context = this.getContext();
|
|
26
|
+
await this.break(context);
|
|
27
|
+
const metaLemmaString = this.getString(); ///
|
|
28
|
+
context.trace(`Verifying the '${metaLemmaString}' meta-lemma...`);
|
|
29
|
+
verifies = super.verify();
|
|
30
|
+
if (verifies) {
|
|
31
|
+
const metaTheorem = this; ///
|
|
32
|
+
context.addMetatheorem(metaTheorem);
|
|
33
|
+
context.debug(`...verified the '${metaLemmaString}' meta-lemma.`);
|
|
239
34
|
}
|
|
240
|
-
|
|
241
|
-
return {
|
|
242
|
-
value: op[0] ? op[1] : void 0,
|
|
243
|
-
done: true
|
|
244
|
-
};
|
|
35
|
+
return verifies;
|
|
245
36
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
_inherits(MetaLemma, TopLevelMetaAssertion);
|
|
250
|
-
function MetaLemma() {
|
|
251
|
-
_class_call_check(this, MetaLemma);
|
|
252
|
-
return _call_super(this, MetaLemma, arguments);
|
|
37
|
+
static name = "MetaLemma";
|
|
38
|
+
static fromJSON(json, context) {
|
|
39
|
+
return _topLevelMetaAssertion.default.fromJSON(MetaLemma, json, context);
|
|
253
40
|
}
|
|
254
|
-
|
|
255
|
-
{
|
|
256
|
-
key: "getMetaLemmaNode",
|
|
257
|
-
value: function getMetaLemmaNode() {
|
|
258
|
-
var node = this.getNode(), metaLemmaNode = node; ///
|
|
259
|
-
return metaLemmaNode;
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
key: "verify",
|
|
264
|
-
value: function verify() {
|
|
265
|
-
var _this = this;
|
|
266
|
-
var _this1 = this, _superprop_get_verify = function() {
|
|
267
|
-
return _get(_get_prototype_of(MetaLemma.prototype), "verify", _this);
|
|
268
|
-
};
|
|
269
|
-
return _async_to_generator(function() {
|
|
270
|
-
var verifies, context, metaLemmaString, metaTheorem;
|
|
271
|
-
return _ts_generator(this, function(_state) {
|
|
272
|
-
switch(_state.label){
|
|
273
|
-
case 0:
|
|
274
|
-
context = this.getContext();
|
|
275
|
-
return [
|
|
276
|
-
4,
|
|
277
|
-
this.break(context)
|
|
278
|
-
];
|
|
279
|
-
case 1:
|
|
280
|
-
_state.sent();
|
|
281
|
-
metaLemmaString = this.getString(); ///
|
|
282
|
-
context.trace("Verifying the '".concat(metaLemmaString, "' meta-lemma..."));
|
|
283
|
-
verifies = _superprop_get_verify().call(_this1);
|
|
284
|
-
if (verifies) {
|
|
285
|
-
metaTheorem = this; ///
|
|
286
|
-
context.addMetatheorem(metaTheorem);
|
|
287
|
-
context.debug("...verified the '".concat(metaLemmaString, "' meta-lemma."));
|
|
288
|
-
}
|
|
289
|
-
return [
|
|
290
|
-
2,
|
|
291
|
-
verifies
|
|
292
|
-
];
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
}).call(this);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
], [
|
|
299
|
-
{
|
|
300
|
-
key: "fromJSON",
|
|
301
|
-
value: function fromJSON(json, context) {
|
|
302
|
-
return _topLevelMetaAssertion.default.fromJSON(MetaLemma, json, context);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
]);
|
|
306
|
-
return MetaLemma;
|
|
307
|
-
}(_topLevelMetaAssertion.default), _define_property(_MetaLemma, "name", "MetaLemma"), _MetaLemma));
|
|
41
|
+
});
|
|
308
42
|
|
|
309
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3RvcExldmVsTWV0YUFzc2VydGlvbi9tZXRhTGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUb3BMZXZlbE1ldGFBc3NlcnRpb24gZnJvbSBcIi4vLi4vdG9wTGV2ZWxNZXRhQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTWV0YUxlbW1hIGV4dGVuZHMgVG9wTGV2ZWxNZXRhQXNzZXJ0aW9uIHtcbiAgZ2V0TWV0YUxlbW1hTm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgbWV0YUxlbW1hTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFMZW1tYU5vZGU7XG4gIH1cblxuICBhc3luYyB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVzO1xuXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IG1ldGFMZW1tYVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhTGVtbWFTdHJpbmd9JyBtZXRhLWxlbW1hLi4uYCk7XG5cbiAgICB2ZXJpZmllcyA9IHN1cGVyLnZlcmlmeSgpO1xuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb25zdCBtZXRhVGhlb3JlbSA9IHRoaXM7IC8vL1xuXG4gICAgICBjb250ZXh0LmFkZE1ldGF0aGVvcmVtKG1ldGFUaGVvcmVtKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFMZW1tYVN0cmluZ30nIG1ldGEtbGVtbWEuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk1ldGFMZW1tYVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbE1ldGFBc3NlcnRpb24uZnJvbUpTT04oTWV0YUxlbW1hLCBqc29uLCBjb250ZXh0KTsgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiTWV0YUxlbW1hIiwiVG9wTGV2ZWxNZXRhQXNzZXJ0aW9uIiwiZ2V0TWV0YUxlbW1hTm9kZSIsIm5vZGUiLCJnZXROb2RlIiwibWV0YUxlbW1hTm9kZSIsInZlcmlmeSIsInZlcmlmaWVzIiwiY29udGV4dCIsImdldENvbnRleHQiLCJicmVhayIsIm1ldGFMZW1tYVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwibWV0YVRoZW9yZW0iLCJhZGRNZXRhdGhlb3JlbSIsImRlYnVnIiwibmFtZSIsImZyb21KU09OIiwianNvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7OEVBSmtDOzBCQUVYOzs7Ozs7TUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxrQkFBa0JDLDhCQUFxQjtJQUNqRUMsbUJBQW1CO1FBQ2pCLE1BQU1DLE9BQU8sSUFBSSxDQUFDQyxPQUFPLElBQ25CQyxnQkFBZ0JGLE1BQU0sR0FBRztRQUUvQixPQUFPRTtJQUNUO0lBRUEsTUFBTUMsU0FBUztRQUNiLElBQUlDO1FBRUosTUFBTUMsVUFBVSxJQUFJLENBQUNDLFVBQVU7UUFFL0IsTUFBTSxJQUFJLENBQUNDLEtBQUssQ0FBQ0Y7UUFFakIsTUFBTUcsa0JBQWtCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFN0NKLFFBQVFLLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRUYsZ0JBQWdCLGVBQWUsQ0FBQztRQUVoRUosV0FBVyxLQUFLLENBQUNEO1FBRWpCLElBQUlDLFVBQVU7WUFDWixNQUFNTyxjQUFjLElBQUksRUFBRSxHQUFHO1lBRTdCTixRQUFRTyxjQUFjLENBQUNEO1lBRXZCTixRQUFRUSxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRUwsZ0JBQWdCLGFBQWEsQ0FBQztRQUNsRTtRQUVBLE9BQU9KO0lBQ1Q7SUFFQSxPQUFPVSxPQUFPLFlBQVk7SUFFMUIsT0FBT0MsU0FBU0MsSUFBSSxFQUFFWCxPQUFPLEVBQUU7UUFBRSxPQUFPUCw4QkFBcUIsQ0FBQ2lCLFFBQVEsQ0FBQ2xCLFdBQVdtQixNQUFNWDtJQUFVO0FBQ3BHIn0=
|
|
@@ -8,302 +8,36 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
20
|
-
try {
|
|
21
|
-
var info = gen[key](arg);
|
|
22
|
-
var value = info.value;
|
|
23
|
-
} catch (error) {
|
|
24
|
-
reject(error);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (info.done) {
|
|
28
|
-
resolve(value);
|
|
29
|
-
} else {
|
|
30
|
-
Promise.resolve(value).then(_next, _throw);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function _async_to_generator(fn) {
|
|
34
|
-
return function() {
|
|
35
|
-
var self = this, args = arguments;
|
|
36
|
-
return new Promise(function(resolve, reject) {
|
|
37
|
-
var gen = fn.apply(self, args);
|
|
38
|
-
function _next(value) {
|
|
39
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
40
|
-
}
|
|
41
|
-
function _throw(err) {
|
|
42
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
43
|
-
}
|
|
44
|
-
_next(undefined);
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function _call_super(_this, derived, args) {
|
|
49
|
-
derived = _get_prototype_of(derived);
|
|
50
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
51
|
-
}
|
|
52
|
-
function _class_call_check(instance, Constructor) {
|
|
53
|
-
if (!(instance instanceof Constructor)) {
|
|
54
|
-
throw new TypeError("Cannot call a class as a function");
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function _defineProperties(target, props) {
|
|
58
|
-
for(var i = 0; i < props.length; i++){
|
|
59
|
-
var descriptor = props[i];
|
|
60
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
61
|
-
descriptor.configurable = true;
|
|
62
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
63
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
67
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
68
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
69
|
-
return Constructor;
|
|
70
|
-
}
|
|
71
|
-
function _define_property(obj, key, value) {
|
|
72
|
-
if (key in obj) {
|
|
73
|
-
Object.defineProperty(obj, key, {
|
|
74
|
-
value: value,
|
|
75
|
-
enumerable: true,
|
|
76
|
-
configurable: true,
|
|
77
|
-
writable: true
|
|
78
|
-
});
|
|
79
|
-
} else {
|
|
80
|
-
obj[key] = value;
|
|
81
|
-
}
|
|
82
|
-
return obj;
|
|
83
|
-
}
|
|
84
|
-
function _get(target, property, receiver) {
|
|
85
|
-
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
86
|
-
_get = Reflect.get;
|
|
87
|
-
} else {
|
|
88
|
-
_get = function get(target, property, receiver) {
|
|
89
|
-
var base = _super_prop_base(target, property);
|
|
90
|
-
if (!base) return;
|
|
91
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
92
|
-
if (desc.get) {
|
|
93
|
-
return desc.get.call(receiver || target);
|
|
94
|
-
}
|
|
95
|
-
return desc.value;
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
return _get(target, property, receiver || target);
|
|
99
|
-
}
|
|
100
|
-
function _get_prototype_of(o) {
|
|
101
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
102
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
103
|
-
};
|
|
104
|
-
return _get_prototype_of(o);
|
|
105
|
-
}
|
|
106
|
-
function _inherits(subClass, superClass) {
|
|
107
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
108
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
109
|
-
}
|
|
110
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
111
|
-
constructor: {
|
|
112
|
-
value: subClass,
|
|
113
|
-
writable: true,
|
|
114
|
-
configurable: true
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
118
|
-
}
|
|
11
|
+
const _topLevelMetaAssertion = /*#__PURE__*/ _interop_require_default(require("../topLevelMetaAssertion"));
|
|
12
|
+
const _elements = require("../../elements");
|
|
119
13
|
function _interop_require_default(obj) {
|
|
120
14
|
return obj && obj.__esModule ? obj : {
|
|
121
15
|
default: obj
|
|
122
16
|
};
|
|
123
17
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (object === null) break;
|
|
141
|
-
}
|
|
142
|
-
return object;
|
|
143
|
-
}
|
|
144
|
-
function _type_of(obj) {
|
|
145
|
-
"@swc/helpers - typeof";
|
|
146
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
147
|
-
}
|
|
148
|
-
function _is_native_reflect_construct() {
|
|
149
|
-
try {
|
|
150
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
151
|
-
} catch (_) {}
|
|
152
|
-
return (_is_native_reflect_construct = function() {
|
|
153
|
-
return !!result;
|
|
154
|
-
})();
|
|
155
|
-
}
|
|
156
|
-
function _ts_generator(thisArg, body) {
|
|
157
|
-
var f, y, t, _ = {
|
|
158
|
-
label: 0,
|
|
159
|
-
sent: function() {
|
|
160
|
-
if (t[0] & 1) throw t[1];
|
|
161
|
-
return t[1];
|
|
162
|
-
},
|
|
163
|
-
trys: [],
|
|
164
|
-
ops: []
|
|
165
|
-
}, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
166
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
167
|
-
return this;
|
|
168
|
-
}), g;
|
|
169
|
-
function verb(n) {
|
|
170
|
-
return function(v) {
|
|
171
|
-
return step([
|
|
172
|
-
n,
|
|
173
|
-
v
|
|
174
|
-
]);
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
function step(op) {
|
|
178
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
179
|
-
while(g && (g = 0, op[0] && (_ = 0)), _)try {
|
|
180
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
181
|
-
if (y = 0, t) op = [
|
|
182
|
-
op[0] & 2,
|
|
183
|
-
t.value
|
|
184
|
-
];
|
|
185
|
-
switch(op[0]){
|
|
186
|
-
case 0:
|
|
187
|
-
case 1:
|
|
188
|
-
t = op;
|
|
189
|
-
break;
|
|
190
|
-
case 4:
|
|
191
|
-
_.label++;
|
|
192
|
-
return {
|
|
193
|
-
value: op[1],
|
|
194
|
-
done: false
|
|
195
|
-
};
|
|
196
|
-
case 5:
|
|
197
|
-
_.label++;
|
|
198
|
-
y = op[1];
|
|
199
|
-
op = [
|
|
200
|
-
0
|
|
201
|
-
];
|
|
202
|
-
continue;
|
|
203
|
-
case 7:
|
|
204
|
-
op = _.ops.pop();
|
|
205
|
-
_.trys.pop();
|
|
206
|
-
continue;
|
|
207
|
-
default:
|
|
208
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
209
|
-
_ = 0;
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
213
|
-
_.label = op[1];
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
217
|
-
_.label = t[1];
|
|
218
|
-
t = op;
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
if (t && _.label < t[2]) {
|
|
222
|
-
_.label = t[2];
|
|
223
|
-
_.ops.push(op);
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
if (t[2]) _.ops.pop();
|
|
227
|
-
_.trys.pop();
|
|
228
|
-
continue;
|
|
229
|
-
}
|
|
230
|
-
op = body.call(thisArg, _);
|
|
231
|
-
} catch (e) {
|
|
232
|
-
op = [
|
|
233
|
-
6,
|
|
234
|
-
e
|
|
235
|
-
];
|
|
236
|
-
y = 0;
|
|
237
|
-
} finally{
|
|
238
|
-
f = t = 0;
|
|
18
|
+
const _default = (0, _elements.define)(class Metatheorem extends _topLevelMetaAssertion.default {
|
|
19
|
+
getMetatheoremNode() {
|
|
20
|
+
const node = this.getNode(), metatheoremNode = node; ///
|
|
21
|
+
return metatheoremNode;
|
|
22
|
+
}
|
|
23
|
+
async verify() {
|
|
24
|
+
let verifies;
|
|
25
|
+
const context = this.getContext();
|
|
26
|
+
await this.break(context);
|
|
27
|
+
const metaLemmaString = this.getString(); ///
|
|
28
|
+
context.trace(`Verifying the '${metaLemmaString}' metatheorem...`);
|
|
29
|
+
verifies = super.verify();
|
|
30
|
+
if (verifies) {
|
|
31
|
+
const metaTheorem = this; ///
|
|
32
|
+
context.addMetatheorem(metaTheorem);
|
|
33
|
+
context.debug(`...verified the '${metaLemmaString}' metatheorem.`);
|
|
239
34
|
}
|
|
240
|
-
|
|
241
|
-
return {
|
|
242
|
-
value: op[0] ? op[1] : void 0,
|
|
243
|
-
done: true
|
|
244
|
-
};
|
|
35
|
+
return verifies;
|
|
245
36
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
_inherits(Metatheorem, TopLevelMetaAssertion);
|
|
250
|
-
function Metatheorem() {
|
|
251
|
-
_class_call_check(this, Metatheorem);
|
|
252
|
-
return _call_super(this, Metatheorem, arguments);
|
|
37
|
+
static name = "Metatheorem";
|
|
38
|
+
static fromJSON(json, context) {
|
|
39
|
+
return _topLevelMetaAssertion.default.fromJSON(Metatheorem, json, context);
|
|
253
40
|
}
|
|
254
|
-
|
|
255
|
-
{
|
|
256
|
-
key: "getMetatheoremNode",
|
|
257
|
-
value: function getMetatheoremNode() {
|
|
258
|
-
var node = this.getNode(), metatheoremNode = node; ///
|
|
259
|
-
return metatheoremNode;
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
key: "verify",
|
|
264
|
-
value: function verify() {
|
|
265
|
-
var _this = this;
|
|
266
|
-
var _this1 = this, _superprop_get_verify = function() {
|
|
267
|
-
return _get(_get_prototype_of(Metatheorem.prototype), "verify", _this);
|
|
268
|
-
};
|
|
269
|
-
return _async_to_generator(function() {
|
|
270
|
-
var verifies, context, metaLemmaString, metaTheorem;
|
|
271
|
-
return _ts_generator(this, function(_state) {
|
|
272
|
-
switch(_state.label){
|
|
273
|
-
case 0:
|
|
274
|
-
context = this.getContext();
|
|
275
|
-
return [
|
|
276
|
-
4,
|
|
277
|
-
this.break(context)
|
|
278
|
-
];
|
|
279
|
-
case 1:
|
|
280
|
-
_state.sent();
|
|
281
|
-
metaLemmaString = this.getString(); ///
|
|
282
|
-
context.trace("Verifying the '".concat(metaLemmaString, "' metatheorem..."));
|
|
283
|
-
verifies = _superprop_get_verify().call(_this1);
|
|
284
|
-
if (verifies) {
|
|
285
|
-
metaTheorem = this; ///
|
|
286
|
-
context.addMetatheorem(metaTheorem);
|
|
287
|
-
context.debug("...verified the '".concat(metaLemmaString, "' metatheorem."));
|
|
288
|
-
}
|
|
289
|
-
return [
|
|
290
|
-
2,
|
|
291
|
-
verifies
|
|
292
|
-
];
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
}).call(this);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
], [
|
|
299
|
-
{
|
|
300
|
-
key: "fromJSON",
|
|
301
|
-
value: function fromJSON(json, context) {
|
|
302
|
-
return _topLevelMetaAssertion.default.fromJSON(Metatheorem, json, context);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
]);
|
|
306
|
-
return Metatheorem;
|
|
307
|
-
}(_topLevelMetaAssertion.default), _define_property(_Metatheorem, "name", "Metatheorem"), _Metatheorem));
|
|
41
|
+
});
|
|
308
42
|
|
|
309
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3RvcExldmVsTWV0YUFzc2VydGlvbi9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRvcExldmVsTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vdG9wTGV2ZWxNZXRhQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTWV0YXRoZW9yZW0gZXh0ZW5kcyBUb3BMZXZlbE1ldGFBc3NlcnRpb24ge1xuICBnZXRNZXRhdGhlb3JlbU5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF0aGVvcmVtTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtTm9kZTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXM7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICBhd2FpdCB0aGlzLmJyZWFrKGNvbnRleHQpO1xuXG4gICAgY29uc3QgbWV0YUxlbW1hU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFMZW1tYVN0cmluZ30nIG1ldGF0aGVvcmVtLi4uYCk7XG5cbiAgICB2ZXJpZmllcyA9IHN1cGVyLnZlcmlmeSgpO1xuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb25zdCBtZXRhVGhlb3JlbSA9IHRoaXM7IC8vL1xuXG4gICAgICBjb250ZXh0LmFkZE1ldGF0aGVvcmVtKG1ldGFUaGVvcmVtKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFMZW1tYVN0cmluZ30nIG1ldGF0aGVvcmVtLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJNZXRhdGhlb3JlbVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbE1ldGFBc3NlcnRpb24uZnJvbUpTT04oTWV0YXRoZW9yZW0sIGpzb24sIGNvbnRleHQpOyB9XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJNZXRhdGhlb3JlbSIsIlRvcExldmVsTWV0YUFzc2VydGlvbiIsImdldE1ldGF0aGVvcmVtTm9kZSIsIm5vZGUiLCJnZXROb2RlIiwibWV0YXRoZW9yZW1Ob2RlIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJjb250ZXh0IiwiZ2V0Q29udGV4dCIsImJyZWFrIiwibWV0YUxlbW1hU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJtZXRhVGhlb3JlbSIsImFkZE1ldGF0aGVvcmVtIiwiZGVidWciLCJuYW1lIiwiZnJvbUpTT04iLCJqc29uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7Ozs4RUFKa0M7MEJBRVg7Ozs7OztNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG9CQUFvQkMsOEJBQXFCO0lBQ25FQyxxQkFBcUI7UUFDbkIsTUFBTUMsT0FBTyxJQUFJLENBQUNDLE9BQU8sSUFDbkJDLGtCQUFrQkYsTUFBTSxHQUFHO1FBRWpDLE9BQU9FO0lBQ1Q7SUFFQSxNQUFNQyxTQUFTO1FBQ2IsSUFBSUM7UUFFSixNQUFNQyxVQUFVLElBQUksQ0FBQ0MsVUFBVTtRQUUvQixNQUFNLElBQUksQ0FBQ0MsS0FBSyxDQUFDRjtRQUVqQixNQUFNRyxrQkFBa0IsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUU3Q0osUUFBUUssS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFRixnQkFBZ0IsZ0JBQWdCLENBQUM7UUFFakVKLFdBQVcsS0FBSyxDQUFDRDtRQUVqQixJQUFJQyxVQUFVO1lBQ1osTUFBTU8sY0FBYyxJQUFJLEVBQUUsR0FBRztZQUU3Qk4sUUFBUU8sY0FBYyxDQUFDRDtZQUV2Qk4sUUFBUVEsS0FBSyxDQUFDLENBQUMsaUJBQWlCLEVBQUVMLGdCQUFnQixjQUFjLENBQUM7UUFDbkU7UUFFQSxPQUFPSjtJQUNUO0lBRUEsT0FBT1UsT0FBTyxjQUFjO0lBRTVCLE9BQU9DLFNBQVNDLElBQUksRUFBRVgsT0FBTyxFQUFFO1FBQUUsT0FBT1AsOEJBQXFCLENBQUNpQixRQUFRLENBQUNsQixhQUFhbUIsTUFBTVg7SUFBVTtBQUN0RyJ9
|