occam-verify-cli 1.0.383 → 1.0.385
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/action/verify.js +2 -1
- package/lib/context/file.js +2 -2
- package/lib/context/release.js +2 -2
- package/lib/mixins/statement/verify.js +3 -3
- package/lib/mixins/step/unify.js +4 -4
- package/lib/mixins/term/verify.js +4 -4
- package/lib/ontology/assertion/contained.js +316 -0
- package/lib/ontology/assertion/defined.js +290 -0
- package/lib/ontology/assertion/property.js +271 -0
- package/lib/ontology/assertion/satisfies.js +254 -0
- package/lib/ontology/assertion/subproof.js +186 -0
- package/lib/ontology/assertion/type.js +252 -0
- package/lib/{dom → ontology}/axiom.js +3 -3
- package/lib/{dom → ontology}/combinator/bracketed.js +4 -4
- package/lib/ontology/combinator.js +141 -0
- package/lib/ontology/conclusion.js +172 -0
- package/lib/{dom → ontology}/conjecture.js +3 -3
- package/lib/{dom → ontology}/constructor/bracketed.js +5 -5
- package/lib/ontology/constructor.js +171 -0
- package/lib/ontology/declaration/combinator.js +168 -0
- package/lib/ontology/declaration/complexType.js +346 -0
- package/lib/ontology/declaration/constructor.js +199 -0
- package/lib/ontology/declaration/metavariable.js +209 -0
- package/lib/ontology/declaration/simpleType.js +243 -0
- package/lib/ontology/declaration/typePrefix.js +181 -0
- package/lib/ontology/declaration/variable.js +197 -0
- package/lib/ontology/declaration.js +360 -0
- package/lib/ontology/deduction.js +186 -0
- package/lib/ontology/derivation.js +155 -0
- package/lib/ontology/equality.js +288 -0
- package/lib/{dom → ontology}/error.js +3 -3
- package/lib/ontology/frame.js +362 -0
- package/lib/ontology/hypothesis.js +190 -0
- package/lib/ontology/judgement.js +241 -0
- package/lib/ontology/label.js +199 -0
- package/lib/{dom → ontology}/lemma.js +3 -3
- package/lib/{dom → ontology}/metaLemma.js +3 -3
- package/lib/{dom → ontology}/metaType.js +3 -3
- package/lib/{dom → ontology}/metatheorem.js +3 -3
- package/lib/ontology/metavariable.js +504 -0
- package/lib/{dom → ontology}/parameter.js +3 -3
- package/lib/ontology/premise.js +271 -0
- package/lib/ontology/procedureCall.js +243 -0
- package/lib/{dom → ontology}/procedureReference.js +3 -3
- package/lib/{dom → ontology}/proof.js +4 -4
- package/lib/ontology/property.js +166 -0
- package/lib/ontology/propertyRelation.js +202 -0
- package/lib/ontology/reference.js +293 -0
- package/lib/ontology/rule.js +375 -0
- package/lib/ontology/section.js +255 -0
- package/lib/ontology/signature.js +220 -0
- package/lib/{dom → ontology}/statement.js +3 -3
- package/lib/ontology/step.js +283 -0
- package/lib/ontology/subDerivation.js +147 -0
- package/lib/ontology/subproof.js +266 -0
- package/lib/ontology/substitution/frame.js +216 -0
- package/lib/{dom → ontology}/substitution/reference.js +3 -3
- package/lib/{dom → ontology}/substitution/statement.js +3 -3
- package/lib/ontology/substitution/term.js +230 -0
- package/lib/ontology/substitution.js +207 -0
- package/lib/ontology/supposition.js +283 -0
- package/lib/ontology/term.js +339 -0
- package/lib/{dom → ontology}/theorem.js +3 -3
- package/lib/ontology/topLevelAssertion.js +432 -0
- package/lib/ontology/topLevelMetaAssertion.js +235 -0
- package/lib/ontology/type.js +556 -0
- package/lib/ontology/typePrefix.js +99 -0
- package/lib/ontology/variable.js +331 -0
- package/lib/ontology.js +27 -0
- package/lib/preamble.js +60 -60
- package/lib/unifier/intrinsicLevel.js +3 -3
- package/lib/unifier/metaLevel.js +7 -7
- package/lib/unifier/metavariable.js +3 -3
- package/lib/unifier/statementWithCombinator.js +5 -5
- package/lib/unifier/termWithConstructor.js +3 -3
- package/lib/utilities/brackets.js +5 -5
- package/lib/utilities/context.js +12 -12
- package/lib/utilities/fileSystem.js +2 -2
- package/lib/utilities/json.js +30 -30
- package/lib/utilities/node.js +7 -7
- package/lib/utilities/release.js +12 -4
- package/lib/utilities/releaseContext.js +1 -1
- package/lib/utilities/substitutions.js +6 -6
- package/lib/utilities/type.js +2 -2
- package/lib/verifier/combinator.js +4 -4
- package/lib/verifier/constructor.js +3 -3
- package/lib/verifier/topLevel.js +18 -18
- package/package.json +1 -1
- package/src/action/verify.js +2 -0
- package/src/context/file.js +1 -1
- package/src/context/release.js +1 -1
- package/src/mixins/statement/verify.js +2 -2
- package/src/mixins/step/unify.js +3 -3
- package/src/mixins/term/verify.js +3 -3
- package/src/{dom → ontology}/assertion/contained.js +4 -4
- package/src/{dom → ontology}/assertion/defined.js +6 -6
- package/src/{dom → ontology}/assertion/property.js +5 -5
- package/src/{dom → ontology}/assertion/satisfies.js +5 -5
- package/src/{dom → ontology}/assertion/subproof.js +4 -4
- package/src/{dom → ontology}/assertion/type.js +5 -5
- package/src/{dom → ontology}/axiom.js +2 -2
- package/src/{dom → ontology}/combinator/bracketed.js +4 -4
- package/src/{dom → ontology}/combinator.js +4 -4
- package/src/{dom → ontology}/conclusion.js +4 -4
- package/src/{dom → ontology}/conjecture.js +2 -2
- package/src/{dom → ontology}/constructor/bracketed.js +5 -5
- package/src/{dom → ontology}/constructor.js +5 -5
- package/src/{dom → ontology}/declaration/combinator.js +4 -4
- package/src/{dom → ontology}/declaration/complexType.js +4 -4
- package/src/{dom → ontology}/declaration/constructor.js +4 -4
- package/src/{dom → ontology}/declaration/metavariable.js +5 -5
- package/src/{dom → ontology}/declaration/simpleType.js +4 -4
- package/src/{dom → ontology}/declaration/typePrefix.js +4 -4
- package/src/{dom → ontology}/declaration/variable.js +4 -4
- package/src/{dom → ontology}/declaration.js +5 -5
- package/src/{dom → ontology}/deduction.js +4 -4
- package/src/{dom → ontology}/derivation.js +4 -4
- package/src/{dom → ontology}/equality.js +6 -6
- package/src/{dom → ontology}/error.js +2 -2
- package/src/{dom → ontology}/frame.js +6 -6
- package/src/{dom → ontology}/hypothesis.js +5 -6
- package/src/{dom → ontology}/judgement.js +5 -5
- package/src/{dom → ontology}/label.js +4 -4
- package/src/{dom → ontology}/lemma.js +2 -2
- package/src/{dom → ontology}/metaLemma.js +2 -2
- package/src/{dom → ontology}/metaType.js +2 -2
- package/src/{dom → ontology}/metatheorem.js +2 -2
- package/src/{dom → ontology}/metavariable.js +8 -8
- package/src/{dom → ontology}/parameter.js +2 -2
- package/src/{dom → ontology}/premise.js +5 -5
- package/src/{dom → ontology}/procedureCall.js +5 -5
- package/src/{dom → ontology}/procedureReference.js +2 -2
- package/src/{dom → ontology}/proof.js +4 -4
- package/src/{dom → ontology}/property.js +4 -4
- package/src/{dom → ontology}/propertyRelation.js +4 -4
- package/src/{dom → ontology}/reference.js +6 -6
- package/src/{dom → ontology}/rule.js +7 -7
- package/src/{dom → ontology}/section.js +8 -8
- package/src/{dom → ontology}/signature.js +4 -4
- package/src/{dom → ontology}/statement.js +2 -2
- package/src/{dom → ontology}/step.js +4 -4
- package/src/{dom → ontology}/subDerivation.js +4 -4
- package/src/{dom → ontology}/subproof.js +5 -5
- package/src/{dom → ontology}/substitution/frame.js +4 -4
- package/src/{dom → ontology}/substitution/reference.js +2 -2
- package/src/{dom → ontology}/substitution/statement.js +2 -2
- package/src/{dom → ontology}/substitution/term.js +5 -5
- package/src/{dom → ontology}/supposition.js +5 -5
- package/src/{dom → ontology}/term.js +6 -6
- package/src/{dom → ontology}/theorem.js +2 -2
- package/src/{dom → ontology}/topLevelAssertion.js +6 -6
- package/src/{dom → ontology}/topLevelMetaAssertion.js +2 -2
- package/src/{dom → ontology}/type.js +4 -4
- package/src/{dom → ontology}/typePrefix.js +3 -5
- package/src/{dom → ontology}/variable.js +6 -6
- package/src/ontology.js +13 -0
- package/src/preamble.js +59 -59
- package/src/unifier/intrinsicLevel.js +2 -2
- package/src/unifier/metaLevel.js +6 -6
- package/src/unifier/metavariable.js +2 -2
- package/src/unifier/statementWithCombinator.js +4 -4
- package/src/unifier/termWithConstructor.js +2 -2
- package/src/utilities/brackets.js +4 -4
- package/src/utilities/context.js +11 -11
- package/src/utilities/fileSystem.js +1 -1
- package/src/utilities/json.js +29 -29
- package/src/utilities/node.js +6 -6
- package/src/utilities/release.js +1 -1
- package/src/utilities/releaseContext.js +3 -3
- package/src/utilities/substitutions.js +5 -5
- package/src/utilities/type.js +1 -1
- package/src/verifier/combinator.js +3 -3
- package/src/verifier/constructor.js +2 -2
- package/src/verifier/topLevel.js +17 -17
- package/lib/dom/assertion/contained.js +0 -316
- package/lib/dom/assertion/defined.js +0 -290
- package/lib/dom/assertion/property.js +0 -271
- package/lib/dom/assertion/satisfies.js +0 -254
- package/lib/dom/assertion/subproof.js +0 -186
- package/lib/dom/assertion/type.js +0 -252
- package/lib/dom/combinator.js +0 -141
- package/lib/dom/conclusion.js +0 -172
- package/lib/dom/constructor.js +0 -171
- package/lib/dom/declaration/combinator.js +0 -168
- package/lib/dom/declaration/complexType.js +0 -346
- package/lib/dom/declaration/constructor.js +0 -199
- package/lib/dom/declaration/metavariable.js +0 -209
- package/lib/dom/declaration/simpleType.js +0 -243
- package/lib/dom/declaration/typePrefix.js +0 -181
- package/lib/dom/declaration/variable.js +0 -197
- package/lib/dom/declaration.js +0 -360
- package/lib/dom/deduction.js +0 -186
- package/lib/dom/derivation.js +0 -155
- package/lib/dom/equality.js +0 -288
- package/lib/dom/frame.js +0 -362
- package/lib/dom/hypothesis.js +0 -191
- package/lib/dom/judgement.js +0 -241
- package/lib/dom/label.js +0 -199
- package/lib/dom/metavariable.js +0 -504
- package/lib/dom/premise.js +0 -271
- package/lib/dom/procedureCall.js +0 -243
- package/lib/dom/property.js +0 -166
- package/lib/dom/propertyRelation.js +0 -202
- package/lib/dom/reference.js +0 -293
- package/lib/dom/rule.js +0 -375
- package/lib/dom/section.js +0 -255
- package/lib/dom/signature.js +0 -220
- package/lib/dom/step.js +0 -283
- package/lib/dom/subDerivation.js +0 -147
- package/lib/dom/subproof.js +0 -266
- package/lib/dom/substitution/frame.js +0 -216
- package/lib/dom/substitution/term.js +0 -230
- package/lib/dom/substitution.js +0 -207
- package/lib/dom/supposition.js +0 -283
- package/lib/dom/term.js +0 -339
- package/lib/dom/topLevelAssertion.js +0 -432
- package/lib/dom/topLevelMetaAssertion.js +0 -235
- package/lib/dom/type.js +0 -556
- package/lib/dom/typePrefix.js +0 -100
- package/lib/dom/variable.js +0 -331
- package/lib/dom.js +0 -27
- package/src/dom.js +0 -13
- /package/src/{dom → ontology}/substitution.js +0 -0
package/lib/dom/declaration.js
DELETED
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
12
|
-
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
13
|
-
var _unification = require("../utilities/unification");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
function _define_property(obj, key, value) {
|
|
34
|
-
if (key in obj) {
|
|
35
|
-
Object.defineProperty(obj, key, {
|
|
36
|
-
value: value,
|
|
37
|
-
enumerable: true,
|
|
38
|
-
configurable: true,
|
|
39
|
-
writable: true
|
|
40
|
-
});
|
|
41
|
-
} else {
|
|
42
|
-
obj[key] = value;
|
|
43
|
-
}
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
function _interop_require_default(obj) {
|
|
47
|
-
return obj && obj.__esModule ? obj : {
|
|
48
|
-
default: obj
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
52
|
-
if (typeof WeakMap !== "function") return null;
|
|
53
|
-
var cacheBabelInterop = new WeakMap();
|
|
54
|
-
var cacheNodeInterop = new WeakMap();
|
|
55
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
56
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
57
|
-
})(nodeInterop);
|
|
58
|
-
}
|
|
59
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
60
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
61
|
-
return obj;
|
|
62
|
-
}
|
|
63
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
64
|
-
return {
|
|
65
|
-
default: obj
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
69
|
-
if (cache && cache.has(obj)) {
|
|
70
|
-
return cache.get(obj);
|
|
71
|
-
}
|
|
72
|
-
var newObj = {
|
|
73
|
-
__proto__: null
|
|
74
|
-
};
|
|
75
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
76
|
-
for(var key in obj){
|
|
77
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
78
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
79
|
-
if (desc && (desc.get || desc.set)) {
|
|
80
|
-
Object.defineProperty(newObj, key, desc);
|
|
81
|
-
} else {
|
|
82
|
-
newObj[key] = obj[key];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
newObj.default = obj;
|
|
87
|
-
if (cache) {
|
|
88
|
-
cache.set(obj, newObj);
|
|
89
|
-
}
|
|
90
|
-
return newObj;
|
|
91
|
-
}
|
|
92
|
-
var _Declaration;
|
|
93
|
-
var _default = (0, _dom.domAssigned)((_Declaration = /*#__PURE__*/ function() {
|
|
94
|
-
function Declaration(string, node, statement, metavariable) {
|
|
95
|
-
_class_call_check(this, Declaration);
|
|
96
|
-
this.string = string;
|
|
97
|
-
this.node = node;
|
|
98
|
-
this.statement = statement;
|
|
99
|
-
this.metavariable = metavariable;
|
|
100
|
-
}
|
|
101
|
-
_create_class(Declaration, [
|
|
102
|
-
{
|
|
103
|
-
key: "getString",
|
|
104
|
-
value: function getString() {
|
|
105
|
-
return this.string;
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
key: "getNode",
|
|
110
|
-
value: function getNode() {
|
|
111
|
-
return this.node;
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
key: "getStatement",
|
|
116
|
-
value: function getStatement() {
|
|
117
|
-
return this.statement;
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
key: "getMetavariable",
|
|
122
|
-
value: function getMetavariable() {
|
|
123
|
-
return this.metavariable;
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
key: "isSimple",
|
|
128
|
-
value: function isSimple() {
|
|
129
|
-
var simple = this.statement === null;
|
|
130
|
-
return simple;
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
key: "matchSubstitution",
|
|
135
|
-
value: function matchSubstitution(substitution, context) {
|
|
136
|
-
var substitutionMatches = false;
|
|
137
|
-
var declarationString = this.string, substitutionString = substitution.getString();
|
|
138
|
-
context.trace("Matching the '".concat(substitutionString, "' substitution against the '").concat(declarationString, "' declaration..."));
|
|
139
|
-
var simple = this.isSimple();
|
|
140
|
-
if (simple) {
|
|
141
|
-
var judgement = context.findJudgementByMetavariable(this.metavariable);
|
|
142
|
-
if (judgement !== null) {
|
|
143
|
-
var declaration = judgement.getDeclaration();
|
|
144
|
-
substitutionMatches = declaration.matchSubstitution(substitution, context);
|
|
145
|
-
}
|
|
146
|
-
} else {
|
|
147
|
-
var statement = substitution.getStatement(), metavariable = substitution.getMetavariable(), statementEqualToStatement = this.statement.isEqualTo(statement), metavariableEqualToMetavariable = this.metavariable.isEqualTo(metavariable);
|
|
148
|
-
if (metavariableEqualToMetavariable && statementEqualToStatement) {
|
|
149
|
-
substitutionMatches = true;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
if (substitutionMatches) {
|
|
153
|
-
context.debug("...matches the '".concat(declarationString, "' substitution against the '").concat(substitutionString, "' declaration."));
|
|
154
|
-
}
|
|
155
|
-
return substitutionMatches;
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
key: "verify",
|
|
160
|
-
value: function verify(assignments, stated, context) {
|
|
161
|
-
var verifies = false;
|
|
162
|
-
var declarationString = this.string; ///
|
|
163
|
-
context.trace("Verifying the '".concat(declarationString, "' declaration..."));
|
|
164
|
-
var simple = this.isSimple();
|
|
165
|
-
if (simple) {
|
|
166
|
-
var verifiesAsMetavariable = this.verifyAsMetavariable(assignments, stated, context);
|
|
167
|
-
verifies = verifiesAsMetavariable; ///
|
|
168
|
-
} else {
|
|
169
|
-
var metavariableVerifiesAsReference = this.verifyMetavariableAsReference(assignments, stated, context);
|
|
170
|
-
if (metavariableVerifiesAsReference) {
|
|
171
|
-
var statementVerifies = this.verifyStatement(assignments, stated, context);
|
|
172
|
-
if (statementVerifies) {
|
|
173
|
-
var verifiesWhenStated = false, verifiesWhenDerived = false;
|
|
174
|
-
if (stated) {
|
|
175
|
-
verifiesWhenStated = this.verifyWhenStated(assignments, context);
|
|
176
|
-
} else {
|
|
177
|
-
verifiesWhenDerived = this.verifyWhenDerived(context);
|
|
178
|
-
}
|
|
179
|
-
if (verifiesWhenStated || verifiesWhenDerived) {
|
|
180
|
-
verifies = true;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
if (verifies) {
|
|
185
|
-
context.debug("...verified the '".concat(declarationString, "' declaration."));
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
return verifies;
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
key: "verifyMetavariableAsReference",
|
|
193
|
-
value: function verifyMetavariableAsReference(assignments, stated, context) {
|
|
194
|
-
var metavariableVerifiesAsReference;
|
|
195
|
-
var declarationString = this.string, metavariableString = this.metavariable.getString();
|
|
196
|
-
context.trace("Verifying the '".concat(declarationString, "' declaration's '").concat(metavariableString, "' metavariable as a reference..."));
|
|
197
|
-
var reference = referenceFromMetavariable(this.metavariable, context), referenceVerifies = reference.verify(context);
|
|
198
|
-
metavariableVerifiesAsReference = referenceVerifies; ///
|
|
199
|
-
if (metavariableVerifiesAsReference) {
|
|
200
|
-
context.debug("...verified the '".concat(declarationString, "' declaration's '").concat(metavariableString, "' metavariable as a reference."));
|
|
201
|
-
}
|
|
202
|
-
return metavariableVerifiesAsReference;
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
key: "verifyStatement",
|
|
207
|
-
value: function verifyStatement(assignments, stated, context) {
|
|
208
|
-
var statementVerifies;
|
|
209
|
-
if (this.statement === null) {
|
|
210
|
-
statementVerifies = true;
|
|
211
|
-
} else {
|
|
212
|
-
var statementString = this.statement.getString();
|
|
213
|
-
context.trace("Verifying the '".concat(statementString, "' statement..."));
|
|
214
|
-
stated = true; ///
|
|
215
|
-
assignments = null; ///
|
|
216
|
-
statementVerifies = this.statement.verify(assignments, stated, context);
|
|
217
|
-
if (statementVerifies) {
|
|
218
|
-
context.debug("...verified the '".concat(statementString, "' statement."));
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
return statementVerifies;
|
|
222
|
-
}
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
key: "verifyAsMetavariable",
|
|
226
|
-
value: function verifyAsMetavariable(assignments, stated, context) {
|
|
227
|
-
var verifiesAsMetavariable;
|
|
228
|
-
var declarationString = this.string, metavariableString = this.metavariable.getString();
|
|
229
|
-
context.trace("Verifying the '".concat(declarationString, "' declaration's '").concat(metavariableString, "' metavariable..."));
|
|
230
|
-
verifiesAsMetavariable = this.metavariable.verify(context);
|
|
231
|
-
if (verifiesAsMetavariable) {
|
|
232
|
-
context.debug("...verified the '".concat(declarationString, "' declaration's '").concat(metavariableString, "' metavariable."));
|
|
233
|
-
}
|
|
234
|
-
return verifiesAsMetavariable;
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
key: "verifyWhenStated",
|
|
239
|
-
value: function verifyWhenStated(assignments, context) {
|
|
240
|
-
var _this = this;
|
|
241
|
-
var verifiesWhenStated;
|
|
242
|
-
var declarationString = this.string; ///
|
|
243
|
-
context.trace("Verifying the '".concat(declarationString, "' stated declaration..."));
|
|
244
|
-
var reference = referenceFromMetavariable(this.metavariable, context), metavariablePresent = context.isMetavariablePresentByReference(reference);
|
|
245
|
-
if (metavariablePresent) {
|
|
246
|
-
verifiesWhenStated = true;
|
|
247
|
-
} else {
|
|
248
|
-
var metaLemmaMetatheorems = context.findMetaLemmaMetatheoremsByReference(reference), metaLemmaMetatheoremsUnify = metaLemmaMetatheorems.every(function(metaLemmaMetatheorem) {
|
|
249
|
-
var metaLemmaMetatheoremUnifies = _this.unifyMetaLemmaMetatheorem(metaLemmaMetatheorem, context);
|
|
250
|
-
if (metaLemmaMetatheoremUnifies) {
|
|
251
|
-
return true;
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
verifiesWhenStated = metaLemmaMetatheoremsUnify; ///
|
|
255
|
-
}
|
|
256
|
-
if (verifiesWhenStated) {
|
|
257
|
-
context.debug("...verified the '".concat(declarationString, "' stated declaration."));
|
|
258
|
-
}
|
|
259
|
-
return verifiesWhenStated;
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
key: "verifyWhenDerived",
|
|
264
|
-
value: function verifyWhenDerived(context) {
|
|
265
|
-
var verifiesWhenDerived;
|
|
266
|
-
var declarationString = this.string; ///
|
|
267
|
-
context.trace("Verifying the '".concat(declarationString, "' derived declaration..."));
|
|
268
|
-
var reference = referenceFromMetavariable(this.metavariable, context), metaLemmaMetatheoremPresent = context.isMetaLemmaMetatheoremPresentByReference(reference);
|
|
269
|
-
verifiesWhenDerived = metaLemmaMetatheoremPresent; ///
|
|
270
|
-
if (verifiesWhenDerived) {
|
|
271
|
-
context.debug("...verified the '".concat(declarationString, "' derived declaration."));
|
|
272
|
-
}
|
|
273
|
-
return verifiesWhenDerived;
|
|
274
|
-
}
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
key: "unifyStatement",
|
|
278
|
-
value: function unifyStatement(statement, substitutions, generalContext, specificContext) {
|
|
279
|
-
var statementUnifies;
|
|
280
|
-
var simple = this.isSimple();
|
|
281
|
-
if (simple) {
|
|
282
|
-
statementUnifies = false;
|
|
283
|
-
} else {
|
|
284
|
-
var context = generalContext, statementString = statement.getString(), declarationStatementString = this.statement.getString();
|
|
285
|
-
context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(declarationStatementString, "' statement..."));
|
|
286
|
-
var generalStatement = this.statement, specificStatement = statement, statementUUnifiesIntrinsically = (0, _unification.unifyStatementIntrinsically)(generalStatement, specificStatement, substitutions, generalContext, specificContext);
|
|
287
|
-
statementUnifies = statementUUnifiesIntrinsically; ///
|
|
288
|
-
if (statementUnifies) {
|
|
289
|
-
context.debug("...unified the '".concat(statementString, "' statement with the '").concat(declarationStatementString, "' statement."));
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
return statementUnifies;
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
key: "unifyLabel",
|
|
297
|
-
value: function unifyLabel(label, substitutions, generalContext, specificContext) {
|
|
298
|
-
var labelUnifiesWithReference;
|
|
299
|
-
var context = generalContext, labelString = label.getString(), declarationString = this.string; //;/
|
|
300
|
-
context.trace("Unifying the '".concat(labelString, "' label with the '").concat(declarationString, "' declaration..."));
|
|
301
|
-
var reference = referenceFromMetavariable(this.metavariable, context), labelUnifies = reference.unifyLabel(label, substitutions, context);
|
|
302
|
-
labelUnifiesWithReference = labelUnifies; ///
|
|
303
|
-
if (labelUnifiesWithReference) {
|
|
304
|
-
context.debug("...unified the '".concat(labelString, "' label with the '").concat(declarationString, "' declaration."));
|
|
305
|
-
}
|
|
306
|
-
return labelUnifiesWithReference;
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
|
-
{
|
|
310
|
-
key: "unifyMetaLemmaMetatheorem",
|
|
311
|
-
value: function unifyMetaLemmaMetatheorem(metaLemmaMetatheorem, context) {
|
|
312
|
-
var metaLemmaMetatheoremUnifies = false;
|
|
313
|
-
var declarationString = this.string, metaLemmaMetatheoremString = metaLemmaMetatheorem.getString();
|
|
314
|
-
context.trace("Unifying the '".concat(metaLemmaMetatheoremString, "' meta-lemma or metatheorem with the '").concat(declarationString, "' declaration..."));
|
|
315
|
-
var generalContext = context; ///
|
|
316
|
-
context = metaLemmaMetatheorem.getContext(); ///
|
|
317
|
-
var specificContext = context, labelSubstitutions = _substitutions.default.fromNothing(), label = metaLemmaMetatheorem.getLabel(), substitutions = labelSubstitutions, labelUnifies = this.unifyLabel(label, substitutions, generalContext, specificContext);
|
|
318
|
-
if (labelUnifies) {
|
|
319
|
-
var statementSubstitutions = _substitutions.default.fromNothing(), statement = metaLemmaMetatheorem.getStatement(), substitutions1 = statementSubstitutions, statementUUnifies = this.unifyStatement(statement, substitutions1, generalContext, specificContext);
|
|
320
|
-
if (statementUUnifies) {
|
|
321
|
-
var labelSubstitutionsCorrelateStatementSubstitutions = labelSubstitutions.correlateSubstitutions(statementSubstitutions);
|
|
322
|
-
if (labelSubstitutionsCorrelateStatementSubstitutions) {
|
|
323
|
-
metaLemmaMetatheoremUnifies = true; ///
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
if (metaLemmaMetatheoremUnifies) {
|
|
328
|
-
context.trace("...unified the '".concat(metaLemmaMetatheoremString, "' meta-lemma or metatheorem with the '").concat(declarationString, "' declaration..."));
|
|
329
|
-
}
|
|
330
|
-
return metaLemmaMetatheoremUnifies;
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
], [
|
|
334
|
-
{
|
|
335
|
-
key: "fromJudgementNode",
|
|
336
|
-
value: function fromJudgementNode(judgementNode, context) {
|
|
337
|
-
var declarationNode = judgementNode.getDeclarationNode(), declaration = declarationFromDeclarationNode(declarationNode, context);
|
|
338
|
-
return declaration;
|
|
339
|
-
}
|
|
340
|
-
},
|
|
341
|
-
{
|
|
342
|
-
key: "fromDeclarationNode",
|
|
343
|
-
value: function fromDeclarationNode(declarationNode, context) {
|
|
344
|
-
var declaration = declarationFromDeclarationNode(declarationNode, context);
|
|
345
|
-
return declaration;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
]);
|
|
349
|
-
return Declaration;
|
|
350
|
-
}(), _define_property(_Declaration, "name", "Declaration"), _Declaration));
|
|
351
|
-
function referenceFromMetavariable(metavariable, context) {
|
|
352
|
-
var Reference = _dom.default.Reference, metavariableNode = metavariable.getNode(), reference = Reference.fromMetavariableNode(metavariableNode, context);
|
|
353
|
-
return reference;
|
|
354
|
-
}
|
|
355
|
-
function declarationFromDeclarationNode(declarationNode, context) {
|
|
356
|
-
var Metavariable = _dom.default.Metavariable, Declaration = _dom.default.Declaration, Statement = _dom.default.Statement, node = declarationNode, string = context.nodeAsString(node), metavariable = Metavariable.fromDeclarationNode(declarationNode, context), statement = Statement.fromDeclarationNode(declarationNode, context), declaration = new Declaration(string, node, statement, metavariable);
|
|
357
|
-
return declaration;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4uL3N1YnN0aXR1dGlvbnNcIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyB1bmlmeVN0YXRlbWVudEludHJpbnNpY2FsbHkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIERlY2xhcmF0aW9uIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBub2RlLCBzdGF0ZW1lbnQsIG1ldGF2YXJpYWJsZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gICAgdGhpcy5tZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGU7XG4gIH1cblxuICBpc1NpbXBsZSgpIHtcbiAgICBjb25zdCBzaW1wbGUgPSAodGhpcy5zdGF0ZW1lbnQgPT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHNpbXBsZTtcbiAgfVxuXG4gIG1hdGNoU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgY29udGV4dCkge1xuICAgIGxldCBzdWJzdGl0dXRpb25NYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgTWF0Y2hpbmcgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbiBhZ2FpbnN0IHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBzaW1wbGUgPSB0aGlzLmlzU2ltcGxlKCk7XG5cbiAgICBpZiAoc2ltcGxlKSB7XG4gICAgICBjb25zdCBqdWRnZW1lbnQgPSBjb250ZXh0LmZpbmRKdWRnZW1lbnRCeU1ldGF2YXJpYWJsZSh0aGlzLm1ldGF2YXJpYWJsZSk7XG5cbiAgICAgIGlmIChqdWRnZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSBqdWRnZW1lbnQuZ2V0RGVjbGFyYXRpb24oKTtcblxuICAgICAgICBzdWJzdGl0dXRpb25NYXRjaGVzID0gZGVjbGFyYXRpb24ubWF0Y2hTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RhdGVtZW50ID0gc3Vic3RpdHV0aW9uLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlID0gc3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZSgpLFxuICAgICAgICAgICAgc3RhdGVtZW50RXF1YWxUb1N0YXRlbWVudCA9IHRoaXMuc3RhdGVtZW50LmlzRXF1YWxUbyhzdGF0ZW1lbnQpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlRXF1YWxUb01ldGF2YXJpYWJsZSA9IHRoaXMubWV0YXZhcmlhYmxlLmlzRXF1YWxUbyhtZXRhdmFyaWFibGUpO1xuXG4gICAgICBpZiAobWV0YXZhcmlhYmxlRXF1YWxUb01ldGF2YXJpYWJsZSAmJiBzdGF0ZW1lbnRFcXVhbFRvU3RhdGVtZW50KSB7XG4gICAgICAgIHN1YnN0aXR1dGlvbk1hdGNoZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5tYXRjaGVzIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbiBhZ2FpbnN0IHRoZSAnJHtzdWJzdGl0dXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIHZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uLi5gKTtcblxuICAgIGNvbnN0IHNpbXBsZSA9IHRoaXMuaXNTaW1wbGUoKTtcblxuICAgIGlmIChzaW1wbGUpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVzQXNNZXRhdmFyaWFibGUgPSB0aGlzLnZlcmlmeUFzTWV0YXZhcmlhYmxlKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICB2ZXJpZmllcyA9IHZlcmlmaWVzQXNNZXRhdmFyaWFibGU7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVWZXJpZmllc0FzUmVmZXJlbmNlID0gdGhpcy52ZXJpZnlNZXRhdmFyaWFibGVBc1JlZmVyZW5jZShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVzQXNSZWZlcmVuY2UpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZXMgPSB0aGlzLnZlcmlmeVN0YXRlbWVudChhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZXMpIHtcbiAgICAgICAgICBsZXQgdmVyaWZpZXNXaGVuU3RhdGVkID0gZmFsc2UsXG4gICAgICAgICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChzdGF0ZWQpIHtcbiAgICAgICAgICAgIHZlcmlmaWVzV2hlblN0YXRlZCA9IHRoaXMudmVyaWZ5V2hlblN0YXRlZChhc3NpZ25tZW50cywgY29udGV4dCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSB0aGlzLnZlcmlmeVdoZW5EZXJpdmVkKGNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh2ZXJpZmllc1doZW5TdGF0ZWQgfHwgdmVyaWZpZXNXaGVuRGVyaXZlZCkge1xuICAgICAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXZhcmlhYmxlQXNSZWZlcmVuY2UoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBtZXRhdmFyaWFibGVWZXJpZmllc0FzUmVmZXJlbmNlO1xuXG4gICAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLnN0cmluZyxcbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSB0aGlzLm1ldGF2YXJpYWJsZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbidzICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBhcyBhIHJlZmVyZW5jZS4uLmApO1xuXG4gICAgY29uc3QgcmVmZXJlbmNlID0gcmVmZXJlbmNlRnJvbU1ldGF2YXJpYWJsZSh0aGlzLm1ldGF2YXJpYWJsZSwgY29udGV4dCksXG4gICAgICAgICAgcmVmZXJlbmNlVmVyaWZpZXMgPSByZWZlcmVuY2UudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgbWV0YXZhcmlhYmxlVmVyaWZpZXNBc1JlZmVyZW5jZSA9IHJlZmVyZW5jZVZlcmlmaWVzOyAgLy8vXG5cbiAgICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZXNBc1JlZmVyZW5jZSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24ncyAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgYXMgYSByZWZlcmVuY2UuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZVZlcmlmaWVzQXNSZWZlcmVuY2U7XG4gIH1cblxuICB2ZXJpZnlTdGF0ZW1lbnQoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRWZXJpZmllcztcblxuICAgIGlmICh0aGlzLnN0YXRlbWVudCA9PT0gbnVsbCkge1xuICAgICAgc3RhdGVtZW50VmVyaWZpZXMgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gKTtcblxuICAgICAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gICAgICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gICAgICBzdGF0ZW1lbnRWZXJpZmllcyA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVzKSB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5QXNNZXRhdmFyaWFibGUoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllc0FzTWV0YXZhcmlhYmxlO1xuXG4gICAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLnN0cmluZywgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMubWV0YXZhcmlhYmxlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlY2xhcmF0aW9uJ3MgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgICB2ZXJpZmllc0FzTWV0YXZhcmlhYmxlID0gdGhpcy5tZXRhdmFyaWFibGUudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgaWYgKHZlcmlmaWVzQXNNZXRhdmFyaWFibGUpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlY2xhcmF0aW9uJ3MgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllc0FzTWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgdmVyaWZ5V2hlblN0YXRlZChhc3NpZ25tZW50cywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllc1doZW5TdGF0ZWQ7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgc3RhdGVkIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCByZWZlcmVuY2UgPSByZWZlcmVuY2VGcm9tTWV0YXZhcmlhYmxlKHRoaXMubWV0YXZhcmlhYmxlLCBjb250ZXh0KSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeVJlZmVyZW5jZShyZWZlcmVuY2UpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIHZlcmlmaWVzV2hlblN0YXRlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1ldGFMZW1tYU1ldGF0aGVvcmVtcyA9IGNvbnRleHQuZmluZE1ldGFMZW1tYU1ldGF0aGVvcmVtc0J5UmVmZXJlbmNlKHJlZmVyZW5jZSksXG4gICAgICAgICAgICBtZXRhTGVtbWFNZXRhdGhlb3JlbXNVbmlmeSA9IG1ldGFMZW1tYU1ldGF0aGVvcmVtcy5ldmVyeSgobWV0YUxlbW1hTWV0YXRoZW9yZW0pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0YUxlbW1hTWV0YXRoZW9yZW1VbmlmaWVzID0gdGhpcy51bmlmeU1ldGFMZW1tYU1ldGF0aGVvcmVtKG1ldGFMZW1tYU1ldGF0aGVvcmVtLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAobWV0YUxlbW1hTWV0YXRoZW9yZW1VbmlmaWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICB2ZXJpZmllc1doZW5TdGF0ZWQgPSBtZXRhTGVtbWFNZXRhdGhlb3JlbXNVbmlmeTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVzV2hlblN0YXRlZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgc3RhdGVkIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllc1doZW5TdGF0ZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVyaXZlZChjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzV2hlbkRlcml2ZWQ7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVyaXZlZCBkZWNsYXJhdGlvbi4uLmApO1xuXG4gICAgY29uc3QgcmVmZXJlbmNlID0gcmVmZXJlbmNlRnJvbU1ldGF2YXJpYWJsZSh0aGlzLm1ldGF2YXJpYWJsZSwgY29udGV4dCksXG4gICAgICAgICAgbWV0YUxlbW1hTWV0YXRoZW9yZW1QcmVzZW50ID0gY29udGV4dC5pc01ldGFMZW1tYU1ldGF0aGVvcmVtUHJlc2VudEJ5UmVmZXJlbmNlKHJlZmVyZW5jZSk7XG5cbiAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gbWV0YUxlbW1hTWV0YXRoZW9yZW1QcmVzZW50OyAvLy9cblxuICAgIGlmICh2ZXJpZmllc1doZW5EZXJpdmVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZXJpdmVkIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllc1doZW5EZXJpdmVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZXM7XG5cbiAgICBjb25zdCBzaW1wbGUgPSB0aGlzLmlzU2ltcGxlKCk7XG5cbiAgICBpZiAoc2ltcGxlKSB7XG4gICAgICBzdGF0ZW1lbnRVbmlmaWVzID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBnZW5lcmFsQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgICAgZGVjbGFyYXRpb25TdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtkZWNsYXJhdGlvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgICBjb25zdCBnZW5lcmFsU3RhdGVtZW50ID0gdGhpcy5zdGF0ZW1lbnQsXG4gICAgICAgICAgICBzcGVjaWZpY1N0YXRlbWVudCA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50VVVuaWZpZXNJbnRyaW5zaWNhbGx5ID0gdW5pZnlTdGF0ZW1lbnRJbnRyaW5zaWNhbGx5KGdlbmVyYWxTdGF0ZW1lbnQsIHNwZWNpZmljU3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllcyA9IHN0YXRlbWVudFVVbmlmaWVzSW50cmluc2ljYWxseTsgIC8vL1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7ZGVjbGFyYXRpb25TdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gIH1cblxuICB1bmlmeUxhYmVsKGxhYmVsLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IGxhYmVsVW5pZmllc1dpdGhSZWZlcmVuY2U7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQsIC8vL1xuICAgICAgICAgIGxhYmVsU3RyaW5nID0gbGFiZWwuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgZGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vOy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtsYWJlbFN0cmluZ30nIGxhYmVsIHdpdGggdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uLi5gKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHJlZmVyZW5jZUZyb21NZXRhdmFyaWFibGUodGhpcy5tZXRhdmFyaWFibGUsIGNvbnRleHQpLFxuICAgICAgICAgIGxhYmVsVW5pZmllcyA9IHJlZmVyZW5jZS51bmlmeUxhYmVsKGxhYmVsLCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgIGxhYmVsVW5pZmllc1dpdGhSZWZlcmVuY2UgPSBsYWJlbFVuaWZpZXM7IC8vL1xuXG4gICAgaWYgKGxhYmVsVW5pZmllc1dpdGhSZWZlcmVuY2UpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke2xhYmVsU3RyaW5nfScgbGFiZWwgd2l0aCB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGFiZWxVbmlmaWVzV2l0aFJlZmVyZW5jZTtcbiAgfVxuXG4gIHVuaWZ5TWV0YUxlbW1hTWV0YXRoZW9yZW0obWV0YUxlbW1hTWV0YXRoZW9yZW0sIGNvbnRleHQpIHtcbiAgICBsZXQgbWV0YUxlbW1hTWV0YXRoZW9yZW1VbmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nLCAgLy8vXG4gICAgICAgICAgbWV0YUxlbW1hTWV0YXRoZW9yZW1TdHJpbmcgPSBtZXRhTGVtbWFNZXRhdGhlb3JlbS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHttZXRhTGVtbWFNZXRhdGhlb3JlbVN0cmluZ30nIG1ldGEtbGVtbWEgb3IgbWV0YXRoZW9yZW0gd2l0aCB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi4uLmApO1xuXG4gICAgY29uc3QgZ2VuZXJhbENvbnRleHQgPSBjb250ZXh0OyAvLy9cblxuICAgIGNvbnRleHQgPSBtZXRhTGVtbWFNZXRhdGhlb3JlbS5nZXRDb250ZXh0KCk7ICAvLy9cblxuICAgIGNvbnN0IHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICBsYWJlbFN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbGFiZWwgPSBtZXRhTGVtbWFNZXRhdGhlb3JlbS5nZXRMYWJlbCgpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBsYWJlbFN1YnN0aXR1dGlvbnMsIC8vL1xuICAgICAgICAgIGxhYmVsVW5pZmllcyA9IHRoaXMudW5pZnlMYWJlbChsYWJlbCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAobGFiZWxVbmlmaWVzKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRTdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpLFxuICAgICAgICAgICAgc3RhdGVtZW50ID0gbWV0YUxlbW1hTWV0YXRoZW9yZW0uZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gc3RhdGVtZW50U3Vic3RpdHV0aW9ucywgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnRVVW5pZmllcyA9IHRoaXMudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVVbmlmaWVzKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsU3Vic3RpdHV0aW9uc0NvcnJlbGF0ZVN0YXRlbWVudFN1YnN0aXR1dGlvbnMgPSBsYWJlbFN1YnN0aXR1dGlvbnMuY29ycmVsYXRlU3Vic3RpdHV0aW9ucyhzdGF0ZW1lbnRTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBpZiAobGFiZWxTdWJzdGl0dXRpb25zQ29ycmVsYXRlU3RhdGVtZW50U3Vic3RpdHV0aW9ucykge1xuICAgICAgICAgIG1ldGFMZW1tYU1ldGF0aGVvcmVtVW5pZmllcyA9IHRydWU7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1ldGFMZW1tYU1ldGF0aGVvcmVtVW5pZmllcykge1xuICAgICAgY29udGV4dC50cmFjZShgLi4udW5pZmllZCB0aGUgJyR7bWV0YUxlbW1hTWV0YXRoZW9yZW1TdHJpbmd9JyBtZXRhLWxlbW1hIG9yIG1ldGF0aGVvcmVtIHdpdGggdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uLi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YUxlbW1hTWV0YXRoZW9yZW1VbmlmaWVzO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkRlY2xhcmF0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21KdWRnZW1lbnROb2RlKGp1ZGdlbWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBkZWNsYXJhdGlvbk5vZGUgPSBqdWRnZW1lbnROb2RlLmdldERlY2xhcmF0aW9uTm9kZSgpLFxuICAgICAgICAgIGRlY2xhcmF0aW9uID0gZGVjbGFyYXRpb25Gcm9tRGVjbGFyYXRpb25Ob2RlKGRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZGVjbGFyYXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbURlY2xhcmF0aW9uTm9kZShkZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBkZWNsYXJhdGlvbiA9IGRlY2xhcmF0aW9uRnJvbURlY2xhcmF0aW9uTm9kZShkZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGRlY2xhcmF0aW9uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gcmVmZXJlbmNlRnJvbU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBSZWZlcmVuY2UgfSA9IGRvbSxcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZS5nZXROb2RlKCksXG4gICAgICAgIHJlZmVyZW5jZSA9IFJlZmVyZW5jZS5mcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICByZXR1cm4gcmVmZXJlbmNlO1xufVxuXG5mdW5jdGlvbiBkZWNsYXJhdGlvbkZyb21EZWNsYXJhdGlvbk5vZGUoZGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgTWV0YXZhcmlhYmxlLCBEZWNsYXJhdGlvbiwgU3RhdGVtZW50IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBkZWNsYXJhdGlvbk5vZGUsICAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tRGVjbGFyYXRpb25Ob2RlKGRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tRGVjbGFyYXRpb25Ob2RlKGRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgIGRlY2xhcmF0aW9uID0gbmV3IERlY2xhcmF0aW9uKHN0cmluZywgbm9kZSwgc3RhdGVtZW50LCBtZXRhdmFyaWFibGUpO1xuXG4gIHJldHVybiBkZWNsYXJhdGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIkRlY2xhcmF0aW9uIiwic3RyaW5nIiwibm9kZSIsInN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZSIsImdldFN0cmluZyIsImdldE5vZGUiLCJnZXRTdGF0ZW1lbnQiLCJnZXRNZXRhdmFyaWFibGUiLCJpc1NpbXBsZSIsInNpbXBsZSIsIm1hdGNoU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uIiwiY29udGV4dCIsInN1YnN0aXR1dGlvbk1hdGNoZXMiLCJkZWNsYXJhdGlvblN0cmluZyIsInN1YnN0aXR1dGlvblN0cmluZyIsInRyYWNlIiwianVkZ2VtZW50IiwiZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlIiwiZGVjbGFyYXRpb24iLCJnZXREZWNsYXJhdGlvbiIsInN0YXRlbWVudEVxdWFsVG9TdGF0ZW1lbnQiLCJpc0VxdWFsVG8iLCJtZXRhdmFyaWFibGVFcXVhbFRvTWV0YXZhcmlhYmxlIiwiZGVidWciLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsInZlcmlmaWVzIiwidmVyaWZpZXNBc01ldGF2YXJpYWJsZSIsInZlcmlmeUFzTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlVmVyaWZpZXNBc1JlZmVyZW5jZSIsInZlcmlmeU1ldGF2YXJpYWJsZUFzUmVmZXJlbmNlIiwic3RhdGVtZW50VmVyaWZpZXMiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJ2ZXJpZmllc1doZW5TdGF0ZWQiLCJ2ZXJpZmllc1doZW5EZXJpdmVkIiwidmVyaWZ5V2hlblN0YXRlZCIsInZlcmlmeVdoZW5EZXJpdmVkIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwicmVmZXJlbmNlIiwicmVmZXJlbmNlRnJvbU1ldGF2YXJpYWJsZSIsInJlZmVyZW5jZVZlcmlmaWVzIiwic3RhdGVtZW50U3RyaW5nIiwibWV0YXZhcmlhYmxlUHJlc2VudCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5UmVmZXJlbmNlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW1zIiwiZmluZE1ldGFMZW1tYU1ldGF0aGVvcmVtc0J5UmVmZXJlbmNlIiwibWV0YUxlbW1hTWV0YXRoZW9yZW1zVW5pZnkiLCJldmVyeSIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtIiwibWV0YUxlbW1hTWV0YXRoZW9yZW1VbmlmaWVzIiwidW5pZnlNZXRhTGVtbWFNZXRhdGhlb3JlbSIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtUHJlc2VudCIsImlzTWV0YUxlbW1hTWV0YXRoZW9yZW1QcmVzZW50QnlSZWZlcmVuY2UiLCJ1bmlmeVN0YXRlbWVudCIsInN1YnN0aXR1dGlvbnMiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZXMiLCJkZWNsYXJhdGlvblN0YXRlbWVudFN0cmluZyIsImdlbmVyYWxTdGF0ZW1lbnQiLCJzcGVjaWZpY1N0YXRlbWVudCIsInN0YXRlbWVudFVVbmlmaWVzSW50cmluc2ljYWxseSIsInVuaWZ5U3RhdGVtZW50SW50cmluc2ljYWxseSIsInVuaWZ5TGFiZWwiLCJsYWJlbCIsImxhYmVsVW5pZmllc1dpdGhSZWZlcmVuY2UiLCJsYWJlbFN0cmluZyIsImxhYmVsVW5pZmllcyIsIm1ldGFMZW1tYU1ldGF0aGVvcmVtU3RyaW5nIiwiZ2V0Q29udGV4dCIsImxhYmVsU3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsImdldExhYmVsIiwic3RhdGVtZW50U3Vic3RpdHV0aW9ucyIsInN0YXRlbWVudFVVbmlmaWVzIiwibGFiZWxTdWJzdGl0dXRpb25zQ29ycmVsYXRlU3RhdGVtZW50U3Vic3RpdHV0aW9ucyIsImNvcnJlbGF0ZVN1YnN0aXR1dGlvbnMiLCJmcm9tSnVkZ2VtZW50Tm9kZSIsImp1ZGdlbWVudE5vZGUiLCJkZWNsYXJhdGlvbk5vZGUiLCJnZXREZWNsYXJhdGlvbk5vZGUiLCJkZWNsYXJhdGlvbkZyb21EZWNsYXJhdGlvbk5vZGUiLCJmcm9tRGVjbGFyYXRpb25Ob2RlIiwibmFtZSIsIlJlZmVyZW5jZSIsImRvbSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsIk1ldGF2YXJpYWJsZSIsIlN0YXRlbWVudCIsIm5vZGVBc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7MkRBTmdCO29FQUNVOzJCQUdrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFNUMsV0FBZUEsSUFBQUEsZ0JBQVcsZ0NBQUM7YUFBTUMsWUFDbkJDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLFlBQVk7Z0NBRGxCSjtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxZQUFZLEdBQUdBOzs7O1lBR3RCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLElBQUk7WUFDbEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLFNBQVM7WUFDdkI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLFlBQVk7WUFDMUI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsU0FBVSxJQUFJLENBQUNQLFNBQVMsS0FBSztnQkFFbkMsT0FBT087WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JDLFlBQVksRUFBRUMsT0FBTztnQkFDckMsSUFBSUMsc0JBQXNCO2dCQUUxQixJQUFNQyxvQkFBb0IsSUFBSSxDQUFDZCxNQUFNLEVBQy9CZSxxQkFBcUJKLGFBQWFQLFNBQVM7Z0JBRWpEUSxRQUFRSSxLQUFLLENBQUMsQUFBQyxpQkFBaUVGLE9BQWpEQyxvQkFBbUIsZ0NBQWdELE9BQWxCRCxtQkFBa0I7Z0JBRWxHLElBQU1MLFNBQVMsSUFBSSxDQUFDRCxRQUFRO2dCQUU1QixJQUFJQyxRQUFRO29CQUNWLElBQU1RLFlBQVlMLFFBQVFNLDJCQUEyQixDQUFDLElBQUksQ0FBQ2YsWUFBWTtvQkFFdkUsSUFBSWMsY0FBYyxNQUFNO3dCQUN0QixJQUFNRSxjQUFjRixVQUFVRyxjQUFjO3dCQUU1Q1Asc0JBQXNCTSxZQUFZVCxpQkFBaUIsQ0FBQ0MsY0FBY0M7b0JBQ3BFO2dCQUNGLE9BQU87b0JBQ0wsSUFBTVYsWUFBWVMsYUFBYUwsWUFBWSxJQUNyQ0gsZUFBZVEsYUFBYUosZUFBZSxJQUMzQ2MsNEJBQTRCLElBQUksQ0FBQ25CLFNBQVMsQ0FBQ29CLFNBQVMsQ0FBQ3BCLFlBQ3JEcUIsa0NBQWtDLElBQUksQ0FBQ3BCLFlBQVksQ0FBQ21CLFNBQVMsQ0FBQ25CO29CQUVwRSxJQUFJb0IsbUNBQW1DRiwyQkFBMkI7d0JBQ2hFUixzQkFBc0I7b0JBQ3hCO2dCQUNGO2dCQUVBLElBQUlBLHFCQUFxQjtvQkFDdkJELFFBQVFZLEtBQUssQ0FBQyxBQUFDLG1CQUFrRVQsT0FBaERELG1CQUFrQixnQ0FBaUQsT0FBbkJDLG9CQUFtQjtnQkFDdEc7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFZLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXLEVBQUVDLE1BQU0sRUFBRWYsT0FBTztnQkFDakMsSUFBSWdCLFdBQVc7Z0JBRWYsSUFBTWQsb0JBQW9CLElBQUksQ0FBQ2QsTUFBTSxFQUFHLEdBQUc7Z0JBRTNDWSxRQUFRSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQjtnQkFFbEQsSUFBTUwsU0FBUyxJQUFJLENBQUNELFFBQVE7Z0JBRTVCLElBQUlDLFFBQVE7b0JBQ1YsSUFBTW9CLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUFDSixhQUFhQyxRQUFRZjtvQkFFOUVnQixXQUFXQyx3QkFBd0IsR0FBRztnQkFDeEMsT0FBTztvQkFDTCxJQUFNRSxrQ0FBa0MsSUFBSSxDQUFDQyw2QkFBNkIsQ0FBQ04sYUFBYUMsUUFBUWY7b0JBRWhHLElBQUltQixpQ0FBaUM7d0JBQ25DLElBQU1FLG9CQUFvQixJQUFJLENBQUNDLGVBQWUsQ0FBQ1IsYUFBYUMsUUFBUWY7d0JBRXBFLElBQUlxQixtQkFBbUI7NEJBQ3JCLElBQUlFLHFCQUFxQixPQUNyQkMsc0JBQXNCOzRCQUUxQixJQUFJVCxRQUFRO2dDQUNWUSxxQkFBcUIsSUFBSSxDQUFDRSxnQkFBZ0IsQ0FBQ1gsYUFBYWQ7NEJBQzFELE9BQU87Z0NBQ0x3QixzQkFBc0IsSUFBSSxDQUFDRSxpQkFBaUIsQ0FBQzFCOzRCQUMvQzs0QkFFQSxJQUFJdUIsc0JBQXNCQyxxQkFBcUI7Z0NBQzdDUixXQUFXOzRCQUNiO3dCQUNGO29CQUNGO29CQUVBLElBQUlBLFVBQVU7d0JBQ1poQixRQUFRWSxLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJWLG1CQUFrQjtvQkFDdEQ7Z0JBQ0Y7Z0JBRUEsT0FBT2M7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSw4QkFBOEJOLFdBQVcsRUFBRUMsTUFBTSxFQUFFZixPQUFPO2dCQUN4RCxJQUFJbUI7Z0JBRUosSUFBTWpCLG9CQUFvQixJQUFJLENBQUNkLE1BQU0sRUFDL0J1QyxxQkFBcUIsSUFBSSxDQUFDcEMsWUFBWSxDQUFDQyxTQUFTO2dCQUV0RFEsUUFBUUksS0FBSyxDQUFDLEFBQUMsa0JBQXNEdUIsT0FBckN6QixtQkFBa0IscUJBQXNDLE9BQW5CeUIsb0JBQW1CO2dCQUV4RixJQUFNQyxZQUFZQywwQkFBMEIsSUFBSSxDQUFDdEMsWUFBWSxFQUFFUyxVQUN6RDhCLG9CQUFvQkYsVUFBVWYsTUFBTSxDQUFDYjtnQkFFM0NtQixrQ0FBa0NXLG1CQUFvQixHQUFHO2dCQUV6RCxJQUFJWCxpQ0FBaUM7b0JBQ25DbkIsUUFBUVksS0FBSyxDQUFDLEFBQUMsb0JBQXdEZSxPQUFyQ3pCLG1CQUFrQixxQkFBc0MsT0FBbkJ5QixvQkFBbUI7Z0JBQzVGO2dCQUVBLE9BQU9SO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsZ0JBQWdCUixXQUFXLEVBQUVDLE1BQU0sRUFBRWYsT0FBTztnQkFDMUMsSUFBSXFCO2dCQUVKLElBQUksSUFBSSxDQUFDL0IsU0FBUyxLQUFLLE1BQU07b0JBQzNCK0Isb0JBQW9CO2dCQUN0QixPQUFPO29CQUNMLElBQU1VLGtCQUFrQixJQUFJLENBQUN6QyxTQUFTLENBQUNFLFNBQVM7b0JBRWhEUSxRQUFRSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEIyQixpQkFBZ0I7b0JBRWhEaEIsU0FBUyxNQUFPLEdBQUc7b0JBRW5CRCxjQUFjLE1BQU0sR0FBRztvQkFFdkJPLG9CQUFvQixJQUFJLENBQUMvQixTQUFTLENBQUN1QixNQUFNLENBQUNDLGFBQWFDLFFBQVFmO29CQUUvRCxJQUFJcUIsbUJBQW1CO3dCQUNyQnJCLFFBQVFZLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQm1CLGlCQUFnQjtvQkFDcEQ7Z0JBQ0Y7Z0JBRUEsT0FBT1Y7WUFDVDs7O1lBRUFILEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJKLFdBQVcsRUFBRUMsTUFBTSxFQUFFZixPQUFPO2dCQUMvQyxJQUFJaUI7Z0JBRUosSUFBTWYsb0JBQW9CLElBQUksQ0FBQ2QsTUFBTSxFQUMvQnVDLHFCQUFxQixJQUFJLENBQUNwQyxZQUFZLENBQUNDLFNBQVM7Z0JBRXREUSxRQUFRSSxLQUFLLENBQUMsQUFBQyxrQkFBc0R1QixPQUFyQ3pCLG1CQUFrQixxQkFBc0MsT0FBbkJ5QixvQkFBbUI7Z0JBRXhGVix5QkFBeUIsSUFBSSxDQUFDMUIsWUFBWSxDQUFDc0IsTUFBTSxDQUFDYjtnQkFFbEQsSUFBSWlCLHdCQUF3QjtvQkFDMUJqQixRQUFRWSxLQUFLLENBQUMsQUFBQyxvQkFBd0RlLE9BQXJDekIsbUJBQWtCLHFCQUFzQyxPQUFuQnlCLG9CQUFtQjtnQkFDNUY7Z0JBRUEsT0FBT1Y7WUFDVDs7O1lBRUFRLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJYLFdBQVcsRUFBRWQsT0FBTzs7Z0JBQ25DLElBQUl1QjtnQkFFSixJQUFNckIsb0JBQW9CLElBQUksQ0FBQ2QsTUFBTSxFQUFHLEdBQUc7Z0JBRTNDWSxRQUFRSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQjtnQkFFbEQsSUFBTTBCLFlBQVlDLDBCQUEwQixJQUFJLENBQUN0QyxZQUFZLEVBQUVTLFVBQ3pEZ0Msc0JBQXNCaEMsUUFBUWlDLGdDQUFnQyxDQUFDTDtnQkFFckUsSUFBSUkscUJBQXFCO29CQUN2QlQscUJBQXFCO2dCQUN2QixPQUFPO29CQUNMLElBQU1XLHdCQUF3QmxDLFFBQVFtQyxvQ0FBb0MsQ0FBQ1AsWUFDckVRLDZCQUE2QkYsc0JBQXNCRyxLQUFLLENBQUMsU0FBQ0M7d0JBQ3hELElBQU1DLDhCQUE4QixNQUFLQyx5QkFBeUIsQ0FBQ0Ysc0JBQXNCdEM7d0JBRXpGLElBQUl1Qyw2QkFBNkI7NEJBQy9CLE9BQU87d0JBQ1Q7b0JBQ0Y7b0JBRU5oQixxQkFBcUJhLDRCQUE0QixHQUFHO2dCQUN0RDtnQkFFQSxJQUFJYixvQkFBb0I7b0JBQ3RCdkIsUUFBUVksS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCVixtQkFBa0I7Z0JBQ3REO2dCQUVBLE9BQU9xQjtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQjFCLE9BQU87Z0JBQ3ZCLElBQUl3QjtnQkFFSixJQUFNdEIsb0JBQW9CLElBQUksQ0FBQ2QsTUFBTSxFQUFHLEdBQUc7Z0JBRTNDWSxRQUFRSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQjtnQkFFbEQsSUFBTTBCLFlBQVlDLDBCQUEwQixJQUFJLENBQUN0QyxZQUFZLEVBQUVTLFVBQ3pEeUMsOEJBQThCekMsUUFBUTBDLHdDQUF3QyxDQUFDZDtnQkFFckZKLHNCQUFzQmlCLDZCQUE2QixHQUFHO2dCQUV0RCxJQUFJakIscUJBQXFCO29CQUN2QnhCLFFBQVFZLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQlYsbUJBQWtCO2dCQUN0RDtnQkFFQSxPQUFPc0I7WUFDVDs7O1lBRUFtQixLQUFBQTttQkFBQUEsU0FBQUEsZUFBZXJELFNBQVMsRUFBRXNELGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxlQUFlO2dCQUN0RSxJQUFJQztnQkFFSixJQUFNbEQsU0FBUyxJQUFJLENBQUNELFFBQVE7Z0JBRTVCLElBQUlDLFFBQVE7b0JBQ1ZrRCxtQkFBbUI7Z0JBQ3JCLE9BQU87b0JBQ0wsSUFBTS9DLFVBQVU2QyxnQkFDVmQsa0JBQWtCekMsVUFBVUUsU0FBUyxJQUNyQ3dELDZCQUE2QixJQUFJLENBQUMxRCxTQUFTLENBQUNFLFNBQVM7b0JBRTNEUSxRQUFRSSxLQUFLLENBQUMsQUFBQyxpQkFBd0Q0QyxPQUF4Q2pCLGlCQUFnQiwwQkFBbUQsT0FBM0JpQiw0QkFBMkI7b0JBRWxHLElBQU1DLG1CQUFtQixJQUFJLENBQUMzRCxTQUFTLEVBQ2pDNEQsb0JBQW9CNUQsV0FDcEI2RCxpQ0FBaUNDLElBQUFBLHdDQUEyQixFQUFDSCxrQkFBa0JDLG1CQUFtQk4sZUFBZUMsZ0JBQWdCQztvQkFFdklDLG1CQUFtQkksZ0NBQWlDLEdBQUc7b0JBRXZELElBQUlKLGtCQUFrQjt3QkFDcEIvQyxRQUFRWSxLQUFLLENBQUMsQUFBQyxtQkFBMERvQyxPQUF4Q2pCLGlCQUFnQiwwQkFBbUQsT0FBM0JpQiw0QkFBMkI7b0JBQ3RHO2dCQUNGO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsV0FBV0MsS0FBSyxFQUFFVixhQUFhLEVBQUVDLGNBQWMsRUFBRUMsZUFBZTtnQkFDOUQsSUFBSVM7Z0JBRUosSUFBTXZELFVBQVU2QyxnQkFDVlcsY0FBY0YsTUFBTTlELFNBQVMsSUFDN0JVLG9CQUFvQixJQUFJLENBQUNkLE1BQU0sRUFBRyxJQUFJO2dCQUU1Q1ksUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQWdERixPQUFoQ3NELGFBQVksc0JBQXNDLE9BQWxCdEQsbUJBQWtCO2dCQUVqRixJQUFNMEIsWUFBWUMsMEJBQTBCLElBQUksQ0FBQ3RDLFlBQVksRUFBRVMsVUFDekR5RCxlQUFlN0IsVUFBVXlCLFVBQVUsQ0FBQ0MsT0FBT1YsZUFBZTVDO2dCQUVoRXVELDRCQUE0QkUsY0FBYyxHQUFHO2dCQUU3QyxJQUFJRiwyQkFBMkI7b0JBQzdCdkQsUUFBUVksS0FBSyxDQUFDLEFBQUMsbUJBQWtEVixPQUFoQ3NELGFBQVksc0JBQXNDLE9BQWxCdEQsbUJBQWtCO2dCQUNyRjtnQkFFQSxPQUFPcUQ7WUFDVDs7O1lBRUFmLEtBQUFBO21CQUFBQSxTQUFBQSwwQkFBMEJGLG9CQUFvQixFQUFFdEMsT0FBTztnQkFDckQsSUFBSXVDLDhCQUE4QjtnQkFFbEMsSUFBTXJDLG9CQUFvQixJQUFJLENBQUNkLE1BQU0sRUFDL0JzRSw2QkFBNkJwQixxQkFBcUI5QyxTQUFTO2dCQUVqRVEsUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQW1GRixPQUFuRXdELDRCQUEyQiwwQ0FBMEQsT0FBbEJ4RCxtQkFBa0I7Z0JBRXBILElBQU0yQyxpQkFBaUI3QyxTQUFTLEdBQUc7Z0JBRW5DQSxVQUFVc0MscUJBQXFCcUIsVUFBVSxJQUFLLEdBQUc7Z0JBRWpELElBQU1iLGtCQUFrQjlDLFNBQ2xCNEQscUJBQXFCQyxzQkFBYSxDQUFDQyxXQUFXLElBQzlDUixRQUFRaEIscUJBQXFCeUIsUUFBUSxJQUNyQ25CLGdCQUFnQmdCLG9CQUNoQkgsZUFBZSxJQUFJLENBQUNKLFVBQVUsQ0FBQ0MsT0FBT1YsZUFBZUMsZ0JBQWdCQztnQkFFM0UsSUFBSVcsY0FBYztvQkFDaEIsSUFBTU8seUJBQXlCSCxzQkFBYSxDQUFDQyxXQUFXLElBQ2xEeEUsWUFBWWdELHFCQUFxQjVDLFlBQVksSUFDN0NrRCxpQkFBZ0JvQix3QkFDaEJDLG9CQUFvQixJQUFJLENBQUN0QixjQUFjLENBQUNyRCxXQUFXc0QsZ0JBQWVDLGdCQUFnQkM7b0JBRXhGLElBQUltQixtQkFBbUI7d0JBQ3JCLElBQU1DLG9EQUFvRE4sbUJBQW1CTyxzQkFBc0IsQ0FBQ0g7d0JBRXBHLElBQUlFLG1EQUFtRDs0QkFDckQzQiw4QkFBOEIsTUFBTSxHQUFHO3dCQUN6QztvQkFDRjtnQkFDRjtnQkFFQSxJQUFJQSw2QkFBNkI7b0JBQy9CdkMsUUFBUUksS0FBSyxDQUFDLEFBQUMsbUJBQXFGRixPQUFuRXdELDRCQUEyQiwwQ0FBMEQsT0FBbEJ4RCxtQkFBa0I7Z0JBQ3hIO2dCQUVBLE9BQU9xQztZQUNUOzs7O1lBSU82QixLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JDLGFBQWEsRUFBRXJFLE9BQU87Z0JBQzdDLElBQU1zRSxrQkFBa0JELGNBQWNFLGtCQUFrQixJQUNsRGhFLGNBQWNpRSwrQkFBK0JGLGlCQUFpQnRFO2dCQUVwRSxPQUFPTztZQUNUOzs7WUFFT2tFLEtBQUFBO21CQUFQLFNBQU9BLG9CQUFvQkgsZUFBZSxFQUFFdEUsT0FBTztnQkFDakQsSUFBTU8sY0FBY2lFLCtCQUErQkYsaUJBQWlCdEU7Z0JBRXBFLE9BQU9PO1lBQ1Q7Ozs7S0FiQSwrQkFBT21FLFFBQU87QUFnQmhCLFNBQVM3QywwQkFBMEJ0QyxZQUFZLEVBQUVTLE9BQU87SUFDdEQsSUFBTSxBQUFFMkUsWUFBY0MsWUFBRyxDQUFqQkQsV0FDRkUsbUJBQW1CdEYsYUFBYUUsT0FBTyxJQUN2Q21DLFlBQVkrQyxVQUFVRyxvQkFBb0IsQ0FBQ0Qsa0JBQWtCN0U7SUFFbkUsT0FBTzRCO0FBQ1Q7QUFFQSxTQUFTNEMsK0JBQStCRixlQUFlLEVBQUV0RSxPQUFPO0lBQzlELElBQVErRSxlQUF5Q0gsWUFBRyxDQUE1Q0csY0FBYzVGLGNBQTJCeUYsWUFBRyxDQUE5QnpGLGFBQWE2RixZQUFjSixZQUFHLENBQWpCSSxXQUM3QjNGLE9BQU9pRixpQkFDUGxGLFNBQVNZLFFBQVFpRixZQUFZLENBQUM1RixPQUM5QkUsZUFBZXdGLGFBQWFOLG1CQUFtQixDQUFDSCxpQkFBaUJ0RSxVQUNqRVYsWUFBWTBGLFVBQVVQLG1CQUFtQixDQUFDSCxpQkFBaUJ0RSxVQUMzRE8sY0FBYyxJQUFJcEIsWUFBWUMsUUFBUUMsTUFBTUMsV0FBV0M7SUFFN0QsT0FBT2dCO0FBQ1QifQ==
|
package/lib/dom/deduction.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
12
|
-
var _json = require("../utilities/json");
|
|
13
|
-
function _class_call_check(instance, Constructor) {
|
|
14
|
-
if (!(instance instanceof Constructor)) {
|
|
15
|
-
throw new TypeError("Cannot call a class as a function");
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function _defineProperties(target, props) {
|
|
19
|
-
for(var i = 0; i < props.length; i++){
|
|
20
|
-
var descriptor = props[i];
|
|
21
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
-
descriptor.configurable = true;
|
|
23
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
28
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
return Constructor;
|
|
31
|
-
}
|
|
32
|
-
function _define_property(obj, key, value) {
|
|
33
|
-
if (key in obj) {
|
|
34
|
-
Object.defineProperty(obj, key, {
|
|
35
|
-
value: value,
|
|
36
|
-
enumerable: true,
|
|
37
|
-
configurable: true,
|
|
38
|
-
writable: true
|
|
39
|
-
});
|
|
40
|
-
} else {
|
|
41
|
-
obj[key] = value;
|
|
42
|
-
}
|
|
43
|
-
return obj;
|
|
44
|
-
}
|
|
45
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
-
if (typeof WeakMap !== "function") return null;
|
|
47
|
-
var cacheBabelInterop = new WeakMap();
|
|
48
|
-
var cacheNodeInterop = new WeakMap();
|
|
49
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
-
})(nodeInterop);
|
|
52
|
-
}
|
|
53
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
54
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
-
return obj;
|
|
56
|
-
}
|
|
57
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
-
return {
|
|
59
|
-
default: obj
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
-
if (cache && cache.has(obj)) {
|
|
64
|
-
return cache.get(obj);
|
|
65
|
-
}
|
|
66
|
-
var newObj = {
|
|
67
|
-
__proto__: null
|
|
68
|
-
};
|
|
69
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
70
|
-
for(var key in obj){
|
|
71
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
72
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
73
|
-
if (desc && (desc.get || desc.set)) {
|
|
74
|
-
Object.defineProperty(newObj, key, desc);
|
|
75
|
-
} else {
|
|
76
|
-
newObj[key] = obj[key];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
newObj.default = obj;
|
|
81
|
-
if (cache) {
|
|
82
|
-
cache.set(obj, newObj);
|
|
83
|
-
}
|
|
84
|
-
return newObj;
|
|
85
|
-
}
|
|
86
|
-
var _Deduction;
|
|
87
|
-
var _default = (0, _dom.domAssigned)((_Deduction = /*#__PURE__*/ function() {
|
|
88
|
-
function Deduction(node, string, statement) {
|
|
89
|
-
_class_call_check(this, Deduction);
|
|
90
|
-
this.node = node;
|
|
91
|
-
this.string = string;
|
|
92
|
-
this.statement = statement;
|
|
93
|
-
}
|
|
94
|
-
_create_class(Deduction, [
|
|
95
|
-
{
|
|
96
|
-
key: "getNode",
|
|
97
|
-
value: function getNode(node) {
|
|
98
|
-
return this.node;
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
key: "getString",
|
|
103
|
-
value: function getString() {
|
|
104
|
-
return this.string;
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: "getStatement",
|
|
109
|
-
value: function getStatement() {
|
|
110
|
-
return this.statement;
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
key: "verify",
|
|
115
|
-
value: function verify(context) {
|
|
116
|
-
var verifies = false;
|
|
117
|
-
var deductionString = this.string; ///
|
|
118
|
-
context.trace("Verifying the '".concat(deductionString, "' deduction..."), this.node);
|
|
119
|
-
if (this.statement !== null) {
|
|
120
|
-
var stated = true, assignments = null, statementVerifies = this.statement.verify(assignments, stated, context);
|
|
121
|
-
verifies = statementVerifies; ///
|
|
122
|
-
} else {
|
|
123
|
-
context.debug("Unable to verify the '".concat(deductionString, "' deduction because it is nonsense."), this.node);
|
|
124
|
-
}
|
|
125
|
-
if (verifies) {
|
|
126
|
-
context.debug("...verified the '".concat(deductionString, "' deduction."), this.node);
|
|
127
|
-
}
|
|
128
|
-
return verifies;
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
key: "unifyStatement",
|
|
133
|
-
value: function unifyStatement(statement, substitutions, generalContext, specificContext) {
|
|
134
|
-
var statementUnifies;
|
|
135
|
-
var deduction = this, statementString = statement.getString(), deductionString = deduction.getString();
|
|
136
|
-
specificContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(deductionString, "' deduction..."));
|
|
137
|
-
statementUnifies = this.statement.unifyStatement(statement, substitutions, generalContext, specificContext);
|
|
138
|
-
if (statementUnifies) {
|
|
139
|
-
specificContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(deductionString, "' deduction."));
|
|
140
|
-
}
|
|
141
|
-
return statementUnifies;
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
key: "unifyDeduction",
|
|
146
|
-
value: function unifyDeduction(deduction, substitutions, generalContext, specificContext) {
|
|
147
|
-
var deductionUnifies;
|
|
148
|
-
var context = specificContext, specificDeduction = deduction, generalDeductionString = this.string, specificDeductionString = specificDeduction.getString();
|
|
149
|
-
context.trace("Unifying the '".concat(specificDeductionString, "' deduction with the '").concat(generalDeductionString, "' deduction..."), this.node);
|
|
150
|
-
var statement = specificDeduction.getStatement(), statementUnifies = this.unifyStatement(statement, substitutions, generalContext, specificContext);
|
|
151
|
-
deductionUnifies = statementUnifies; ///
|
|
152
|
-
if (deductionUnifies) {
|
|
153
|
-
context.debug("...unified the '".concat(specificDeductionString, "' deduction with the '").concat(generalDeductionString, "' deduction."), this.node);
|
|
154
|
-
}
|
|
155
|
-
return deductionUnifies;
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
key: "toJSON",
|
|
160
|
-
value: function toJSON() {
|
|
161
|
-
var statementJSON = (0, _json.statementToStatementJSON)(this.statement), statement = statementJSON, json = {
|
|
162
|
-
statement: statement
|
|
163
|
-
};
|
|
164
|
-
return json;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
], [
|
|
168
|
-
{
|
|
169
|
-
key: "fromJSON",
|
|
170
|
-
value: function fromJSON(json, context) {
|
|
171
|
-
var statement = (0, _json.statementFromJSON)(json, context), node = null, string = statement.getString(), deduction = new Deduction(node, string, statement);
|
|
172
|
-
return deduction;
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
key: "fromDeductionNode",
|
|
177
|
-
value: function fromDeductionNode(deductionNode, context) {
|
|
178
|
-
var Statement = _dom.default.Statement, node = deductionNode, string = context.nodeAsString(node), statement = Statement.fromDeductionNode(deductionNode, context), deduction = new Deduction(node, string, statement);
|
|
179
|
-
return deduction;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
]);
|
|
183
|
-
return Deduction;
|
|
184
|
-
}(), _define_property(_Deduction, "name", "Deduction"), _Deduction));
|
|
185
|
-
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vZGVkdWN0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIERlZHVjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHN0cmluZywgc3RhdGVtZW50KSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldE5vZGUobm9kZSkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIHZlcmlmeShjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBkZWR1Y3Rpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uLi5gLCB0aGlzLm5vZGUpO1xuXG4gICAgaWYgKHRoaXMuc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBudWxsLFxuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZXMgPSB0aGlzLnN0YXRlbWVudC52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICAgIHZlcmlmaWVzID0gc3RhdGVtZW50VmVyaWZpZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBVbmFibGUgdG8gdmVyaWZ5IHRoZSAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gYmVjYXVzZSBpdCBpcyBub25zZW5zZS5gLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlZHVjdGlvblN0cmluZ30nIGRlZHVjdGlvbi5gLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVzO1xuXG4gICAgY29uc3QgZGVkdWN0aW9uID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBkZWR1Y3Rpb25TdHJpbmcgPSBkZWR1Y3Rpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBzcGVjaWZpY0NvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7ZGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uLi4uYCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVzID0gdGhpcy5zdGF0ZW1lbnQudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICBzcGVjaWZpY0NvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gIH1cblxuICB1bmlmeURlZHVjdGlvbihkZWR1Y3Rpb24sIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgICBsZXQgZGVkdWN0aW9uVW5pZmllcztcblxuICAgIGNvbnN0IGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQsICAvLy9cbiAgICAgICAgICBzcGVjaWZpY0RlZHVjdGlvbiA9IGRlZHVjdGlvbiwgIC8vL1xuICAgICAgICAgIGdlbmVyYWxEZWR1Y3Rpb25TdHJpbmcgPSB0aGlzLnN0cmluZywgLy8vXG4gICAgICAgICAgc3BlY2lmaWNEZWR1Y3Rpb25TdHJpbmcgPSBzcGVjaWZpY0RlZHVjdGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzcGVjaWZpY0RlZHVjdGlvblN0cmluZ30nIGRlZHVjdGlvbiB3aXRoIHRoZSAnJHtnZW5lcmFsRGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHNwZWNpZmljRGVkdWN0aW9uLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHN0YXRlbWVudFVuaWZpZXMgPSB0aGlzLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBkZWR1Y3Rpb25VbmlmaWVzID0gc3RhdGVtZW50VW5pZmllczsgIC8vL1xuXG4gICAgaWYgKGRlZHVjdGlvblVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3NwZWNpZmljRGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uIHdpdGggdGhlICcke2dlbmVyYWxEZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVkdWN0aW9uVW5pZmllcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRKU09OID0gc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OKHRoaXMuc3RhdGVtZW50KSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJEZWR1Y3Rpb25cIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIHN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBkZWR1Y3Rpb24gPSBuZXcgRGVkdWN0aW9uKG5vZGUsIHN0cmluZywgc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBkZWR1Y3Rpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbURlZHVjdGlvbk5vZGUoZGVkdWN0aW9uTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBkb20sXG4gICAgICAgICAgbm9kZSA9IGRlZHVjdGlvbk5vZGUsICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbURlZHVjdGlvbk5vZGUoZGVkdWN0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgZGVkdWN0aW9uID0gbmV3IERlZHVjdGlvbihub2RlLCBzdHJpbmcsIHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gZGVkdWN0aW9uO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIkRlZHVjdGlvbiIsIm5vZGUiLCJzdHJpbmciLCJzdGF0ZW1lbnQiLCJnZXROb2RlIiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50IiwidmVyaWZ5IiwiY29udGV4dCIsInZlcmlmaWVzIiwiZGVkdWN0aW9uU3RyaW5nIiwidHJhY2UiLCJzdGF0ZWQiLCJhc3NpZ25tZW50cyIsInN0YXRlbWVudFZlcmlmaWVzIiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudCIsInN1YnN0aXR1dGlvbnMiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZXMiLCJkZWR1Y3Rpb24iLCJzdGF0ZW1lbnRTdHJpbmciLCJ1bmlmeURlZHVjdGlvbiIsImRlZHVjdGlvblVuaWZpZXMiLCJzcGVjaWZpY0RlZHVjdGlvbiIsImdlbmVyYWxEZWR1Y3Rpb25TdHJpbmciLCJzcGVjaWZpY0RlZHVjdGlvblN0cmluZyIsInRvSlNPTiIsInN0YXRlbWVudEpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJzdGF0ZW1lbnRGcm9tSlNPTiIsImZyb21EZWR1Y3Rpb25Ob2RlIiwiZGVkdWN0aW9uTm9kZSIsIlN0YXRlbWVudCIsImRvbSIsIm5vZGVBc1N0cmluZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBQTs7OzJEQUxnQjtvQkFHNEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUU1RCxXQUFlQSxJQUFBQSxnQkFBVyw4QkFBQzthQUFNQyxVQUNuQkMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLFNBQVM7Z0NBREpIO1FBRTdCLElBQUksQ0FBQ0Ms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
|