occam-verify-cli 0.0.526 → 0.0.527
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/assertion/type.js +10 -40
- package/lib/axiom.js +7 -7
- package/lib/axiomLemmaTheoremConjecture.js +190 -0
- package/lib/conjecture.js +141 -0
- package/lib/consequence.js +3 -3
- package/lib/constants.js +4 -16
- package/lib/context/file.js +76 -39
- package/lib/context/metaproof.js +40 -10
- package/lib/context/proof.js +38 -105
- package/lib/context/release/directory.js +20 -1
- package/lib/context/release/file.js +27 -3
- package/lib/equality.js +78 -51
- package/lib/index.js +1 -13
- package/lib/kinds.js +5 -1
- package/lib/lemma.js +7 -7
- package/lib/matcher/metastatementForMetavariable.js +16 -19
- package/lib/matcher/statementForMetavariable.js +22 -20
- package/lib/matcher/{statementForVariable → termForVariable}/consequence.js +13 -13
- package/lib/matcher/{statementForVariable → termForVariable}/supposition.js +13 -13
- package/lib/matcher/termForVariable.js +198 -0
- package/lib/matcher.js +23 -64
- package/lib/mixins/file.js +62 -2
- package/lib/premise.js +4 -4
- package/lib/ruleNames.js +1 -9
- package/lib/step/proof.js +22 -1
- package/lib/substitution/statementForMetavariable.js +12 -8
- package/lib/substitution/termForVariable.js +86 -0
- package/lib/supposition.js +4 -4
- package/lib/theorem.js +7 -7
- package/lib/type.js +9 -2
- package/lib/utilities/string.js +3 -7
- package/lib/utilities/substitution.js +4 -5
- package/lib/variable.js +4 -38
- package/lib/verify/assertion/type.js +59 -36
- package/lib/verify/axiom.js +1 -2
- package/lib/verify/conjecture.js +56 -0
- package/lib/verify/declaration/topLevel.js +7 -3
- package/lib/verify/lemma.js +1 -2
- package/lib/verify/metastatement/qualified.js +1 -2
- package/lib/verify/metastatement/unqualified.js +1 -2
- package/lib/verify/rule.js +1 -2
- package/lib/verify/statement/qualified.js +39 -10
- package/lib/verify/statement/unqualified.js +1 -2
- package/lib/verify/statement.js +44 -47
- package/lib/verify/theorem.js +1 -2
- package/package.json +1 -1
- package/src/assertion/type.js +7 -32
- package/src/axiom.js +4 -4
- package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +5 -5
- package/src/conjecture.js +13 -0
- package/src/consequence.js +2 -2
- package/src/constants.js +1 -4
- package/src/context/file.js +81 -37
- package/src/context/metaproof.js +42 -5
- package/src/context/proof.js +42 -41
- package/src/context/release/directory.js +24 -0
- package/src/context/release/file.js +34 -3
- package/src/equality.js +110 -61
- package/src/index.js +0 -3
- package/src/kinds.js +1 -0
- package/src/lemma.js +4 -4
- package/src/matcher/metastatementForMetavariable.js +22 -32
- package/src/matcher/statementForMetavariable.js +40 -34
- package/src/matcher/termForVariable/consequence.js +9 -0
- package/src/matcher/termForVariable/supposition.js +9 -0
- package/src/matcher/termForVariable.js +89 -0
- package/src/matcher.js +28 -22
- package/src/mixins/file.js +46 -1
- package/src/premise.js +4 -4
- package/src/ruleNames.js +0 -2
- package/src/step/proof.js +27 -0
- package/src/substitution/statementForMetavariable.js +17 -10
- package/src/substitution/termForVariable.js +64 -0
- package/src/supposition.js +3 -3
- package/src/theorem.js +4 -4
- package/src/type.js +14 -4
- package/src/utilities/string.js +4 -6
- package/src/utilities/substitution.js +6 -4
- package/src/variable.js +4 -37
- package/src/verify/assertion/type.js +70 -64
- package/src/verify/axiom.js +0 -1
- package/src/verify/conjecture.js +73 -0
- package/src/verify/declaration/topLevel.js +7 -0
- package/src/verify/lemma.js +0 -1
- package/src/verify/metastatement/qualified.js +0 -1
- package/src/verify/metastatement/unqualified.js +0 -1
- package/src/verify/rule.js +0 -1
- package/src/verify/statement/qualified.js +53 -13
- package/src/verify/statement/unqualified.js +0 -1
- package/src/verify/statement.js +46 -66
- package/src/verify/theorem.js +0 -1
- package/lib/axiomLemmaTheorem.js +0 -190
- package/lib/jsonTypes.js +0 -30
- package/lib/matcher/statementForVariable.js +0 -201
- package/lib/substitution/statementForVariable.js +0 -86
- package/lib/utilities/json.js +0 -187
- package/lib/utilities/version.js +0 -32
- package/lib/versionChanges.js +0 -34
- package/src/jsonTypes.js +0 -6
- package/src/matcher/statementForVariable/consequence.js +0 -9
- package/src/matcher/statementForVariable/supposition.js +0 -9
- package/src/matcher/statementForVariable.js +0 -99
- package/src/substitution/statementForVariable.js +0 -64
- package/src/utilities/json.js +0 -264
- package/src/utilities/version.js +0 -30
- package/src/versionChanges.js +0 -11
package/lib/type.js
CHANGED
|
@@ -280,8 +280,15 @@ var ObjectType = /*#__PURE__*/ function(Type) {
|
|
|
280
280
|
}(Type);
|
|
281
281
|
var objectType = ObjectType.fromNothing();
|
|
282
282
|
function superTypeFromSuperTypeJSON(superTypeJSON, releaseContext) {
|
|
283
|
-
var
|
|
283
|
+
var superType;
|
|
284
|
+
var json = superTypeJSON, name = json.name;
|
|
285
|
+
if (name === _typeNames.OBJECT_TYPE_NAME) {
|
|
286
|
+
superType = objectType; ///
|
|
287
|
+
} else {
|
|
288
|
+
var typeName = name, type = releaseContext.findTypeByTypeName(typeName);
|
|
289
|
+
superType = type !== null ? type : Type.fromJSON(json, releaseContext); ///
|
|
290
|
+
}
|
|
284
291
|
return superType;
|
|
285
292
|
}
|
|
286
293
|
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBUWVBFX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnN1cGVyVHlwZSA9IHN1cGVyVHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSAodGhpcyA9PT0gdHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGlzU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3ViVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdGhpcy5zdXBlclR5cGU7XG5cbiAgICB3aGlsZSAoc3VwZXJUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAoc3VwZXJUeXBlID09PSB0eXBlKSB7XG4gICAgICAgIHN1YlR5cGVPZiA9IHRydWU7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZS5nZXRTdXBlclR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViVHlwZU9mO1xuICB9XG5cbiAgaXNTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgbGV0IHN1cGVyVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdHlwZS5nZXRTdXBlclR5cGUoKTtcblxuICAgIHdoaWxlIChzdXBlclR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChzdXBlclR5cGUgPT09IHRoaXMpIHtcbiAgICAgICAgc3VwZXJUeXBlT2YgPSB0cnVlO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGUuZ2V0U3VwZXJUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1YlR5cGVPZiA9IChlcXVhbFRvVHlwZSB8fCBzdWJUeXBlT2ZUeXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvVHlwZU9yU3ViVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUb1R5cGUgPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZlR5cGUgPSB0aGlzLmlzU3VwZXJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mID0gKGVxdWFsVG9UeXBlIHx8IHN1cGVyVHlwZU9mVHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mO1xuICB9XG5cbiAgbWF0Y2godHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgc3VwZXJUeXBlT2ZUeXBlID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXMgPSAoZXF1YWxUb1R5cGUgfHwgc3ViVHlwZU9mVHlwZSB8fCBzdXBlclR5cGVPZlR5cGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOYW1lID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc05hbWU7XG4gIH1cblxuICBtYXRjaFR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc1R5cGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNUeXBlTmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKHRva2Vucywgbm9TdXBlclR5cGUpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgaWYgKG5vU3VwZXJUeXBlKSB7XG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHRoaXMuc3VwZXJUeXBlLmdldE5hbWUoKTtcblxuICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfToke3N1cGVyVHlwZU5hbWV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSB0aGlzLnN1cGVyVHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBraW5kID0gVFlQRV9LSU5ELFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgbGV0IHsgc3VwZXJUeXBlIH0gPSBqc29uO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlSlNPTiA9IHN1cGVyVHlwZTsgIC8vL1xuXG4gICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlRnJvbVN1cGVyVHlwZUpTT04oc3VwZXJUeXBlSlNPTiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uO1xuXG4gICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlLCAvLy9cbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSh0eXBlTmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufVxuXG5jbGFzcyBPYmplY3RUeXBlIGV4dGVuZHMgVHlwZSB7XG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBraW5kID0gVFlQRV9LSU5ELFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lID0gT0JKRUNUX1RZUEVfTkFNRSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgIG9iamVjdFR5cGUgPSBuZXcgT2JqZWN0VHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIG9iamVjdFR5cGU7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG9iamVjdFR5cGUgPSBPYmplY3RUeXBlLmZyb21Ob3RoaW5nKCk7XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OKHN1cGVyVHlwZUpTT04sIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IGpzb24gPSBzdXBlclR5cGVKU09OLCAvLy9cbiAgICAgICAgeyBuYW1lIH0gPSBqc29uLFxuICAgICAgICBzdXBlclR5cGUgPSAobmFtZSA9PT0gT0JKRUNUX1RZUEVfTkFNRSkgP1xuICAgICAgICAgIG9iamVjdFR5cGUgOlxuICAgICAgICAgICAgVHlwZS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJUeXBlIiwib2JqZWN0VHlwZSIsIm5hbWUiLCJzdXBlclR5cGUiLCJnZXROYW1lIiwiZ2V0U3VwZXJUeXBlIiwiaXNFcXVhbFRvIiwidHlwZSIsImVxdWFsVG8iLCJpc1N1YlR5cGVPZiIsInN1YlR5cGVPZiIsImlzU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZiIsImlzRXF1YWxUb09yU3ViVHlwZU9mIiwiZXF1YWxUb1R5cGUiLCJzdWJUeXBlT2ZUeXBlIiwiZXF1YWxUb1R5cGVPclN1YlR5cGVPZiIsImlzRXF1YWxUb09yU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZlR5cGUiLCJlcXVhbFRvVHlwZU9yU3VwZXJUeXBlT2YiLCJtYXRjaCIsIm1hdGNoZXMiLCJtYXRjaE5hbWUiLCJtYXRjaGVzTmFtZSIsIm1hdGNoVHlwZU5hbWUiLCJ0eXBlTmFtZSIsIm1hdGNoZXNUeXBlTmFtZSIsImFzU3RyaW5nIiwidG9rZW5zIiwibm9TdXBlclR5cGUiLCJzdHJpbmciLCJzdXBlclR5cGVOYW1lIiwidG9KU09OIiwic3VwZXJUeXBlSlNPTiIsImtpbmQiLCJUWVBFX0tJTkQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsInN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OIiwiZnJvbVR5cGVOYW1lIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiT2JqZWN0VHlwZSIsImZyb21Ob3RoaW5nIiwiT0JKRUNUX1RZUEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUtxQkE7O0lBZ0xSQyxVQUFVO2VBQVZBOzs7cUJBbkxhO3lCQUNPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQixJQUFBLEFBQU1ELHFCQXlKbEIsQUF6Slk7YUFBTUEsS0FDUEUsSUFBSSxFQUFFQyxTQUFTOzhCQURSSDtRQUVqQixJQUFJLENBQUNFLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2lCQUhBSDs7WUFNbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWU7Z0JBQ2IsT0FBTyxJQUFJLENBQUNGLFNBQVM7WUFDdkI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsSUFBSSxFQUFFO2dCQUNkLElBQU1DLFVBQVcsSUFBSSxLQUFLRDtnQkFFMUIsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZRixJQUFJLEVBQUU7Z0JBQ2hCLElBQUlHLFlBQVksS0FBSztnQkFFckIsSUFBSVAsWUFBWSxJQUFJLENBQUNBLFNBQVM7Z0JBRTlCLE1BQU9BLGNBQWMsSUFBSSxDQUFFO29CQUN6QixJQUFJ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
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBUWVBFX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnN1cGVyVHlwZSA9IHN1cGVyVHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSAodGhpcyA9PT0gdHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGlzU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3ViVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdGhpcy5zdXBlclR5cGU7XG5cbiAgICB3aGlsZSAoc3VwZXJUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAoc3VwZXJUeXBlID09PSB0eXBlKSB7XG4gICAgICAgIHN1YlR5cGVPZiA9IHRydWU7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZS5nZXRTdXBlclR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViVHlwZU9mO1xuICB9XG5cbiAgaXNTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgbGV0IHN1cGVyVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdHlwZS5nZXRTdXBlclR5cGUoKTtcblxuICAgIHdoaWxlIChzdXBlclR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChzdXBlclR5cGUgPT09IHRoaXMpIHtcbiAgICAgICAgc3VwZXJUeXBlT2YgPSB0cnVlO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGUuZ2V0U3VwZXJUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1YlR5cGVPZiA9IChlcXVhbFRvVHlwZSB8fCBzdWJUeXBlT2ZUeXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvVHlwZU9yU3ViVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUb1R5cGUgPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZlR5cGUgPSB0aGlzLmlzU3VwZXJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mID0gKGVxdWFsVG9UeXBlIHx8IHN1cGVyVHlwZU9mVHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mO1xuICB9XG5cbiAgbWF0Y2godHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgc3VwZXJUeXBlT2ZUeXBlID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXMgPSAoZXF1YWxUb1R5cGUgfHwgc3ViVHlwZU9mVHlwZSB8fCBzdXBlclR5cGVPZlR5cGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOYW1lID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc05hbWU7XG4gIH1cblxuICBtYXRjaFR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc1R5cGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNUeXBlTmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKHRva2Vucywgbm9TdXBlclR5cGUpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgaWYgKG5vU3VwZXJUeXBlKSB7XG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHRoaXMuc3VwZXJUeXBlLmdldE5hbWUoKTtcblxuICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfToke3N1cGVyVHlwZU5hbWV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSB0aGlzLnN1cGVyVHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBraW5kID0gVFlQRV9LSU5ELFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgbGV0IHsgc3VwZXJUeXBlIH0gPSBqc29uO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlSlNPTiA9IHN1cGVyVHlwZTsgIC8vL1xuXG4gICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlRnJvbVN1cGVyVHlwZUpTT04oc3VwZXJUeXBlSlNPTiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uO1xuXG4gICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlLCAvLy9cbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSh0eXBlTmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufVxuXG5jbGFzcyBPYmplY3RUeXBlIGV4dGVuZHMgVHlwZSB7XG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBraW5kID0gVFlQRV9LSU5ELFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lID0gT0JKRUNUX1RZUEVfTkFNRSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgIG9iamVjdFR5cGUgPSBuZXcgT2JqZWN0VHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIG9iamVjdFR5cGU7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG9iamVjdFR5cGUgPSBPYmplY3RUeXBlLmZyb21Ob3RoaW5nKCk7XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OKHN1cGVyVHlwZUpTT04sIHJlbGVhc2VDb250ZXh0KSB7XG4gIGxldCBzdXBlclR5cGU7XG5cbiAgY29uc3QganNvbiA9IHN1cGVyVHlwZUpTT04sIC8vL1xuICAgICAgICB7IG5hbWUgfSA9IGpzb247XG5cbiAgaWYgKG5hbWUgPT09IE9CSkVDVF9UWVBFX05BTUUpIHtcbiAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlOyAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgICB0eXBlID0gcmVsZWFzZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgIHN1cGVyVHlwZSA9ICh0eXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICB0eXBlIDogIC8vL1xuICAgICAgICAgICAgICAgICAgICBUeXBlLmZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJUeXBlIiwib2JqZWN0VHlwZSIsIm5hbWUiLCJzdXBlclR5cGUiLCJnZXROYW1lIiwiZ2V0U3VwZXJUeXBlIiwiaXNFcXVhbFRvIiwidHlwZSIsImVxdWFsVG8iLCJpc1N1YlR5cGVPZiIsInN1YlR5cGVPZiIsImlzU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZiIsImlzRXF1YWxUb09yU3ViVHlwZU9mIiwiZXF1YWxUb1R5cGUiLCJzdWJUeXBlT2ZUeXBlIiwiZXF1YWxUb1R5cGVPclN1YlR5cGVPZiIsImlzRXF1YWxUb09yU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZlR5cGUiLCJlcXVhbFRvVHlwZU9yU3VwZXJUeXBlT2YiLCJtYXRjaCIsIm1hdGNoZXMiLCJtYXRjaE5hbWUiLCJtYXRjaGVzTmFtZSIsIm1hdGNoVHlwZU5hbWUiLCJ0eXBlTmFtZSIsIm1hdGNoZXNUeXBlTmFtZSIsImFzU3RyaW5nIiwidG9rZW5zIiwibm9TdXBlclR5cGUiLCJzdHJpbmciLCJzdXBlclR5cGVOYW1lIiwidG9KU09OIiwic3VwZXJUeXBlSlNPTiIsImtpbmQiLCJUWVBFX0tJTkQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsInN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OIiwiZnJvbVR5cGVOYW1lIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiT2JqZWN0VHlwZSIsImZyb21Ob3RoaW5nIiwiT0JKRUNUX1RZUEVfTkFNRSIsImZpbmRUeXBlQnlUeXBlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUtxQkE7O0lBZ0xSQyxVQUFVO2VBQVZBOzs7cUJBbkxhO3lCQUNPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQixJQUFBLEFBQU1ELHFCQXlKbEIsQUF6Slk7YUFBTUEsS0FDUEUsSUFBSSxFQUFFQyxTQUFTOzhCQURSSDtRQUVqQixJQUFJLENBQUNFLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2lCQUhBSDs7WUFNbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWU7Z0JBQ2IsT0FBTyxJQUFJLENBQUNGLFNBQVM7WUFD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
|
package/lib/utilities/string.js
CHANGED
|
@@ -57,13 +57,9 @@ function nodeAsString(node, tokens) {
|
|
|
57
57
|
function nodesAsString(nodes, tokens) {
|
|
58
58
|
var string = nodes.reduce(function(string, node) {
|
|
59
59
|
var nodeString = nodeAsString(node, tokens);
|
|
60
|
-
|
|
61
|
-
string = nodeString; ///
|
|
62
|
-
} else {
|
|
63
|
-
string = "".concat(string).concat(_constants.COMMA).concat(nodeString);
|
|
64
|
-
}
|
|
60
|
+
string = string === _constants.EMPTY_STRING ? nodeString : "".concat(string).concat(_constants.COMMA).concat(nodeString);
|
|
65
61
|
return string;
|
|
66
|
-
},
|
|
62
|
+
}, _constants.EMPTY_STRING);
|
|
67
63
|
return string;
|
|
68
64
|
}
|
|
69
65
|
function termNodeFromTermString(termString, releaseContext) {
|
|
@@ -83,4 +79,4 @@ function metastatementNodeFromMetastatementString(metastatementString, releaseCo
|
|
|
83
79
|
return metastatementNode;
|
|
84
80
|
}
|
|
85
81
|
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBDT01NQSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTEFCRUxfUlVMRV9OQU1FLCBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FLCBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTlJVTEVfTkFNRSwgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlQXNTdHJpbmcobm9kZSwgdG9rZW5zKSB7XG4gIGxldCBzdHJpbmcgPSBudWxsO1xuXG4gIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBjb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKTtcblxuICAgICAgc3RyaW5nID0gY29udGVudDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuID0gbm9uVGVybWluYWxOb2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW4gPSBub25UZXJtaW5hbE5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW4oKSxcbiAgICAgICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YoZmlyc3RTaWduaWZpY2FudFRva2VuKSxcbiAgICAgICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihsYXN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgICAgICBzdGFydCA9IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4LCAvLy9cbiAgICAgICAgICAgIGVuZCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxO1xuXG4gICAgICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7ICAvLy9cblxuICAgICAgc3RyaW5nID0gdG9rZW5zLnJlZHVjZSgoc3RyaW5nLCB0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gdG9rZW4uZ2V0Q29udGVudCgpO1xuXG4gICAgICAgIHN0cmluZyA9IGAke3N0cmluZ30ke2NvbnRlbnR9YDtcblxuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfSwgRU1QVFlfU1RSSU5HKTtcbiAgICB9XG4gIH1cblxuICBpZiAoc3RyaW5nICE9PSBudWxsKSB7XG4gICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1tcXHJcXG5dLywgRU1QVFlfU1RSSU5HKVxuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzQXNTdHJpbmcobm9kZXMsIHRva2Vucykge1xuICBjb25zdCBzdHJpbmcgPSBub2Rlcy5yZWR1Y2UoKHN0cmluZywgbm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGVTdHJpbmcgPSBub2RlQXNTdHJpbmcobm9kZSwgdG9rZW5zKTtcblxuICAgIHN0cmluZyA9IChzdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgICAgICAgICAgbm9kZVN0cmluZyA6XG4gICAgICAgICAgICAgICAgYCR7c3RyaW5nfSR7Q09NTUF9JHtub2RlU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtTm9kZUZyb21UZXJtU3RyaW5nKHRlcm1TdHJpbmcsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gQ09OU1RSVUNUT1JfREVDTEFSQVRJT05SVUxFX05BTUUsXG4gICAgICAgIGNvbnRlbnQgPSBgQ29uc3RydWN0b3IgJHt0ZXJtU3RyaW5nfVxuYCxcbiAgICAgICAgbm9kZSA9IHJlbGVhc2VDb250ZXh0Lm5vZGVGcm9tQ29udGVudEFuZFJ1bGVOYW1lKGNvbnRlbnQsIHJ1bGVOYW1lKSxcbiAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcblxuICByZXR1cm4gdGVybU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbE5vZGVGcm9tTGFiZWxTdHJpbmcobGFiZWxTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBsYWJlbFN0cmluZywgLy8vXG4gICAgICAgIHJ1bGVOYW1lID0gTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICBub2RlID0gcmVsZWFzZUNvbnRleHQubm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUpLFxuICAgICAgICBsYWJlbE5vZGUgPSBub2RlOyAvLy9cblxuICByZXR1cm4gbGFiZWxOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCkge1xuICBjb25zdCBydWxlTmFtZSA9IFVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgIGNvbnRlbnQgPSBgJHtzdGF0ZW1lbnRTdHJpbmd9XG5gLFxuICAgICAgICBub2RlID0gcmVsZWFzZUNvbnRleHQubm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmcobWV0YXN0YXRlbWVudFN0cmluZywgcmVsZWFzZUNvbnRleHQpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgY29udGVudCA9IGAke21ldGFzdGF0ZW1lbnRTdHJpbmd9XG5gLFxuICAgICAgICBub2RlID0gcmVsZWFzZUNvbnRleHQubm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJ0ZXJtTm9kZUZyb21UZXJtU3RyaW5nIiwibGFiZWxOb2RlRnJvbUxhYmVsU3RyaW5nIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlIiwidG9rZW5zIiwic3RyaW5nIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJub25UZXJtaW5hbE5vZGUiLCJmaXJzdFNpZ25pZmljYW50VG9rZW4iLCJnZXRGaXJzdFNpZ25pZmljYW50VG9rZW4iLCJsYXN0U2lnbmlmaWNhbnRUb2tlbiIsImdldExhc3RTaWduaWZpY2FudFRva2VuIiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJpbmRleE9mIiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZW5kIiwic2xpY2UiLCJyZWR1Y2UiLCJ0b2tlbiIsIkVNUFRZX1NUUklORyIsInJlcGxhY2UiLCJub2RlcyIsIm5vZGVTdHJpbmciLCJDT01NQSIsInRlcm1TdHJpbmciLCJyZWxlYXNlQ29udGV4dCIsInJ1bGVOYW1lIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05SVUxFX05BTUUiLCJub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwidGVybU5vZGUiLCJsYWJlbFN0cmluZyIsIkxBQkVMX1JVTEVfTkFNRSIsImxhYmVsTm9kZSIsInN0YXRlbWVudFN0cmluZyIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIlVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFVZ0JBLFlBQVk7ZUFBWkE7O0lBdUNBQyxhQUFhO2VBQWJBOztJQWNBQyxzQkFBc0I7ZUFBdEJBOztJQVdBQyx3QkFBd0I7ZUFBeEJBOztJQVNBQyxnQ0FBZ0M7ZUFBaENBOztJQVdBQyx3Q0FBd0M7ZUFBeENBOzs7cUJBNUZVO3lCQUNVO3lCQUNvRztBQUV4SSxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsa0NBQzFCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUMscUNBQy9CRSx5QkFBeUJGLElBQUFBLGdCQUFTLEVBQUM7QUFFbEMsU0FBU1AsYUFBYVUsSUFBSSxFQUFFQyxNQUFNLEVBQUU7SUFDekMsSUFBSUMsU0FBUyxJQUFJO0lBRWpCLElBQUlGLFNBQVMsSUFBSSxFQUFFO1FBQ2pCLElBQU1HLG1CQUFtQkgsS0FBS0ksY0FBYztRQUU1QyxJQUFJRCxrQkFBa0I7WUFDcEIsSUFBTUUsZUFBZUwsTUFDZk0sVUFBVUQsYUFBYUUsVUFBVTtZQUV2Q0wsU0FBU0ksU0FBUyxHQUFHO1FBQ3ZCLE9BQU87WUFDTCxJQUFNRSxrQkFBa0JSLE1BQ2xCUyx3QkFBd0JELGdCQUFnQkUsd0JBQXdCLElBQ2hFQyx1QkFBdUJILGdCQUFnQkksdUJBQXVCLElBQzlEQyw2QkFBNkJaLE9BQU9hLE9BQU8sQ0FBQ0wsd0JBQzVDTSw0QkFBNEJkLE9BQU9hLE9BQU8sQ0FBQ0gsdUJBQzNDSyxRQUFRSCw0QkFDUkksTUFBTUYsNEJBQTRCO1lBRXhDZCxTQUFTQSxPQUFPaUIsS0FBSyxDQUFDRixPQUFPQyxNQUFPLEdBQUc7WUFFdkNmLFNBQVNELE9BQU9rQixNQUFNLENBQUMsU0FBQ2pCLFFBQVFrQixPQUFVO2dCQUN4QyxJQUFNZCxVQUFVYyxNQUFNYixVQUFVO2dCQUVoQ0wsU0FBUyxBQUFDLEdBQVdJLE9BQVRKLFFBQWlCLE9BQVJJO2dCQUVyQixPQUFPSjtZQUNULEdBQUdtQix1QkFBWTtRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUluQixXQUFXLElBQUksRUFBRTtRQUNuQkEsU0FBU0EsT0FBT29CLE9BQU8sQ0FBQyxVQUFVRCx1QkFBWTtJQUNoRCxDQUFDO0lBRUQsT0FBT25CO0FBQ1Q7QUFFTyxTQUFTWCxjQUFjZ0MsS0FBSyxFQUFFdEIsTUFBTSxFQUFFO0lBQzNDLElBQU1DLFNBQVNxQixNQUFNSixNQUFNLENBQUMsU0FBQ2pCLFFBQVFGLE1BQVM7UUFDNUMsSUFBTXdCLGFBQWFsQyxhQUFhVSxNQUFNQztRQUV0Q0MsU0FBUyxBQUFDQSxXQUFXbUIsdUJBQVksR0FDdEJHLGFBQ0MsQUFBQyxHQUFXQyxPQUFUdkIsUUFBaUJzQixPQUFSQyxnQkFBSyxFQUFjLE9BQVhELFdBQVk7UUFFNUMsT0FBT3RCO0lBQ1QsR0FBR21CLHVCQUFZO0lBRWYsT0FBT25CO0FBQ1Q7QUFFTyxTQUFTVix1QkFBdUJrQyxVQUFVLEVBQUVDLGNBQWMsRUFBRTtJQUNqRSxJQUFNQyxXQUFXQywyQ0FBZ0MsRUFDM0N2QixVQUFVLEFBQUMsZUFBeUIsT0FBWG9CLFlBQVcsT0FFcEMxQixPQUFPMkIsZUFBZUcsMEJBQTBCLENBQUN4QixTQUFTc0IsV0FDMURHLDZCQUE2Qi9CLE1BQzdCZ0MsV0FBV3BDLGNBQWNtQztJQUUvQixPQUFPQztBQUNUO0FBRU8sU0FBU3ZDLHlCQUF5QndDLFdBQVcsRUFBRU4sY0FBYyxFQUFFO0lBQ3BFLElBQU1yQixVQUFVMkIsYUFDVkwsV0FBV00sMEJBQWUsRUFDMUJsQyxPQUFPMkIsZUFBZUcsMEJBQTBCLENBQUN4QixTQUFTc0IsV0FDMURPLFlBQVluQyxNQUFNLEdBQUc7SUFFM0IsT0FBT21DO0FBQ1Q7QUFFTyxTQUFTekMsaUNBQWlDMEMsZUFBZSxFQUFFVCxjQUFjLEVBQUU7SUFDaEYsSUFBTUMsV0FBV1MsMENBQStCLEVBQzFDL0IsVUFBVSxBQUFDLEdBQWtCLE9BQWhCOEIsaUJBQWdCLE9BRTdCcEMsT0FBTzJCLGVBQWVHLDBCQUEwQixDQUFDeEIsU0FBU3NCLFdBQzFEVSwyQkFBMkJ0QyxNQUMzQnVDLGdCQUFnQnpDLG1CQUFtQndDO0lBRXpDLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTNUMseUNBQXlDNkMsbUJBQW1CLEVBQUViLGNBQWMsRUFBRTtJQUM1RixJQUFNQyxXQUFXYSw4Q0FBbUMsRUFDOUNuQyxVQUFVLEFBQUMsR0FBc0IsT0FBcEJrQyxxQkFBb0IsT0FFakN4QyxPQUFPMkIsZUFBZUcsMEJBQTBCLENBQUN4QixTQUFTc0IsV0FDMURjLCtCQUErQjFDLE1BQy9CMkMsb0JBQW9CNUMsdUJBQXVCMkM7SUFFakQsT0FBT0M7QUFDVCJ9
|
|
@@ -27,14 +27,14 @@ function matchBracketedNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
|
27
27
|
bracketedNodeMatches = nonTerminalNodeMatches; ///
|
|
28
28
|
}
|
|
29
29
|
if (!bracketedNodeMatches) {
|
|
30
|
-
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, bracketedNonTerminalChildNodeA = bracketedNonTerminalChildNodeFromChildNodes(childNodesA);
|
|
30
|
+
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, ruleName = _ruleNames.METASTATEMENT_RULE_NAME, bracketedNonTerminalChildNodeA = bracketedNonTerminalChildNodeFromChildNodes(childNodesA, ruleName);
|
|
31
31
|
if (bracketedNonTerminalChildNodeA !== null) {
|
|
32
32
|
var nodeA = bracketedNonTerminalChildNodeA, nodeB = nonTerminalNodeB, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
|
|
33
33
|
bracketedNodeMatches = nodeMatches; ///
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
if (!bracketedNodeMatches) {
|
|
37
|
-
var nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesB = nonTerminalNodeBChildNodes, bracketedNonTerminalChildNodeB = bracketedNonTerminalChildNodeFromChildNodes(childNodesB);
|
|
37
|
+
var nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesB = nonTerminalNodeBChildNodes, ruleName1 = _ruleNames.METASTATEMENT_RULE_NAME, bracketedNonTerminalChildNodeB = bracketedNonTerminalChildNodeFromChildNodes(childNodesB, ruleName1);
|
|
38
38
|
if (bracketedNonTerminalChildNodeB !== null) {
|
|
39
39
|
var nodeB1 = bracketedNonTerminalChildNodeB, nodeA1 = nonTerminalNodeA, nodeMatches1 = matchNode(nodeA1, nodeB1);
|
|
40
40
|
bracketedNodeMatches = nodeMatches1; ///
|
|
@@ -42,8 +42,7 @@ function matchBracketedNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
|
42
42
|
}
|
|
43
43
|
return bracketedNodeMatches;
|
|
44
44
|
}
|
|
45
|
-
function bracketedNonTerminalChildNodeFromChildNodes(childNodes) {
|
|
46
|
-
var ruleName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _ruleNames.METASTATEMENT_RULE_NAME;
|
|
45
|
+
function bracketedNonTerminalChildNodeFromChildNodes(childNodes, ruleName) {
|
|
47
46
|
var bracketedNonTerminalChildNode = null;
|
|
48
47
|
var childNodesLength = childNodes.length;
|
|
49
48
|
if (childNodesLength === _constants.BRACKETED_CHILD_NODES_LENGTH) {
|
|
@@ -58,4 +57,4 @@ function bracketedNonTerminalChildNodeFromChildNodes(childNodes) {
|
|
|
58
57
|
return bracketedNonTerminalChildNode;
|
|
59
58
|
}
|
|
60
59
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3Vic3RpdHV0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIiAgICBcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbWF0Y2hlciB9IGZyb20gXCIuLi9tYXRjaGVyXCI7XG5pbXBvcnQgeyBmaXJzdCwgc2Vjb25kLCB0aGlyZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgQlJBQ0tFVEVEX0NISUxEX05PREVTX0xFTkdUSCwgTEVGVF9CUkFDS0VULCBSSUdIVF9CUkFDS0VUIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hCcmFja2V0ZWROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQikge1xuICBsZXQgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBpZiAoIWJyYWNrZXRlZE5vZGVNYXRjaGVzKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQik7XG5cbiAgICBicmFja2V0ZWROb2RlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgfVxuXG4gIGlmICghYnJhY2tldGVkTm9kZU1hdGNoZXMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHJ1bGVOYW1lID0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICAgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVBID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzQSwgcnVsZU5hbWUpO1xuXG4gICAgaWYgKGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZUEgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUEsICAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gbm9uVGVybWluYWxOb2RlQiwgLy8vXG4gICAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgIGJyYWNrZXRlZE5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmICghYnJhY2tldGVkTm9kZU1hdGNoZXMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHJ1bGVOYW1lID0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICAgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVCID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzQiwgcnVsZU5hbWUpO1xuXG4gICAgaWYgKGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZUIgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUIsICAvLy9cbiAgICAgICAgICAgIG5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgICBicmFja2V0ZWROb2RlTWF0Y2hlcyA9IG5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYnJhY2tldGVkTm9kZU1hdGNoZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKSB7XG4gIGxldCBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZSA9IG51bGw7XG5cbiAgY29uc3QgY2hpbGROb2Rlc0xlbmd0aCA9IGNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChjaGlsZE5vZGVzTGVuZ3RoID09PSBCUkFDS0VURURfQ0hJTERfTk9ERVNfTEVOR1RIKSB7XG4gICAgY29uc3QgZmlyc3RDaGlsZE5vZGUgPSBmaXJzdChjaGlsZE5vZGVzKSxcbiAgICAgICAgICB0aGlyZENoaWxkTm9kZSA9IHRoaXJkKGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZSA9IHNlY29uZChjaGlsZE5vZGVzKSxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgdGhpcmRDaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSB0aGlyZENoaWxkTm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHNlY29uZENoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGZpcnN0Q2hpbGROb2RlVGVybWluYWxOb2RlICYmIHNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSAmJiB0aGlyZENoaWxkTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc2Vjb25kQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBmaXJzdFRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgIHNlY29uZFRlcm1pbmFsTm9kZSA9IHRoaXJkQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50ID0gZmlyc3RUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudCA9IHNlY29uZFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZVJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lID09PSBydWxlTmFtZSksXG4gICAgICAgICAgICBmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCA9IChmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IExFRlRfQlJBQ0tFVCksXG4gICAgICAgICAgICBzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50UmlnaHRCcmFja2V0ID0gKHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IFJJR0hUX0JSQUNLRVQpO1xuXG4gICAgICBpZiAobm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSAmJiBmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCAmJiBzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50UmlnaHRCcmFja2V0KSB7XG4gICAgICAgIGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlID0gbm9uVGVybWluYWxOb2RlOyAgLy8vXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlO1xufVxuIl0sIm5hbWVzIjpbIm1hdGNoQnJhY2tldGVkTm9uVGVybWluYWxOb2RlIiwiYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwiYnJhY2tldGVkTm9kZU1hdGNoZXMiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0EiLCJydWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwiYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVBIiwibm9kZUEiLCJub2RlQiIsIm5vZGVNYXRjaGVzIiwibWF0Y2hOb2RlIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQiIsImJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQiIsImNoaWxkTm9kZXMiLCJicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZSIsImNoaWxkTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJCUkFDS0VURURfQ0hJTERfTk9ERVNfTEVOR1RIIiwiZmlyc3RDaGlsZE5vZGUiLCJmaXJzdCIsInRoaXJkQ2hpbGROb2RlIiwidGhpcmQiLCJzZWNvbmRDaGlsZE5vZGUiLCJzZWNvbmQiLCJmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGhpcmRDaGlsZE5vZGVUZXJtaW5hbE5vZGUiLCJzZWNvbmRDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImZpcnN0VGVybWluYWxOb2RlIiwic2Vjb25kVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImZpcnN0VGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50Iiwibm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSIsImZpcnN0VGVybWluYWxOb2RlQ29udGVudExlZnRCcmFja2V0IiwiTEVGVF9CUkFDS0VUIiwic2Vjb25kVGVybWluYWxOb2RlQ29udGVudFJpZ2h0QnJhY2tldCIsIlJJR0hUX0JSQUNLRVQiXSwibWFwcGluZ3MiOiJBQUFJOzs7Ozs7Ozs7OztJQU9ZQSw2QkFBNkI7ZUFBN0JBOztJQTBDQUMsMkNBQTJDO2VBQTNDQTs7O3VCQS9DUTtxQkFDYTt5QkFDRzt5QkFDa0M7QUFFbkUsU0FBU0QsOEJBQThCRSxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDaEYsSUFBSUMsdUJBQXVCLEtBQUs7SUFFaEMsSUFBSSxDQUFDQSxzQkFBc0I7UUFDekIsSUFBTUMseUJBQXlCQyxnQkFBTyxDQUFDQyxvQkFBb0IsQ0FBQ0wsa0JBQWtCQztRQUU5RUMsdUJBQXVCQyx3QkFBeUIsR0FBRztJQUNyRCxDQUFDO0lBRUQsSUFBSSxDQUFDRCxzQkFBc0I7UUFDekIsSUFBTUksNkJBQTZCTixpQkFBaUJPLGFBQWEsSUFDM0RDLGNBQWNGLDRCQUNkRyxXQUFXQyxrQ0FBdUIsRUFDbENDLGlDQUFpQ1osNENBQTRDUyxhQUFhQztRQUVoRyxJQUFJRSxtQ0FBbUMsSUFBSSxFQUFFO1lBQzNDLElBQU1DLFFBQVFELGdDQUNSRSxRQUFRWixrQkFDUmEsY0FBY1YsZ0JBQU8sQ0FBQ1csU0FBUyxDQUFDSCxPQUFPQztZQUU3Q1gsdUJBQXVCWSxhQUFhLEdBQUc7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUNaLHNCQUFzQjtRQUN6QixJQUFNYyw2QkFBNkJmLGlCQUFpQk0sYUFBYSxJQUMzRFUsY0FBY0QsNEJBQ2RQLFlBQVdDLGtDQUF1QixFQUNsQ1EsaUNBQWlDbkIsNENBQTRDa0IsYUFBYVI7UUFFaEcsSUFBSVMsbUNBQW1DLElBQUksRUFBRTtZQUMzQyxJQUFNTCxTQUFRSyxnQ0FDUk4sU0FBUVosa0JBQ1JjLGVBQWNDLFVBQVVILFFBQU9DO1lBRXJDWCx1QkFBdUJZLGNBQWEsR0FBRztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9aO0FBQ1Q7QUFFTyxTQUFTSCw0Q0FBNENvQixVQUFVLEVBQUVWLFFBQVEsRUFBRTtJQUNoRixJQUFJVyxnQ0FBZ0MsSUFBSTtJQUV4QyxJQUFNQyxtQkFBbUJGLFdBQVdHLE1BQU07SUFFMUMsSUFBSUQscUJBQXFCRSx1Q0FBNEIsRUFBRTtRQUNyRCxJQUFNQyxpQkFBaUJDLElBQUFBLFlBQUssRUFBQ04sYUFDdkJPLGlCQUFpQkMsSUFBQUEsWUFBSyxFQUFDUixhQUN2QlMsa0JBQWtCQyxJQUFBQSxhQUFNLEVBQUNWLGFBQ3pCVyw2QkFBNkJOLGVBQWVPLGNBQWMsSUFDMURDLDZCQUE2Qk4sZUFBZUssY0FBYyxJQUMxREUsaUNBQWlDTCxnQkFBZ0JNLGlCQUFpQjtRQUV4RSxJQUFJSiw4QkFBOEJHLGtDQUFrQ0QsNEJBQTRCO1lBQzlGLElBQU1HLGtCQUFrQlAsaUJBQ2xCUSxvQkFBb0JaLGdCQUNwQmEscUJBQXFCWCxnQkFDckJZLDBCQUEwQkgsZ0JBQWdCSSxXQUFXLElBQ3JEQywyQkFBMkJKLGtCQUFrQkssVUFBVSxJQUN2REMsNEJBQTRCTCxtQkFBbUJJLFVBQVUsSUFDekRFLGtDQUFtQ0wsNEJBQTRCN0IsVUFDL0RtQyxzQ0FBdUNKLDZCQUE2QkssdUJBQVksRUFDaEZDLHdDQUF5Q0osOEJBQThCSyx3QkFBYTtZQUUxRixJQUFJSixtQ0FBbUNDLHVDQUF1Q0UsdUNBQXVDO2dCQUNuSDFCLGdDQUFnQ2UsaUJBQWtCLEdBQUc7WUFDdkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBT2Y7QUFDVCJ9
|
package/lib/variable.js
CHANGED
|
@@ -28,11 +28,10 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
28
28
|
return Constructor;
|
|
29
29
|
}
|
|
30
30
|
var Variable = /*#__PURE__*/ function() {
|
|
31
|
-
function Variable(type, name
|
|
31
|
+
function Variable(type, name) {
|
|
32
32
|
_classCallCheck(this, Variable);
|
|
33
33
|
this.type = type;
|
|
34
34
|
this.name = name;
|
|
35
|
-
this.termNode = termNode;
|
|
36
35
|
}
|
|
37
36
|
_createClass(Variable, [
|
|
38
37
|
{
|
|
@@ -47,18 +46,6 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
47
46
|
return this.name;
|
|
48
47
|
}
|
|
49
48
|
},
|
|
50
|
-
{
|
|
51
|
-
key: "getTermNode",
|
|
52
|
-
value: function getTermNode() {
|
|
53
|
-
return this.termNode;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "setTermNode",
|
|
58
|
-
value: function setTermNode(termNode) {
|
|
59
|
-
this.termNode = termNode;
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
49
|
{
|
|
63
50
|
key: "matchName",
|
|
64
51
|
value: function matchName(name) {
|
|
@@ -66,31 +53,10 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
66
53
|
return matchesName;
|
|
67
54
|
}
|
|
68
55
|
},
|
|
69
|
-
{
|
|
70
|
-
key: "isEqualTo",
|
|
71
|
-
value: function isEqualTo(variable) {
|
|
72
|
-
var equalTo = false;
|
|
73
|
-
if (variable === this) {
|
|
74
|
-
equalTo = true;
|
|
75
|
-
} else {
|
|
76
|
-
var termNode = variable.getTermNode();
|
|
77
|
-
if (termNode === this.termNode) {
|
|
78
|
-
equalTo = true;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return equalTo;
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
56
|
{
|
|
85
57
|
key: "asString",
|
|
86
58
|
value: function asString(tokens) {
|
|
87
|
-
var string;
|
|
88
|
-
if (this.type === null) {
|
|
89
|
-
string = this.name;
|
|
90
|
-
} else {
|
|
91
|
-
var typeName = this.type.getName();
|
|
92
|
-
string = "".concat(this.name, ":").concat(typeName);
|
|
93
|
-
}
|
|
59
|
+
var typeName = this.type.getName(), string = "".concat(this.name, ":").concat(typeName);
|
|
94
60
|
return string;
|
|
95
61
|
}
|
|
96
62
|
}
|
|
@@ -98,7 +64,7 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
98
64
|
{
|
|
99
65
|
key: "fromTypeAndName",
|
|
100
66
|
value: function fromTypeAndName(type, name) {
|
|
101
|
-
var
|
|
67
|
+
var variable = new Variable(type, name);
|
|
102
68
|
return variable;
|
|
103
69
|
}
|
|
104
70
|
}
|
|
@@ -106,4 +72,4 @@ var Variable = /*#__PURE__*/ function() {
|
|
|
106
72
|
return Variable;
|
|
107
73
|
}();
|
|
108
74
|
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmFyaWFibGUge1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBuYW1lKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBtYXRjaGVzTmFtZSA9ICh0aGlzLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcodG9rZW5zKSB7XG4gICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN0cmluZyA9IGAke3RoaXMubmFtZX06JHt0eXBlTmFtZX1gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHR5cGUsIG5hbWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlZhcmlhYmxlIiwidHlwZSIsIm5hbWUiLCJnZXRUeXBlIiwiZ2V0TmFtZSIsIm1hdGNoTmFtZSIsIm1hdGNoZXNOYW1lIiwiYXNTdHJpbmciLCJ0b2tlbnMiLCJ0eXBlTmFtZSIsInN0cmluZyIsImZyb21UeXBlQW5kTmFtZSIsInZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLHlCQUFOO2FBQU1BLFNBQ1BDLElBQUksRUFBRUMsSUFBSTs4QkFESEY7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFIS0Y7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVILElBQUksRUFBRTtnQkFDZCxJQUFNSSxjQUFlLElBQUksQ0FBQ0osSUFBSSxLQUFLQTtnQkFFbkMsT0FBT0k7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBTUMsV0FBVyxJQUFJLENBQUNSLElBQUksQ0FBQ0csT0FBTyxJQUM1Qk0sU0FBUyxBQUFDLEdBQWVELE9BQWIsSUFBSSxDQUFDUCxJQUFJLEVBQUMsS0FBWSxPQUFUTztnQkFFL0IsT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxnQkFBZ0JWLElBQUksRUFBRUMsSUFBSSxFQUFFO2dCQUNqQyxJQUFNVSxXQUFXLElBNUJBWixTQTRCYUMsTUFBTUM7Z0JBRXBDLE9BQU9VO1lBQ1Q7OztXQS9CbUJaIn0=
|
|
@@ -8,18 +8,18 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyTypeAssertion;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _variable = /*#__PURE__*/ _interopRequireDefault(require("../../variable"));
|
|
11
12
|
var _type = /*#__PURE__*/ _interopRequireDefault(require("../../assertion/type"));
|
|
12
13
|
var _array = require("../../utilities/array");
|
|
13
|
-
var _string = require("../../utilities/string");
|
|
14
|
-
var _query = require("../../utilities/query");
|
|
15
14
|
var _term = require("../../verify/term");
|
|
15
|
+
var _query = require("../../utilities/query");
|
|
16
16
|
function _interopRequireDefault(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
var termNodeQuery = (0, _query.nodeQuery)("/typeAssertion/term"), typeNodeQuery = (0, _query.nodeQuery)("/typeAssertion/type");
|
|
22
|
-
function verifyTypeAssertion(typeAssertionNode, assertions, proofContext) {
|
|
22
|
+
function verifyTypeAssertion(typeAssertionNode, assertions, derived, proofContext) {
|
|
23
23
|
var typeAssertionVerified = false;
|
|
24
24
|
proofContext.begin(typeAssertionNode);
|
|
25
25
|
var typeAssertionString = proofContext.nodeAsString(typeAssertionNode);
|
|
@@ -29,13 +29,14 @@ function verifyTypeAssertion(typeAssertionNode, assertions, proofContext) {
|
|
|
29
29
|
proofContext.error("The ".concat(typeName, " type is not present."));
|
|
30
30
|
} else {
|
|
31
31
|
if (!typeAssertionVerified) {
|
|
32
|
-
var variableTypeAssertionVerified = verifyVariableTypeAssertion(typeAssertionNode, assertions, proofContext);
|
|
32
|
+
var variableTypeAssertionVerified = verifyVariableTypeAssertion(typeAssertionNode, assertions, derived, proofContext);
|
|
33
33
|
typeAssertionVerified = variableTypeAssertionVerified; ///
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
// if (!typeAssertionVerified) {
|
|
36
|
+
// const termTypeAssertionVerified = verifyTermTypeAssertion(typeAssertionNode, assertions, proofContext);
|
|
37
|
+
//
|
|
38
|
+
// typeAssertionVerified = termTypeAssertionVerified; ///
|
|
39
|
+
// }
|
|
39
40
|
}
|
|
40
41
|
if (typeAssertionVerified) {
|
|
41
42
|
proofContext.info("Verified the '".concat(typeAssertionString, "' statement type assertion."));
|
|
@@ -43,45 +44,67 @@ function verifyTypeAssertion(typeAssertionNode, assertions, proofContext) {
|
|
|
43
44
|
typeAssertionVerified ? proofContext.complete(typeAssertionNode) : proofContext.halt(typeAssertionNode);
|
|
44
45
|
return typeAssertionVerified;
|
|
45
46
|
}
|
|
46
|
-
function verifyVariableTypeAssertion(typeAssertionNode, assertions, proofContext) {
|
|
47
|
+
function verifyVariableTypeAssertion(typeAssertionNode, assertions, derived, proofContext) {
|
|
47
48
|
var variableTypeAssertionVerified = false;
|
|
48
49
|
var context = proofContext, variables = [], termNode = termNodeQuery(typeAssertionNode), termVerifiedAsVariable = (0, _term.verifyTermAsVariable)(termNode, variables, context);
|
|
49
50
|
if (termVerifiedAsVariable) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (!assertedTypeEqualToOrSubTypeOfVariableType) {
|
|
51
|
+
var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), assertedTypeName = typeName, assertedType = proofContext.findTypeByTypeName(assertedTypeName), firstVariable = (0, _array.first)(variables), variable = firstVariable, variableName = variable.getName(), variableType = variable.getType();
|
|
52
|
+
if (derived) {
|
|
53
|
+
var variableTypeEqualToOrSubTypeOfAssertedType = variableType.isEqualToOrSubTypeOf(assertedType);
|
|
54
|
+
if (!variableTypeEqualToOrSubTypeOfAssertedType) {
|
|
55
55
|
var assertedTypeName1 = assertedType.getName(), variableTypeName = variableType.getName();
|
|
56
|
-
proofContext.error("The '".concat(
|
|
56
|
+
proofContext.error("The '".concat(variableName, "' variable's '").concat(variableTypeName, "' type is not equal to or a sub-type of the '").concat(assertedTypeName1, "' asserted type."));
|
|
57
57
|
} else {
|
|
58
|
-
var type = assertedType, typeAssertion = _type.default.fromTypeAndVariableName(type, variableName), assertion = typeAssertion; ///
|
|
59
|
-
assertions.push(assertion);
|
|
60
58
|
variableTypeAssertionVerified = true;
|
|
61
59
|
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return variableTypeAssertionVerified;
|
|
65
|
-
}
|
|
66
|
-
function verifyTermTypeAssertion(typeAssertionNode, assertions, proofContext) {
|
|
67
|
-
var termTypeAssertionVerified = false;
|
|
68
|
-
var types = [], context = proofContext, termNode = termNodeQuery(typeAssertionNode), termVerifiedAgainstConstructors = (0, _term.verifyTermAgainstConstructors)(termNode, types, context);
|
|
69
|
-
if (termVerifiedAgainstConstructors) {
|
|
70
|
-
if (assertions === null) {
|
|
71
|
-
termTypeAssertionVerified = true;
|
|
72
60
|
} else {
|
|
73
|
-
var
|
|
74
|
-
if (!
|
|
75
|
-
var
|
|
76
|
-
proofContext.error("The '".concat(
|
|
61
|
+
var assertedTypeEqualToOrSubTypeOfVariableType = assertedType.isEqualToOrSubTypeOf(variableType);
|
|
62
|
+
if (!assertedTypeEqualToOrSubTypeOfVariableType) {
|
|
63
|
+
var assertedTypeName2 = assertedType.getName(), variableTypeName1 = variableType.getName();
|
|
64
|
+
proofContext.error("The '".concat(assertedTypeName2, "' asserted type is not equal to or a sub-type of the '").concat(variableName, "' variable's '").concat(variableTypeName1, "' type."));
|
|
77
65
|
} else {
|
|
78
|
-
var type = assertedType,
|
|
66
|
+
var type = assertedType, name = variableName, variable1 = _variable.default.fromTypeAndName(type, name), typeAssertion = _type.default.fromVariable(variable1), assertion = typeAssertion; ///
|
|
79
67
|
assertions.push(assertion);
|
|
80
|
-
|
|
68
|
+
variableTypeAssertionVerified = true;
|
|
81
69
|
}
|
|
82
70
|
}
|
|
83
71
|
}
|
|
84
|
-
return
|
|
85
|
-
}
|
|
72
|
+
return variableTypeAssertionVerified;
|
|
73
|
+
} // function verifyTermTypeAssertion(typeAssertionNode, assertions, proofContext) {
|
|
74
|
+
// let termTypeAssertionVerified = false;
|
|
75
|
+
//
|
|
76
|
+
// const types = [],
|
|
77
|
+
// context = proofContext, ///
|
|
78
|
+
// termNode = termNodeQuery(typeAssertionNode),
|
|
79
|
+
// termVerifiedAgainstConstructors = verifyTermAgainstConstructors(termNode, types, context);
|
|
80
|
+
//
|
|
81
|
+
// if (termVerifiedAgainstConstructors) {
|
|
82
|
+
// const typeNode = typeNodeQuery(typeAssertionNode),
|
|
83
|
+
// typeName = typeNameFromTypeNode(typeNode),
|
|
84
|
+
// assertedTypeName = typeName, ///
|
|
85
|
+
// assertedType = proofContext.findTypeByTypeName(assertedTypeName),
|
|
86
|
+
// firstType = first(types),
|
|
87
|
+
// termType = firstType,
|
|
88
|
+
// termString = proofContext.nodeAsString(termNode),
|
|
89
|
+
// termTypeEqualToOrSubTypeOfAssertedType = termType.isEqualToOrSubTypeOf(assertedType);
|
|
90
|
+
//
|
|
91
|
+
// if (!termTypeEqualToOrSubTypeOfAssertedType) {
|
|
92
|
+
// const termTypeName = termType.getName(),
|
|
93
|
+
// assertedTypeName = assertedType.getName();
|
|
94
|
+
//
|
|
95
|
+
// proofContext.error(`The '${termString}' term's '${termTypeName}' type is not equal to or a sub-type of the '${assertedTypeName}' asserted type.`);
|
|
96
|
+
// } else {
|
|
97
|
+
// const type = assertedType, ///
|
|
98
|
+
// typeAssertion = TypeAssertion.fromTypeAndTermNode(type, termNode),
|
|
99
|
+
// assertion = typeAssertion; ///
|
|
100
|
+
//
|
|
101
|
+
// assertions.push(assertion);
|
|
102
|
+
//
|
|
103
|
+
// termTypeAssertionVerified = true;
|
|
104
|
+
// }
|
|
105
|
+
// }
|
|
106
|
+
//
|
|
107
|
+
// return termTypeAssertionVerified;
|
|
108
|
+
// }
|
|
86
109
|
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUeXBlQXNzZXJ0aW9uIGZyb20gXCIuLi8uLi9hc3NlcnRpb24vdHlwZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5VGVybUFzVmFyaWFibGUsIHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzIH0gZnJvbSBcIi4uLy4uL3ZlcmlmeS90ZXJtXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZUFzc2VydGlvbi90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3R5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2VydGlvbnMsIHByb29mQ29udGV4dCkge1xuICBsZXQgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgcHJvb2ZDb250ZXh0LmJlZ2luKHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBlQXNzZXJ0aW9uU3RyaW5nID0gcHJvb2ZDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgcHJvb2ZDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyB0eXBlIGFzc2VydGlvbi4uLmApO1xuXG4gIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IHByb29mQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKCF0eXBlUHJlc2VudCkge1xuICAgIHByb29mQ29udGV4dC5lcnJvcihgVGhlICR7dHlwZU5hbWV9IHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCF0eXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5VmFyaWFibGVUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NlcnRpb25zLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIGlmICghdHlwZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5VGVybVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2VydGlvbnMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRlcm1UeXBlQXNzZXJ0aW9uVmVyaWZpZWQ7ICAvLy9cbiAgICB9XG4gIH1cblxuICBpZiAodHlwZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgcHJvb2ZDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVtZW50IHR5cGUgYXNzZXJ0aW9uLmApO1xuICB9XG5cbiAgdHlwZUFzc2VydGlvblZlcmlmaWVkID9cbiAgICBwcm9vZkNvbnRleHQuY29tcGxldGUodHlwZUFzc2VydGlvbk5vZGUpIDpcbiAgICAgIHByb29mQ29udGV4dC5oYWx0KHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICByZXR1cm4gdHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlWYXJpYWJsZVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2VydGlvbnMsIHByb29mQ29udGV4dCkge1xuICBsZXQgdmFyaWFibGVUeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBjb250ZXh0ID0gcHJvb2ZDb250ZXh0LCAvLy9cbiAgICAgICAgdmFyaWFibGVzID0gW10sXG4gICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0KTtcblxuICBpZiAodGVybVZlcmlmaWVkQXNWYXJpYWJsZSkge1xuICAgIGlmIChhc3NlcnRpb25zID09PSBudWxsKSB7XG4gICAgICB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgICAgIGFzc2VydGVkVHlwZU5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgICAgYXNzZXJ0ZWRUeXBlID0gcHJvb2ZDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShhc3NlcnRlZFR5cGVOYW1lKSxcbiAgICAgICAgICAgIGZpcnN0VmFyaWFibGUgPSBmaXJzdCh2YXJpYWJsZXMpLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBmaXJzdFZhcmlhYmxlLCAvLy9cbiAgICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHZhcmlhYmxlVHlwZSA9IHZhcmlhYmxlLmdldFR5cGUoKSxcbiAgICAgICAgICAgIGFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSA9IGFzc2VydGVkVHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih2YXJpYWJsZVR5cGUpO1xuXG4gICAgICBpZiAoIWFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSkge1xuICAgICAgICBjb25zdCBhc3NlcnRlZFR5cGVOYW1lID0gYXNzZXJ0ZWRUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgdmFyaWFibGVUeXBlTmFtZSA9IHZhcmlhYmxlVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgcHJvb2ZDb250ZXh0LmVycm9yKGBUaGUgJyR7YXNzZXJ0ZWRUeXBlTmFtZX0nIGFzc2VydGVkIHR5cGUgaXMgbm90IGVxdWFsIHRvIG9yIGEgc3ViLXR5cGUgb2YgdGhlICcke3ZhcmlhYmxlTmFtZX0nIHZhcmlhYmxlJ3MgJyR7dmFyaWFibGVUeXBlTmFtZX0nIHR5cGUuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0eXBlID0gYXNzZXJ0ZWRUeXBlLCAgLy8vXG4gICAgICAgICAgICAgIHR5cGVBc3NlcnRpb24gPSBUeXBlQXNzZXJ0aW9uLmZyb21UeXBlQW5kVmFyaWFibGVOYW1lKHR5cGUsIHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgICAgIGFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb247ICAvLy9cblxuICAgICAgICBhc3NlcnRpb25zLnB1c2goYXNzZXJ0aW9uKTtcblxuICAgICAgICB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzZXJ0aW9ucywgcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZXMgPSBbXSxcbiAgICAgICAgY29udGV4dCA9IHByb29mQ29udGV4dCwgLy8vXG4gICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzKSB7XG4gICAgaWYgKGFzc2VydGlvbnMgPT09IG51bGwpIHtcbiAgICAgIHRlcm1UeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgICBhc3NlcnRlZFR5cGVOYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICAgIGFzc2VydGVkVHlwZSA9IHByb29mQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUoYXNzZXJ0ZWRUeXBlTmFtZSksXG4gICAgICAgICAgICBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSxcbiAgICAgICAgICAgIHRlcm1TdHJpbmcgPSBwcm9vZkNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKSxcbiAgICAgICAgICAgIGFzc2VydGVkVHlwZUVxdWFsVG9UZXJtVHlwZSA9ICh0ZXJtVHlwZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRlZFR5cGUuaXNFcXVhbFRvKHRlcm1UeXBlKTtcblxuICAgICAgaWYgKCFhc3NlcnRlZFR5cGVFcXVhbFRvVGVybVR5cGUpIHtcbiAgICAgICAgY29uc3QgdGVybVR5cGVOYW1lID0gdGVybVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICBhc3NlcnRlZFR5cGVOYW1lID0gYXNzZXJ0ZWRUeXBlLmdldE5hbWUoKTtcblxuICAgICAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSAnJHthc3NlcnRlZFR5cGVOYW1lfScgYXNzZXJ0ZWQgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3MgJyR7dGVybVR5cGVOYW1lfScgdHlwZS5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBhc3NlcnRlZFR5cGUsICAvLy9cbiAgICAgICAgICAgICAgdHlwZUFzc2VydGlvbiA9IFR5cGVBc3NlcnRpb24uZnJvbVR5cGVBbmRUZXJtTm9kZSh0eXBlLCB0ZXJtTm9kZSksXG4gICAgICAgICAgICAgIGFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb247ICAvLy9cblxuICAgICAgICBhc3NlcnRpb25zLnB1c2goYXNzZXJ0aW9uKTtcblxuICAgICAgICB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuIl0sIm5hbWVzIjpbInZlcmlmeVR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInR5cGVBc3NlcnRpb25Ob2RlIiwiYXNzZXJ0aW9ucyIsInByb29mQ29udGV4dCIsInR5cGVBc3NlcnRpb25WZXJpZmllZCIsImJlZ2luIiwidHlwZUFzc2VydGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwidHlwZU5vZGUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsImVycm9yIiwidmFyaWFibGVUeXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlWYXJpYWJsZVR5cGVBc3NlcnRpb24iLCJ0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5VGVybVR5cGVBc3NlcnRpb24iLCJpbmZvIiwiY29tcGxldGUiLCJoYWx0IiwiY29udGV4dCIsInZhcmlhYmxlcyIsInRlcm1Ob2RlIiwidGVybVZlcmlmaWVkQXNWYXJpYWJsZSIsInZlcmlmeVRlcm1Bc1ZhcmlhYmxlIiwiYXNzZXJ0ZWRUeXBlTmFtZSIsImFzc2VydGVkVHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImZpcnN0VmFyaWFibGUiLCJmaXJzdCIsInZhcmlhYmxlIiwidmFyaWFibGVOYW1lIiwiZ2V0TmFtZSIsInZhcmlhYmxlVHlwZSIsImdldFR5cGUiLCJhc3NlcnRlZFR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZWYXJpYWJsZVR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiIsInZhcmlhYmxlVHlwZU5hbWUiLCJ0eXBlIiwidHlwZUFzc2VydGlvbiIsIlR5cGVBc3NlcnRpb24iLCJmcm9tVHlwZUFuZFZhcmlhYmxlTmFtZSIsImFzc2VydGlvbiIsInB1c2giLCJ0eXBlcyIsInRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMiLCJ2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyIsImZpcnN0VHlwZSIsInRlcm1UeXBlIiwidGVybVN0cmluZyIsImFzc2VydGVkVHlwZUVxdWFsVG9UZXJtVHlwZSIsImlzRXF1YWxUbyIsInRlcm1UeXBlTmFtZSIsImZyb21UeXBlQW5kVGVy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
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vLi4vdmFyaWFibGVcIjtcbmltcG9ydCBUeXBlQXNzZXJ0aW9uIGZyb20gXCIuLi8uLi9hc3NlcnRpb24vdHlwZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlIH0gZnJvbSBcIi4uLy4uL3ZlcmlmeS90ZXJtXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVBc3NlcnRpb24vdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZUFzc2VydGlvbi90eXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NlcnRpb25zLCBkZXJpdmVkLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIHByb29mQ29udGV4dC5iZWdpbih0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IHByb29mQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gIHByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24uLi5gKTtcblxuICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgdHlwZVByZXNlbnQgPSBwcm9vZkNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gIGlmICghdHlwZVByZXNlbnQpIHtcbiAgICBwcm9vZkNvbnRleHQuZXJyb3IoYFRoZSAke3R5cGVOYW1lfSB0eXBlIGlzIG5vdCBwcmVzZW50LmApO1xuICB9IGVsc2Uge1xuICAgIGlmICghdHlwZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVZhcmlhYmxlVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzZXJ0aW9ucywgZGVyaXZlZCwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gdmFyaWFibGVUeXBlQXNzZXJ0aW9uVmVyaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICAvLyBpZiAoIXR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgIC8vICAgY29uc3QgdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVRlcm1UeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NlcnRpb25zLCBwcm9vZkNvbnRleHQpO1xuICAgIC8vXG4gICAgLy8gICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG4gICAgLy8gfVxuICB9XG5cbiAgaWYgKHR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgIHByb29mQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHN0YXRlbWVudCB0eXBlIGFzc2VydGlvbi5gKTtcbiAgfVxuXG4gIHR5cGVBc3NlcnRpb25WZXJpZmllZCA/XG4gICAgcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHR5cGVBc3NlcnRpb25Ob2RlKSA6XG4gICAgICBwcm9vZkNvbnRleHQuaGFsdCh0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIHR5cGVBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VmFyaWFibGVUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NlcnRpb25zLCBkZXJpdmVkLCBwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgY29udGV4dCA9IHByb29mQ29udGV4dCwgLy8vXG4gICAgICAgIHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlID0gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHZhcmlhYmxlcywgY29udGV4dCk7XG5cbiAgaWYgKHRlcm1WZXJpZmllZEFzVmFyaWFibGUpIHtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgIGFzc2VydGVkVHlwZU5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIGFzc2VydGVkVHlwZSA9IHByb29mQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUoYXNzZXJ0ZWRUeXBlTmFtZSksXG4gICAgICAgICAgZmlyc3RWYXJpYWJsZSA9IGZpcnN0KHZhcmlhYmxlcyksXG4gICAgICAgICAgdmFyaWFibGUgPSBmaXJzdFZhcmlhYmxlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZS5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVUeXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHlwZUVxdWFsVG9PclN1YlR5cGVPZkFzc2VydGVkVHlwZSA9IHZhcmlhYmxlVHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZihhc3NlcnRlZFR5cGUpO1xuXG4gICAgICBpZiAoIXZhcmlhYmxlVHlwZUVxdWFsVG9PclN1YlR5cGVPZkFzc2VydGVkVHlwZSkge1xuICAgICAgICBjb25zdCBhc3NlcnRlZFR5cGVOYW1lID0gYXNzZXJ0ZWRUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgdmFyaWFibGVUeXBlTmFtZSA9IHZhcmlhYmxlVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgcHJvb2ZDb250ZXh0LmVycm9yKGBUaGUgJyR7dmFyaWFibGVOYW1lfScgdmFyaWFibGUncyAnJHt2YXJpYWJsZVR5cGVOYW1lfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gb3IgYSBzdWItdHlwZSBvZiB0aGUgJyR7YXNzZXJ0ZWRUeXBlTmFtZX0nIGFzc2VydGVkIHR5cGUuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSA9IGFzc2VydGVkVHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih2YXJpYWJsZVR5cGUpO1xuXG4gICAgICBpZiAoIWFzc2VydGVkVHlwZUVxdWFsVG9PclN1YlR5cGVPZlZhcmlhYmxlVHlwZSkge1xuICAgICAgICBjb25zdCBhc3NlcnRlZFR5cGVOYW1lID0gYXNzZXJ0ZWRUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgdmFyaWFibGVUeXBlTmFtZSA9IHZhcmlhYmxlVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgcHJvb2ZDb250ZXh0LmVycm9yKGBUaGUgJyR7YXNzZXJ0ZWRUeXBlTmFtZX0nIGFzc2VydGVkIHR5cGUgaXMgbm90IGVxdWFsIHRvIG9yIGEgc3ViLXR5cGUgb2YgdGhlICcke3ZhcmlhYmxlTmFtZX0nIHZhcmlhYmxlJ3MgJyR7dmFyaWFibGVUeXBlTmFtZX0nIHR5cGUuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0eXBlID0gYXNzZXJ0ZWRUeXBlLCAgLy8vXG4gICAgICAgICAgICAgIG5hbWUgPSB2YXJpYWJsZU5hbWUsICAvLy9cbiAgICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSksXG4gICAgICAgICAgICAgIHR5cGVBc3NlcnRpb24gPSBUeXBlQXNzZXJ0aW9uLmZyb21WYXJpYWJsZSh2YXJpYWJsZSksXG4gICAgICAgICAgICAgIGFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb247ICAvLy9cblxuICAgICAgICBhc3NlcnRpb25zLnB1c2goYXNzZXJ0aW9uKTtcblxuICAgICAgICB2YXJpYWJsZVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuXG4vLyBmdW5jdGlvbiB2ZXJpZnlUZXJtVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzZXJ0aW9ucywgcHJvb2ZDb250ZXh0KSB7XG4vLyAgIGxldCB0ZXJtVHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG4vL1xuLy8gICBjb25zdCB0eXBlcyA9IFtdLFxuLy8gICAgICAgICBjb250ZXh0ID0gcHJvb2ZDb250ZXh0LCAvLy9cbi8vICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbi8vICAgICAgICAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG4vL1xuLy8gICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycykge1xuLy8gICAgIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4vLyAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4vLyAgICAgICAgICAgYXNzZXJ0ZWRUeXBlTmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4vLyAgICAgICAgICAgYXNzZXJ0ZWRUeXBlID0gcHJvb2ZDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShhc3NlcnRlZFR5cGVOYW1lKSxcbi8vICAgICAgICAgICBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4vLyAgICAgICAgICAgdGVybVR5cGUgPSBmaXJzdFR5cGUsXG4vLyAgICAgICAgICAgdGVybVN0cmluZyA9IHByb29mQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuLy8gICAgICAgICAgIHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mQXNzZXJ0ZWRUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YoYXNzZXJ0ZWRUeXBlKTtcbi8vXG4vLyAgICAgaWYgKCF0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZkFzc2VydGVkVHlwZSkge1xuLy8gICAgICAgY29uc3QgdGVybVR5cGVOYW1lID0gdGVybVR5cGUuZ2V0TmFtZSgpLFxuLy8gICAgICAgICAgICAgYXNzZXJ0ZWRUeXBlTmFtZSA9IGFzc2VydGVkVHlwZS5nZXROYW1lKCk7XG4vL1xuLy8gICAgICAgcHJvb2ZDb250ZXh0LmVycm9yKGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyAnJHt0ZXJtVHlwZU5hbWV9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byBvciBhIHN1Yi10eXBlIG9mIHRoZSAnJHthc3NlcnRlZFR5cGVOYW1lfScgYXNzZXJ0ZWQgdHlwZS5gKTtcbi8vICAgICB9IGVsc2Uge1xuLy8gICAgICAgY29uc3QgdHlwZSA9IGFzc2VydGVkVHlwZSwgIC8vL1xuLy8gICAgICAgICAgICAgdHlwZUFzc2VydGlvbiA9IFR5cGVBc3NlcnRpb24uZnJvbVR5cGVBbmRUZXJtTm9kZSh0eXBlLCB0ZXJtTm9kZSksXG4vLyAgICAgICAgICAgICBhc3NlcnRpb24gPSB0eXBlQXNzZXJ0aW9uOyAgLy8vXG4vL1xuLy8gICAgICAgYXNzZXJ0aW9ucy5wdXNoKGFzc2VydGlvbik7XG4vL1xuLy8gICAgICAgdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4vLyAgICAgfVxuLy8gICB9XG4vL1xuLy8gICByZXR1cm4gdGVybVR5cGVBc3NlcnRpb25WZXJpZmllZDtcbi8vIH1cblxuIl0sIm5hbWVzIjpbInZlcmlmeVR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInR5cGVBc3NlcnRpb25Ob2RlIiwiYXNzZXJ0aW9ucyIsImRlcml2ZWQiLCJwcm9vZkNvbnRleHQiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJiZWdpbiIsInR5cGVBc3NlcnRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsInR5cGVOb2RlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJlcnJvciIsInZhcmlhYmxlVHlwZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5VmFyaWFibGVUeXBlQXNzZXJ0aW9uIiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCIsImNvbnRleHQiLCJ2YXJpYWJsZXMiLCJ0ZXJtTm9kZSIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQXNWYXJpYWJsZSIsImFzc2VydGVkVHlwZU5hbWUiLCJhc3NlcnRlZFR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJmaXJzdFZhcmlhYmxlIiwiZmlyc3QiLCJ2YXJpYWJsZSIsInZhcmlhYmxlTmFtZSIsImdldE5hbWUiLCJ2YXJpYWJsZVR5cGUiLCJnZXRUeXBlIiwidmFyaWFibGVUeXBlRXF1YWxUb09yU3ViVHlwZU9mQXNzZXJ0ZWRUeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJ2YXJpYWJsZVR5cGVOYW1lIiwiYXNzZXJ0ZWRUeXBlRXF1YWxUb09yU3ViVHlwZU9mVmFyaWFibGVUeXBlIiwidHlwZSIsIm5hbWUiLCJWYXJpYWJsZSIsImZyb21UeXBlQW5kTmFtZSIsInR5cGVBc3NlcnRpb24iLCJUeXBlQXNzZXJ0aW9uIiwiZnJvbVZhcmlhYmxlIiwiYXNzZXJ0aW9uIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUF3QkE7Ozs2REFWSDt5REFDSztxQkFFSjtvQkFDZTtxQkFDVzs7Ozs7O0FBRWhELElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRixvQkFBb0JJLGlCQUFpQixFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxFQUFFO0lBQ2hHLElBQUlDLHdCQUF3QixLQUFLO0lBRWpDRCxhQUFhRSxLQUFLLENBQUNMO0lBRW5CLElBQU1NLHNCQUFzQkgsYUFBYUksWUFBWSxDQUFDUDtJQUV0REcsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0I7SUFFekQsSUFBTUcsV0FBV1YsY0FBY0Msb0JBQ3pCVSxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ0YsV0FDaENHLGNBQWNULGFBQWFVLHVCQUF1QixDQUFDSDtJQUV6RCxJQUFJLENBQUNFLGFBQWE7UUFDaEJULGFBQWFXLEtBQUssQ0FBQyxBQUFDLE9BQWUsT0FBVEosVUFBUztJQUNyQyxPQUFPO1FBQ0wsSUFBSSxDQUFDTix1QkFBdUI7WUFDMUIsSUFBTVcsZ0NBQWdDQyw0QkFBNEJoQixtQkFBbUJDLFlBQVlDLFNBQVNDO1lBRTFHQyx3QkFBd0JXLCtCQUFnQyxHQUFHO1FBQzdELENBQUM7SUFFRCxnQ0FBZ0M7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
|
package/lib/verify/axiom.js
CHANGED
|
@@ -14,7 +14,6 @@ var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
|
14
14
|
var _supposition = /*#__PURE__*/ _interopRequireDefault(require("../verify/supposition"));
|
|
15
15
|
var _consequence = /*#__PURE__*/ _interopRequireDefault(require("../verify/consequence"));
|
|
16
16
|
var _array = require("../utilities/array");
|
|
17
|
-
var _string = require("../utilities/string");
|
|
18
17
|
var _query = require("../utilities/query");
|
|
19
18
|
function _interopRequireDefault(obj) {
|
|
20
19
|
return obj && obj.__esModule ? obj : {
|
|
@@ -51,4 +50,4 @@ function verifyAxiom(axiomNode, fileContext) {
|
|
|
51
50
|
return axiomVerified;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvYXhpb20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBBeGlvbSBmcm9tIFwiLi4vYXhpb21cIjtcbmltcG9ydCBQcm9vZkNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlMYWJlbHMgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbHNcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVuY2UgZnJvbSBcIi4uL3ZlcmlmeS9jb25zZXF1ZW5jZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbGFiZWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9heGlvbS9sYWJlbFwiKSxcbiAgICAgIGNvbnNlcXVlbmNlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tL2NvbnNlcXVlbmNlIVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvYXhpb20vc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUF4aW9tKGF4aW9tTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGF4aW9tVmVyaWZpZWQgPSBmYWxzZTtcblxuICBmaWxlQ29udGV4dC5iZWdpbihheGlvbU5vZGUpO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkoYXhpb21Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgYXhpb20uLi5gKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25zID0gW10sXG4gICAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uc05vZGVRdWVyeShheGlvbU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gc3VwcG9zaXRpb25Ob2Rlcy5ldmVyeSgoc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvblZlcmlmaWVkID0gdmVyaWZ5U3VwcG9zaXRpb24oc3VwcG9zaXRpb25Ob2RlLCBzdXBwb3NpdGlvbnMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChzdXBwb3NpdGlvblZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBjb25zZXF1ZW5jZXMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbmNlTm9kZSA9IGNvbnNlcXVlbmNlTm9kZVF1ZXJ5KGF4aW9tTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW5jZVZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVuY2UoY29uc2VxdWVuY2VOb2RlLCBjb25zZXF1ZW5jZXMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChjb25zZXF1ZW5jZVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Q29uc2VxdWVuY2UgPSBmaXJzdChjb25zZXF1ZW5jZXMpLFxuICAgICAgICAgICAgICBjb25zZXF1ZW5jZSA9IGZpcnN0Q29uc2VxdWVuY2UsIC8vL1xuICAgICAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZShsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVuY2UpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmFkZEF4aW9tKGF4aW9tKTtcblxuICAgICAgICBheGlvbVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoYXhpb21WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBheGlvbS5gKTtcbiAgfVxuXG4gIGF4aW9tVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKGF4aW9tTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuY29tcGxldGUoYXhpb21Ob2RlKTtcblxuICByZXR1cm4gYXhpb21WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlBeGlvbSIsImxhYmVsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJjb25zZXF1ZW5jZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN1cHBvc2l0aW9uc05vZGVRdWVyeSIsImF4aW9tTm9kZSIsImZpbGVDb250ZXh0IiwiYXhpb21WZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwiZXZlcnkiLCJzdXBwb3NpdGlvbk5vZGUiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb24iLCJjb25zZXF1ZW5jZXMiLCJjb25zZXF1ZW5jZU5vZGUiLCJjb25zZXF1ZW5jZVZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVuY2UiLCJmaXJzdENvbnNlcXVlbmNlIiwiZmlyc3QiLCJjb25zZXF1ZW5jZSIsImF4aW9tIiwiQXhpb20iLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2UiLCJhZGRBeGlvbSIsImluZm8iLCJjb21wbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUF3QkE7OzswREFiTjswREFDTzsyREFDQTtnRUFDSztnRUFDQTtxQkFFUjtxQkFDZ0I7Ozs7OztBQUV0QyxJQUFNQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsaUJBQzdCQyx1QkFBdUJDLElBQUFBLGdCQUFTLEVBQUMsd0JBQ2pDQyx3QkFBd0JILElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0YsWUFBWU0sU0FBUyxFQUFFQyxXQUFXLEVBQUU7SUFDMUQsSUFBSUMsZ0JBQWdCLEtBQUs7SUFFekJELFlBQVlFLEtBQUssQ0FBQ0g7SUFFbEIsSUFBTUksYUFBYVQsZ0JBQWdCSyxZQUM3QkssZUFBZUosWUFBWUssYUFBYSxDQUFDRixhQUN6Q0csZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNSO0lBRWxEQSxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYTtJQUVqRCxJQUFNTSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmhCLHNCQUFzQkMsWUFDekNnQix1QkFBdUJELGlCQUFpQkUsS0FBSyxDQUFDLFNBQUNDLGlCQUFvQjtZQUNqRSxJQUFNQyxzQkFBc0JDLElBQUFBLG9CQUFpQixFQUFDRixpQkFBaUJKLGNBQWNQO1lBRTdFLElBQUlZLHFCQUFxQjtnQkFDdkIsT0FBTyxJQUFJO1lBQ2IsQ0FBQztRQUNIO1FBRU4sSUFBSUgsc0JBQXNCO1lBQ3hCLElBQU1LLGVBQWUsRUFBRSxFQUNqQkMsa0JBQWtCekIscUJBQXFCRyxZQUN2Q3VCLHNCQUFzQkMsSUFBQUEsb0JBQWlCLEVBQUNGLGlCQUFpQkQsY0FBY2Q7WUFFN0UsSUFBSWdCLHFCQUFxQjtnQkFDdkIsSUFBTUUsbUJBQW1CQyxJQUFBQSxZQUFLLEVBQUNMLGVBQ3pCTSxjQUFjRixrQkFDZEcsUUFBUUMsY0FBSyxDQUFDQyxvQ0FBb0MsQ0FBQ25CLFFBQVFHLGNBQWNhO2dCQUUvRTFCLFlBQVk4QixRQUFRLENBQUNIO2dCQUVyQjFCLGdCQUFnQixJQUFJO1lBQ3RCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUlBLGVBQWU7UUFDakJELFlBQVkrQixJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjNCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxnQkFDRUQsWUFBWWdDLFFBQVEsQ0FBQ2pDLGFBQ25CQyxZQUFZZ0MsUUFBUSxDQUFDakMsVUFBVTtJQUVuQyxPQUFPRTtBQUNUIn0=
|
|
@@ -0,0 +1,56 @@
|
|
|
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 verifyConjecture;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _conjecture = /*#__PURE__*/ _interopRequireDefault(require("../conjecture"));
|
|
12
|
+
var _proof = /*#__PURE__*/ _interopRequireDefault(require("../verify/proof"));
|
|
13
|
+
var _proof1 = /*#__PURE__*/ _interopRequireDefault(require("../context/proof"));
|
|
14
|
+
var _labels = /*#__PURE__*/ _interopRequireDefault(require("../verify/labels"));
|
|
15
|
+
var _supposition = /*#__PURE__*/ _interopRequireDefault(require("./supposition"));
|
|
16
|
+
var _consequence = /*#__PURE__*/ _interopRequireDefault(require("./consequence"));
|
|
17
|
+
var _array = require("../utilities/array");
|
|
18
|
+
var _query = require("../utilities/query");
|
|
19
|
+
function _interopRequireDefault(obj) {
|
|
20
|
+
return obj && obj.__esModule ? obj : {
|
|
21
|
+
default: obj
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/conjecture/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/conjecture/label"), consequenceNodeQuery = (0, _query.nodeQuery)("/conjecture/consequence!"), suppositionsNodeQuery = (0, _query.nodesQuery)("/conjecture/supposition");
|
|
25
|
+
function verifyConjecture(conjectureNode, fileContext) {
|
|
26
|
+
var conjectureVerified = false;
|
|
27
|
+
fileContext.begin(conjectureNode);
|
|
28
|
+
var labelNodes = labelNodesQuery(conjectureNode), labelsString = fileContext.nodesAsString(labelNodes), proofContext = _proof1.default.fromFileContext(fileContext);
|
|
29
|
+
fileContext.debug("Verifying the '".concat(labelsString, "' conjecture..."));
|
|
30
|
+
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
31
|
+
if (labelsVerified) {
|
|
32
|
+
var suppositions = [], suppositionNodes = suppositionsNodeQuery(conjectureNode), suppositionsVerified = suppositionNodes.every(function(suppositionNode) {
|
|
33
|
+
var suppositionVerified = (0, _supposition.default)(suppositionNode, suppositions, proofContext);
|
|
34
|
+
if (suppositionVerified) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
if (suppositionsVerified) {
|
|
39
|
+
var consequences = [], consequenceNode = consequenceNodeQuery(conjectureNode), consequenceVerified = (0, _consequence.default)(consequenceNode, consequences, proofContext);
|
|
40
|
+
if (consequenceVerified) {
|
|
41
|
+
var proofNode = proofNodeQuery(conjectureNode), firstConsequence = (0, _array.first)(consequences), consequence = firstConsequence; ///
|
|
42
|
+
(0, _proof.default)(proofNode, consequence, proofContext);
|
|
43
|
+
var conjecture = _conjecture.default.fromLabelsSuppositionsAndConsequence(labels, suppositions, consequence);
|
|
44
|
+
fileContext.addConjecture(conjecture);
|
|
45
|
+
conjectureVerified = true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (conjectureVerified) {
|
|
50
|
+
fileContext.info("Verified the '".concat(labelsString, "' conjecture."));
|
|
51
|
+
}
|
|
52
|
+
conjectureVerified ? fileContext.complete(conjectureNode) : fileContext.complete(conjectureNode);
|
|
53
|
+
return conjectureVerified;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uamVjdHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmplY3R1cmUgZnJvbSBcIi4uL2NvbmplY3R1cmVcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgUHJvb2ZDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3Byb29mXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5U3VwcG9zaXRpb24gZnJvbSBcIi4vc3VwcG9zaXRpb25cIjtcbmltcG9ydCB2ZXJpZnlDb25zZXF1ZW5jZSBmcm9tIFwiLi9jb25zZXF1ZW5jZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uamVjdHVyZS9wcm9vZiFcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2NvbmplY3R1cmUvbGFiZWxcIiksXG4gICAgICBjb25zZXF1ZW5jZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlL2NvbnNlcXVlbmNlIVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvY29uamVjdHVyZS9zdXBwb3NpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uamVjdHVyZShjb25qZWN0dXJlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGNvbmplY3R1cmVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKGNvbmplY3R1cmVOb2RlKTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKSxcbiAgICAgICAgcHJvb2ZDb250ZXh0ID0gUHJvb2ZDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCk7XG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgY29uamVjdHVyZS4uLmApO1xuXG4gIGNvbnN0IGxhYmVscyA9IFtdLFxuICAgICAgICBsYWJlbHNWZXJpZmllZCA9IHZlcmlmeUxhYmVscyhsYWJlbE5vZGVzLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICBpZiAobGFiZWxzVmVyaWZpZWQpIHtcbiAgICBjb25zdCBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGVzID0gc3VwcG9zaXRpb25zTm9kZVF1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHN1cHBvc2l0aW9uTm9kZXMuZXZlcnkoKHN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uTm9kZSwgc3VwcG9zaXRpb25zLCBwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVuY2VzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW5jZU5vZGUgPSBjb25zZXF1ZW5jZU5vZGVRdWVyeShjb25qZWN0dXJlTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW5jZVZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVuY2UoY29uc2VxdWVuY2VOb2RlLCBjb25zZXF1ZW5jZXMsIHByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChjb25zZXF1ZW5jZVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHByb29mTm9kZSA9IHByb29mTm9kZVF1ZXJ5KGNvbmplY3R1cmVOb2RlKSxcbiAgICAgICAgICAgICAgZmlyc3RDb25zZXF1ZW5jZSA9IGZpcnN0KGNvbnNlcXVlbmNlcyksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbmNlID0gZmlyc3RDb25zZXF1ZW5jZTsgLy8vXG5cbiAgICAgICAgdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBjb25zZXF1ZW5jZSwgcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICBjb25zdCBjb25qZWN0dXJlID0gQ29uamVjdHVyZS5mcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2UobGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbmNlKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5hZGRDb25qZWN0dXJlKGNvbmplY3R1cmUpO1xuXG4gICAgICAgIGNvbmplY3R1cmVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbmplY3R1cmVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBjb25qZWN0dXJlLmApO1xuICB9XG5cbiAgY29uamVjdHVyZVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZShjb25qZWN0dXJlTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuY29tcGxldGUoY29uamVjdHVyZU5vZGUpO1xuXG4gIHJldHVybiBjb25qZWN0dXJlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uamVjdHVyZSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbmNlTm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25zTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGUiLCJmaWxlQ29udGV4dCIsImNvbmplY3R1cmVWZXJpZmllZCIsImJlZ2luIiwibGFiZWxOb2RlcyIsImxhYmVsc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJwcm9vZkNvbnRleHQiLCJQcm9vZkNvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJkZWJ1ZyIsImxhYmVscyIsImxhYmVsc1ZlcmlmaWVkIiwidmVyaWZ5TGFiZWxzIiwic3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwiZXZlcnkiLCJzdXBwb3NpdGlvbk5vZGUiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwidmVyaWZ5U3VwcG9zaXRpb24iLCJjb25zZXF1ZW5jZXMiLCJjb25zZXF1ZW5jZU5vZGUiLCJjb25zZXF1ZW5jZVZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVuY2UiLCJwcm9vZk5vZGUiLCJmaXJzdENvbnNlcXVlbmNlIiwiZmlyc3QiLCJjb25zZXF1ZW5jZSIsInZlcmlmeVByb29mIiwiY29uamVjdHVyZSIsIkNvbmplY3R1cmUiLCJmcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2UiLCJhZGRDb25qZWN0dXJlIiwiaW5mbyIsImNvbXBsZXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUF3QkE7OzsrREFmRDswREFDQzsyREFDQzsyREFDQTtnRUFDSztnRUFDQTtxQkFFUjtxQkFDZ0I7Ozs7OztBQUV0QyxJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsdUJBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsc0JBQzdCQyx1QkFBdUJILElBQUFBLGdCQUFTLEVBQUMsNkJBQ2pDSSx3QkFBd0JGLElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0osaUJBQWlCTyxjQUFjLEVBQUVDLFdBQVcsRUFBRTtJQUNwRSxJQUFJQyxxQkFBcUIsS0FBSztJQUU5QkQsWUFBWUUsS0FBSyxDQUFDSDtJQUVsQixJQUFNSSxhQUFhUixnQkFBZ0JJLGlCQUM3QkssZUFBZUosWUFBWUssYUFBYSxDQUFDRixhQUN6Q0csZUFBZUMsZUFBWSxDQUFDQyxlQUFlLENBQUNSO0lBRWxEQSxZQUFZUyxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkwsY0FBYTtJQUVqRCxJQUFNTSxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNULFlBQVlPLFFBQVFWO0lBRXhELElBQUlXLGdCQUFnQjtRQUNsQixJQUFNRSxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmhCLHNCQUFzQkMsaUJBQ3pDZ0IsdUJBQXVCRCxpQkFBaUJFLEtBQUssQ0FBQyxTQUFDQyxpQkFBb0I7WUFDakUsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBaUIsRUFBQ0YsaUJBQWlCSixjQUFjUDtZQUU3RSxJQUFJWSxxQkFBcUI7Z0JBQ3ZCLE9BQU8sSUFBSTtZQUNiLENBQUM7UUFDSDtRQUVOLElBQUlILHNCQUFzQjtZQUN4QixJQUFNSyxlQUFlLEVBQUUsRUFDakJDLGtCQUFrQnhCLHFCQUFxQkUsaUJBQ3ZDdUIsc0JBQXNCQyxJQUFBQSxvQkFBaUIsRUFBQ0YsaUJBQWlCRCxjQUFjZDtZQUU3RSxJQUFJZ0IscUJBQXFCO2dCQUN2QixJQUFNRSxZQUFZL0IsZUFBZU0saUJBQzNCMEIsbUJBQW1CQyxJQUFBQSxZQUFLLEVBQUNOLGVBQ3pCTyxjQUFjRixrQkFBa0IsR0FBRztnQkFFekNHLElBQUFBLGNBQVcsRUFBQ0osV0FBV0csYUFBYXJCO2dCQUVwQyxJQUFNdUIsYUFBYUMsbUJBQVUsQ0FBQ0Msb0NBQW9DLENBQUNyQixRQUFRRyxjQUFjYztnQkFFekYzQixZQUFZZ0MsYUFBYSxDQUFDSDtnQkFFMUI1QixxQkFBcUIsSUFBSTtZQUMzQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxvQkFBb0I7UUFDdEJELFlBQVlpQyxJQUFJLENBQUMsQUFBQyxpQkFBNkIsT0FBYjdCLGNBQWE7SUFDakQsQ0FBQztJQUVESCxxQkFDRUQsWUFBWWtDLFFBQVEsQ0FBQ25DLGtCQUNuQkMsWUFBWWtDLFFBQVEsQ0FBQ25DLGVBQWU7SUFFeEMsT0FBT0U7QUFDVCJ9
|