occam-nominal 1.0.603 → 1.0.608
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/element/parameter.js +6 -11
- package/lib/element/procedureReference.js +16 -17
- package/lib/index.js +1 -5
- package/package.json +2 -2
- package/src/element/parameter.js +5 -6
- package/src/element/procedureReference.js +22 -16
- package/src/index.js +0 -1
- package/lib/value.js +0 -59
- package/src/value.js +0 -82
package/lib/element/parameter.js
CHANGED
|
@@ -8,16 +8,11 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _occamfurtle = require("occam-furtle");
|
|
11
12
|
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _value = /*#__PURE__*/ _interop_require_default(require("../value"));
|
|
13
13
|
const _elements = require("../elements");
|
|
14
14
|
const _context = require("../utilities/context");
|
|
15
15
|
const _instantiate = require("../process/instantiate");
|
|
16
|
-
function _interop_require_default(obj) {
|
|
17
|
-
return obj && obj.__esModule ? obj : {
|
|
18
|
-
default: obj
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
16
|
const { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
22
17
|
const _default = (0, _elements.define)(class Parameter extends _occamlanguages.Element {
|
|
23
18
|
constructor(context, string, node, breakPoint, name, identifier){
|
|
@@ -43,8 +38,8 @@ const _default = (0, _elements.define)(class Parameter extends _occamlanguages.E
|
|
|
43
38
|
const node = parameterNode, nodeMatches = this.matchNode(node), parameterNodeMatches = nodeMatches; ///
|
|
44
39
|
return parameterNodeMatches;
|
|
45
40
|
}
|
|
46
|
-
|
|
47
|
-
let
|
|
41
|
+
findNominalValue(substitutions) {
|
|
42
|
+
let nominalValue = null;
|
|
48
43
|
const parameter = this, substitution = substitutions.find((substitution)=>{
|
|
49
44
|
const substitutionComparesToParameter = substitution.compareParameter(parameter);
|
|
50
45
|
if (substitutionComparesToParameter) {
|
|
@@ -52,9 +47,9 @@ const _default = (0, _elements.define)(class Parameter extends _occamlanguages.E
|
|
|
52
47
|
}
|
|
53
48
|
}) || null;
|
|
54
49
|
if (substitution !== null) {
|
|
55
|
-
|
|
50
|
+
nominalValue = _occamfurtle.NominalValue.fromSubstitution(substitution);
|
|
56
51
|
}
|
|
57
|
-
return
|
|
52
|
+
return nominalValue;
|
|
58
53
|
}
|
|
59
54
|
findParameter(context) {
|
|
60
55
|
const parameterNode = this.getParameterNode(), parameter = context.findParameterByParameterNode(parameterNode);
|
|
@@ -102,4 +97,4 @@ function identifierFromParameterNode(parameterNode, context) {
|
|
|
102
97
|
return identifier;
|
|
103
98
|
}
|
|
104
99
|
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3BhcmFtZXRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFZhbHVlIH0gZnJvbSBcIm9jY2FtLWZ1cnRsZVwiO1xuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVQYXJhbWV0ZXIgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuXG5jb25zdCB7IHVuYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgUGFyYW1ldGVyIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgaWRlbnRpZmllcikge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuaWRlbnRpZmllciA9IGlkZW50aWZpZXI7XG4gIH1cbiAgXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldElkZW50aWZpZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaWRlbnRpZmllcjtcbiAgfVxuXG4gIGdldFBhcmFtZXRlck5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHBhcmFtZXRlck5vZGUgPSBub2RlOyAvLy9cblxuICAgIHJldHVybiBwYXJhbWV0ZXJOb2RlO1xuICB9XG5cbiAgaXNFcXVhbFRvKHBhcmFtZXRlcikge1xuICAgIGNvbnN0IHBhcmFtZXRlck5vZGUgPSBwYXJhbWV0ZXIuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHBhcmFtZXRlck5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSksXG4gICAgICAgICAgZXF1YWxUbyA9IHBhcmFtZXRlck5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIG1hdGNoUGFyYW1ldGVyTm9kZShwYXJhbWV0ZXJOb2RlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHBhcmFtZXRlck5vZGUsIC8vL1xuICAgICAgICAgIG5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaE5vZGUobm9kZSksXG4gICAgICAgICAgcGFyYW1ldGVyTm9kZU1hdGNoZXMgPSBub2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gcGFyYW1ldGVyTm9kZU1hdGNoZXM7XG4gIH1cblxuICBmaW5kTm9taW5hbFZhbHVlKHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbm9taW5hbFZhbHVlID0gbnVsbDtcblxuICAgIGNvbnN0IHBhcmFtZXRlciA9IHRoaXMsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25Db21wYXJlc1RvUGFyYW1ldGVyID0gc3Vic3RpdHV0aW9uLmNvbXBhcmVQYXJhbWV0ZXIocGFyYW1ldGVyKTtcblxuICAgICAgICAgICAgaWYgKHN1YnN0aXR1dGlvbkNvbXBhcmVzVG9QYXJhbWV0ZXIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIG5vbWluYWxWYWx1ZSA9IE5vbWluYWxWYWx1ZS5mcm9tU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vbWluYWxWYWx1ZTtcbiAgfVxuXG4gIGZpbmRQYXJhbWV0ZXIoY29udGV4dCkge1xuICAgIGNvbnN0IHBhcmFtZXRlck5vZGUgPSB0aGlzLmdldFBhcmFtZXRlck5vZGUoKSxcbiAgICAgICAgICBwYXJhbWV0ZXIgPSBjb250ZXh0LmZpbmRQYXJhbWV0ZXJCeVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9XG5cbiAgdmFsaWRhdGUgPSB1bmJyZWFrYWJsZShmdW5jdGlvbiAoc3RhdGUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBsZXQgcGFyYW1ldGVyO1xuXG4gICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyLi4uYCk7XG5cbiAgICBwYXJhbWV0ZXIgPSB0aGlzLmZpbmRQYXJhbWV0ZXIoY29udGV4dCk7XG5cbiAgICBpZiAocGFyYW1ldGVyICE9PSBudWxsKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBUaGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyIGlzIGFscmVhZHkgcHJlc2VudC5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQocGFyYW1ldGVyLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9XG5cbiAgICBwYXJhbWV0ZXIgPSB0aGlzOyAvLy9cblxuICAgIGNvbnRleHQuYWRkUGFyYW1ldGVyKHBhcmFtZXRlcik7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlci5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHBhcmFtZXRlciwgY29udGV4dCwgYmFjayk7XG4gIH0pO1xuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQganNvbjtcblxuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBqc29uID0ge1xuICAgICAgc3RyaW5nXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlBhcmFtZXRlclwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHBhcmFtZXRlcjtcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgIHBhcmFtZXRlck5vZGUgPSBpbnN0YW50aWF0ZVBhcmFtZXRlcihzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHBhcmFtZXRlck5vZGUsICAvLy9cbiAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICAgICAgbmFtZSA9IG5hbWVGcm9tUGFyYW5ldGVyTm9kZShwYXJhbWV0ZXJOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBpZGVudGlmaWVyRnJvbVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgICBwYXJhbWV0ZXIgPSBuZXcgUGFyYW1ldGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgaWRlbnRpZmllcik7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9XG59KTtcblxuZnVuY3Rpb24gbmFtZUZyb21QYXJhbmV0ZXJOb2RlKHBhcmFtZXRlck5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgbmFtZSA9IHBhcmFtZXRlck5vZGUuZ2V0TmFtZSgpO1xuXG4gIHJldHVybiBuYW1lO1xufVxuXG5mdW5jdGlvbiBpZGVudGlmaWVyRnJvbVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSwgY29udGV4dCkge1xuICBjb25zdCBpZGVudGlmaWVyID0gcGFyYW1ldGVyTm9kZS5nZXRJZGVudGlmaWVyKCk7XG5cbiAgcmV0dXJuIGlkZW50aWZpZXI7XG59XG5cbiJdLCJuYW1lcyI6WyJ1bmJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJQYXJhbWV0ZXIiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwibmFtZSIsImlkZW50aWZpZXIiLCJnZXROYW1lIiwiZ2V0SWRlbnRpZmllciIsImdldFBhcmFtZXRlck5vZGUiLCJnZXROb2RlIiwicGFyYW1ldGVyTm9kZSIsImlzRXF1YWxUbyIsInBhcmFtZXRlciIsInBhcmFtZXRlck5vZGVNYXRjaGVzIiwibWF0Y2hQYXJhbWV0ZXJOb2RlIiwiZXF1YWxUbyIsIm5vZGVNYXRjaGVzIiwibWF0Y2hOb2RlIiwiZmluZE5vbWluYWxWYWx1ZSIsInN1YnN0aXR1dGlvbnMiLCJub21pbmFsVmFsdWUiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uQ29tcGFyZXNUb1BhcmFtZXRlciIsImNvbXBhcmVQYXJhbWV0ZXIiLCJOb21pbmFsVmFsdWUiLCJmcm9tU3Vic3RpdHV0aW9uIiwiZmluZFBhcmFtZXRlciIsImZpbmRQYXJhbWV0ZXJCeVBhcmFtZXRlck5vZGUiLCJ2YWxpZGF0ZSIsInN0YXRlIiwiZm9yd2FyZCIsImJhY2siLCJwYXJhbWV0ZXJTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImRlYnVnIiwiYWRkUGFyYW1ldGVyIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIiwiaW5zdGFudGlhdGUiLCJpbnN0YW50aWF0ZVBhcmFtZXRlciIsIm5hbWVGcm9tUGFyYW5ldGVyTm9kZSIsImlkZW50aWZpZXJGcm9tUGFyYW1ldGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7NkJBVDZCO2dDQUNnQjswQkFFdEI7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
|
|
@@ -8,16 +8,11 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _occamfurtle = require("occam-furtle");
|
|
11
12
|
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _value = /*#__PURE__*/ _interop_require_default(require("../value"));
|
|
13
13
|
const _elements = require("../elements");
|
|
14
14
|
const _context = require("../utilities/context");
|
|
15
15
|
const _instantiate = require("../process/instantiate");
|
|
16
|
-
function _interop_require_default(obj) {
|
|
17
|
-
return obj && obj.__esModule ? obj : {
|
|
18
|
-
default: obj
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
16
|
const { all, every } = _occamlanguages.continuationUtilities, { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
22
17
|
const _default = (0, _elements.define)(class ProcedureReference extends _occamlanguages.Element {
|
|
23
18
|
constructor(context, string, node, breakPoint, name, parameters){
|
|
@@ -51,12 +46,16 @@ const _default = (0, _elements.define)(class ProcedureReference extends _occamla
|
|
|
51
46
|
const node = procedureReferenceNode, nodeMatches = this.matchNode(node), procedureReferenceNodeMatches = nodeMatches; ///
|
|
52
47
|
return procedureReferenceNodeMatches;
|
|
53
48
|
}
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
findProcecure(context) {
|
|
50
|
+
const procedureName = this.getProcedureName(), procedure = context.findProcedureByProcedureName(procedureName);
|
|
51
|
+
return procedure;
|
|
52
|
+
}
|
|
53
|
+
findNominalValues(context) {
|
|
54
|
+
const derivedSubstitutions = context.getDerivedSubstitutions(), substitutions = derivedSubstitutions, nominalValues = this.parameters.map((parameter)=>{
|
|
55
|
+
const nominalValue = parameter.findNominalValue(substitutions);
|
|
56
|
+
return nominalValue;
|
|
58
57
|
});
|
|
59
|
-
return
|
|
58
|
+
return nominalValues;
|
|
60
59
|
}
|
|
61
60
|
findProcedureReference(context) {
|
|
62
61
|
const procedureReferenceNode = this.getProcedureReferenceNode(), procedureReference = context.findProcedureReferenceByProcedureReferenceNode(procedureReferenceNode);
|
|
@@ -105,8 +104,8 @@ const _default = (0, _elements.define)(class ProcedureReference extends _occamla
|
|
|
105
104
|
applyIndependently(generalContext, specificContext, forward, back) {
|
|
106
105
|
const context = specificContext, procedureReferenceString = this.getString(); ///
|
|
107
106
|
context.trace(`Applying the '${procedureReferenceString}' function reference independently...`);
|
|
108
|
-
const
|
|
109
|
-
return procedure.callNominally(
|
|
107
|
+
const procedure = this.findProcecure(context), nominalValues = this.findNominalValues(context);
|
|
108
|
+
return procedure.callNominally(nominalValues, (value, back)=>{
|
|
110
109
|
const boolean = value.isBoolean();
|
|
111
110
|
if (!boolean) {
|
|
112
111
|
context.info(`The '${procedureReferenceString}' function reference did not return a boolean.`);
|
|
@@ -128,10 +127,10 @@ const _default = (0, _elements.define)(class ProcedureReference extends _occamla
|
|
|
128
127
|
context.debug(`The '${procedureReferenceString}' function reference is not unary.`);
|
|
129
128
|
return back();
|
|
130
129
|
}
|
|
131
|
-
const procedureName = this.getProcedureName(), procedure = context.findProcedureByProcedureName(procedureName),
|
|
132
|
-
|
|
130
|
+
const procedureName = this.getProcedureName(), procedure = context.findProcedureByProcedureName(procedureName), node = term.getNode(), nominalValue = _occamfurtle.NominalValue.fromNode(node, context), nominalValues = [
|
|
131
|
+
nominalValue
|
|
133
132
|
];
|
|
134
|
-
return procedure.callNominally(
|
|
133
|
+
return procedure.callNominally(nominalValues, (value, back)=>{
|
|
135
134
|
const boolean = value.isBoolean();
|
|
136
135
|
if (!boolean) {
|
|
137
136
|
context.info(`The '${procedureReferenceString}' function reference did not return a boolean.`);
|
|
@@ -176,4 +175,4 @@ function parametersFromProcedureReferenceNode(procedureReferenceNode, context) {
|
|
|
176
175
|
return parameters;
|
|
177
176
|
}
|
|
178
177
|
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZVJlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHtFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMsIGJyZWFrUG9pbnRVdGlsaXRpZXN9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IFZhbHVlIGZyb20gXCIuLi92YWx1ZVwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZVByb2NlZHVyZVJlZmVyZW5jZSB9IGZyb20gXCIuLi9wcm9jZXNzL2luc3RhbnRpYXRlXCI7XG5cbmNvbnN0IHsgYWxsLCBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZVJlZmVyZW5jZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIHBhcmFtZXRlcnMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IG5vZGU7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlTm9kZTtcbiAgfVxuXG4gIGdldFByb2NlZHVyZU5hbWUoKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMubmFtZTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgaXNVbmFyeSgpIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJzTGVuZ3RoID0gdGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCxcbiAgICAgICAgICB1bmFyeSA9IChwYXJhbWV0ZXJzTGVuZ3RoID09PSAxKTtcblxuICAgIHJldHVybiB1bmFyeTtcbiAgfVxuXG4gIGlzRXF1YWxUbyhwcm9jZWR1cmVSZWZlcmVuY2UpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlID0gcHJvY2VkdXJlUmVmZXJlbmNlLmdldE5vZGUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hQcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgIGVxdWFsVG8gPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBtYXRjaFByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSkge1xuICAgIGNvbnN0IG5vZGUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb2RlKG5vZGUpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgZmluZFZhbHVlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgZGVyaXZlZFN1YnN0aXR1dGlvbnMgPSBjb250ZXh0LmdldERlcml2ZWRTdWJzdGl0dXRpb25zKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IGRlcml2ZWRTdWJzdGl0dXRpb25zLCAvLy9cbiAgICAgICAgICB2YWx1ZXMgPSB0aGlzLnBhcmFtZXRlcnMubWFwKChwYXJhbWV0ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyLmZpbmRWYWx1ZShzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVSZWZlcmVuY2UoY29udGV4dCkge1xuICAgIGNvbnN0IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUgPSB0aGlzLmdldFByb2NlZHVyZVJlZmVyZW5jZU5vZGUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVSZWZlcmVuY2VCeVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlO1xuICB9XG5cbiAgdmFsaWRhdGUgPSB1bmJyZWFrYWJsZShmdW5jdGlvbiAoc3RhdGUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBsZXQgcHJvY2VkdXJlUmVmZXJlbmNlO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlLi4uYCk7XG5cbiAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSB0aGlzLmZpbmRQcm9jZWR1cmVSZWZlcmVuY2UoY29udGV4dCk7XG5cbiAgICBpZiAocHJvY2VkdXJlUmVmZXJlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBUaGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGlzIGFscmVhZHkgcHJlc2VudC5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQocHJvY2VkdXJlUmVmZXJlbmNlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9XG5cbiAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSB0aGlzOyAvLy9cblxuICAgIGNvbnN0IHZhbGlkYXRlUGFyYW1ldGVycyA9IHRoaXMudmFsaWRhdGVQYXJhbWV0ZXJzLmJpbmQodGhpcyk7XG5cbiAgICByZXR1cm4gYWxsKFtcbiAgICAgIHZhbGlkYXRlUGFyYW1ldGVyc1xuICAgIF0sIHN0YXRlLCBjb250ZXh0LCAoc3RhdGUsIGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuYWRkUHJvY2VkdXJlUmVmZXJlbmNlKHByb2NlZHVyZVJlZmVyZW5jZSk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlZCB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChwcm9jZWR1cmVSZWZlcmVuY2UsIGNvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9KTtcblxuICB2YWxpZGF0ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyLmdldFN0cmluZygpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlci4uLmApO1xuXG4gICAgcmV0dXJuIHBhcmFtZXRlci52YWxpZGF0ZShzdGF0ZSwgY29udGV4dCwgKHBhcmFtZXRlciwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgcGFyYW1ldGVycy5wdXNoKHBhcmFtZXRlcik7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlZCB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlJ3MgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB2YWxpZGF0ZVBhcmFtZXRlcnMoc3RhdGUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UncyBwYXJhbWV0ZXJzLi4uYCk7XG5cbiAgICBjb25zdCBwYXJhbWV0ZXJzID0gW107XG5cbiAgICByZXR1cm4gZXZlcnkodGhpcy5wYXJhbWV0ZXJzLCAocGFyYW1ldGVyLCBwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVQYXJhbWV0ZXIocGFyYW1ldGVyLCBwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSwgcGFyYW1ldGVycywgc3RhdGUsIGNvbnRleHQsIChwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UncyBwYXJhbWV0ZXJzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChzdGF0ZSwgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBhcHBseUluZGVwZW5kZW50bHkoZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQsXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBBcHBseWluZyB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IHByb2NlZHVyZU5hbWUgPSB0aGlzLmdldFByb2NlZHVyZU5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSksXG4gICAgICAgICAgdmFsdWVzID0gdGhpcy5maW5kVmFsdWVzKGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5jYWxsTm9taW5hbGx5KHZhbHVlcywgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCBib29sZWFuID0gdmFsdWUuaXNCb29sZWFuKCk7XG5cbiAgICAgIGlmICghYm9vbGVhbikge1xuICAgICAgICBjb250ZXh0LmluZm8oYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZGlkIG5vdCByZXR1cm4gYSBib29sZWFuLmApO1xuXG4gICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKTtcblxuICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0LnRyYWNlKGAuLi5hcHBsaWVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaW5kZXBlbmRlbnRseS5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBkaXNjaGFyZ2VHaXZlblRlcm0odGVybSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRGlzY2hhcmdpbmcgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSBnaXZlbiB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gKTtcblxuICAgIGNvbnN0IHVuYXJ5ID0gdGhpcy5pc1VuYXJ5KCk7XG5cbiAgICBpZiAoIXVuYXJ5KSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBUaGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGlzIG5vdCB1bmFyeS5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9jZWR1cmVOYW1lID0gdGhpcy5nZXRQcm9jZWR1cmVOYW1lKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gY29udGV4dC5maW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpLFxuICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbVRlcm0odGVybSwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVzID0gW1xuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICBdO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5jYWxsTm9taW5hbGx5KHZhbHVlcywgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCBib29sZWFuID0gdmFsdWUuaXNCb29sZWFuKCk7XG5cbiAgICAgIGlmICghYm9vbGVhbikge1xuICAgICAgICBjb250ZXh0LmluZm8oYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZGlkIG5vdCByZXR1cm4gYSBib29sZWFuLmApO1xuXG4gICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKTtcblxuICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5kaXNjaGFyZ2VkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZ2l2ZW4gdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQganNvbjtcblxuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBqc29uID0ge1xuICAgICAgc3RyaW5nXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVJlZmVyZW5jZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHByb2NlZHVyZVJlZmVyZW5jZTtcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZU5vZGUgPSBpbnN0YW50aWF0ZVByb2NlZHVyZVJlZmVyZW5jZShzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsICAvLy9cbiAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICAgICAgbmFtZSA9IG5hbWVGcm9tUHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzRnJvbVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBuZXcgUHJvY2VkdXJlUmVmZXJlbmNlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgcGFyYW1ldGVycyk7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlO1xuICB9XG59KTtcblxuZnVuY3Rpb24gbmFtZUZyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgbmFtZSA9IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUuZ2V0TmFtZSgpO1xuXG4gIHJldHVybiBuYW1lO1xufVxuXG5mdW5jdGlvbiBwYXJhbWV0ZXJzRnJvbVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCBwYXJhbWV0ZXJOb2RlcyA9IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUuZ2V0UGFyYW1ldGVyTm9kZXMoKSxcbiAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlck5vZGVzLm1hcCgocGFyYW1ldGVyTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IGNvbnRleHQuZmluZFBhcmFtZXRlckJ5UGFyYW1ldGVyTm9kZShwYXJhbWV0ZXJOb2RlKTtcblxuICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBwYXJhbWV0ZXJzO1xufVxuIl0sIm5hbWVzIjpbImFsbCIsImV2ZXJ5IiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwidW5icmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiUHJvY2VkdXJlUmVmZXJlbmNlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJwYXJhbWV0ZXJzIiwiZ2V0TmFtZSIsImdldFBhcmFtZXRlcnMiLCJnZXRQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiZ2V0Tm9kZSIsInByb2NlZHVyZVJlZmVyZW5jZU5vZGUiLCJnZXRQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlTmFtZSIsImlzVW5hcnkiLCJwYXJhbWV0ZXJzTGVuZ3RoIiwibGVuZ3RoIiwidW5hcnkiLCJpc0VxdWFsVG8iLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlcyIsIm1hdGNoUHJvY2VkdXJlUmVmZXJlbmNlTm9kZSIsImVxdWFsVG8iLCJub2RlTWF0Y2hlcyIsIm1hdGNoTm9kZSIsImZpbmRWYWx1ZXMiLCJkZXJpdmVkU3Vic3RpdHV0aW9ucyIsImdldERlcml2ZWRTdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0aW9ucyIsInZhbHVlcyIsIm1hcCIsInBhcmFtZXRlciIsInZhbHVlIiwiZmluZFZhbHVlIiwiZmluZFByb2NlZHVyZVJlZmVyZW5jZSIsImZpbmRQcm9jZWR1cmVSZWZlcmVuY2VCeVByb2NlZHVyZVJlZmVyZW5jZU5vZGUiLCJ2YWxpZGF0ZSIsInN0YXRlIiwiZm9yd2FyZCIsImJhY2siLCJwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImRlYnVnIiwidmFsaWRhdGVQYXJhbWV0ZXJzIiwiYmluZCIsImFkZFByb2NlZHVyZVJlZmVyZW5jZSIsInZhbGlkYXRlUGFyYW1ldGVyIiwicGFyYW1ldGVyU3RyaW5nIiwicHVzaCIsImFwcGx5SW5kZXBlbmRlbnRseSIsImdlbmVyYWxDb250ZXh0Iiwic3BlY2lmaWNDb250ZXh0IiwicHJvY2VkdXJlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsImNhbGxOb21pbmFsbHkiLCJib29sZWFuIiwiaXNCb29sZWFuIiwiaW5mbyIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJkaXNjaGFyZ2VHaXZlblRlcm0iLCJ0ZXJtIiwidGVybVN0cmluZyIsIlZhbHVlIiwiZnJvbVRlcm0iLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJpbnN0YW50aWF0ZSIsImluc3RhbnRpYXRlUHJvY2VkdXJlUmVmZXJlbmNlIiwibmFtZUZyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyTm9kZXMiLCJnZXRQYXJhbWV0ZXJOb2RlcyIsInBhcmFtZXRlck5vZGUiLCJmaW5kUGFyYW1ldGVyQnlQYXJhbWV0ZXJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQUE7OztnQ0FYa0U7OERBRWhEOzBCQUVLO3lCQUNLOzZCQUNrQjs7Ozs7O0FBRTlDLE1BQU0sRUFBRUEsR0FBRyxFQUFFQyxLQUFLLEVBQUUsR0FBR0MscUNBQXFCLEVBQ3RDLEVBQUVDLFdBQVcsRUFBRSxH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
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZVJlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFZhbHVlIH0gZnJvbSBcIm9jY2FtLWZ1cnRsZVwiO1xuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzLCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZVByb2NlZHVyZVJlZmVyZW5jZSB9IGZyb20gXCIuLi9wcm9jZXNzL2luc3RhbnRpYXRlXCI7XG5cbmNvbnN0IHsgYWxsLCBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZVJlZmVyZW5jZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIHBhcmFtZXRlcnMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IG5vZGU7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlTm9kZTtcbiAgfVxuXG4gIGdldFByb2NlZHVyZU5hbWUoKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMubmFtZTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgaXNVbmFyeSgpIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJzTGVuZ3RoID0gdGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCxcbiAgICAgICAgICB1bmFyeSA9IChwYXJhbWV0ZXJzTGVuZ3RoID09PSAxKTtcblxuICAgIHJldHVybiB1bmFyeTtcbiAgfVxuXG4gIGlzRXF1YWxUbyhwcm9jZWR1cmVSZWZlcmVuY2UpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlID0gcHJvY2VkdXJlUmVmZXJlbmNlLmdldE5vZGUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hQcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgIGVxdWFsVG8gPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBtYXRjaFByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSkge1xuICAgIGNvbnN0IG5vZGUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb2RlKG5vZGUpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgZmluZFByb2NlY3VyZShjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBmaW5kTm9taW5hbFZhbHVlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgZGVyaXZlZFN1YnN0aXR1dGlvbnMgPSBjb250ZXh0LmdldERlcml2ZWRTdWJzdGl0dXRpb25zKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IGRlcml2ZWRTdWJzdGl0dXRpb25zLCAvLy9cbiAgICAgICAgICBub21pbmFsVmFsdWVzID0gdGhpcy5wYXJhbWV0ZXJzLm1hcCgocGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub21pbmFsVmFsdWUgPSBwYXJhbWV0ZXIuZmluZE5vbWluYWxWYWx1ZShzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5vbWluYWxWYWx1ZTtcbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiBub21pbmFsVmFsdWVzO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IHRoaXMuZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZVJlZmVyZW5jZUJ5UHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVSZWZlcmVuY2U7XG4gIH1cblxuICB2YWxpZGF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGxldCBwcm9jZWR1cmVSZWZlcmVuY2U7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UuLi5gKTtcblxuICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IHRoaXMuZmluZFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0KTtcblxuICAgIGlmIChwcm9jZWR1cmVSZWZlcmVuY2UgIT09IG51bGwpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChwcm9jZWR1cmVSZWZlcmVuY2UsIGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IHRoaXM7IC8vL1xuXG4gICAgY29uc3QgdmFsaWRhdGVQYXJhbWV0ZXJzID0gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcnMuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiBhbGwoW1xuICAgICAgdmFsaWRhdGVQYXJhbWV0ZXJzXG4gICAgXSwgc3RhdGUsIGNvbnRleHQsIChzdGF0ZSwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5hZGRQcm9jZWR1cmVSZWZlcmVuY2UocHJvY2VkdXJlUmVmZXJlbmNlKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHByb2NlZHVyZVJlZmVyZW5jZSwgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH0pO1xuXG4gIHZhbGlkYXRlUGFyYW1ldGVyKHBhcmFtZXRlciwgcGFyYW1ldGVycywgc3RhdGUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlJ3MgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyLi4uYCk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyLnZhbGlkYXRlKHN0YXRlLCBjb250ZXh0LCAocGFyYW1ldGVyLCBjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICBwYXJhbWV0ZXJzLnB1c2gocGFyYW1ldGVyKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UncyAnJHtwYXJhbWV0ZXJTdHJpbmd9JyBwYXJhbWV0ZXIuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZhbGlkYXRlUGFyYW1ldGVycyhzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHByb2NlZHVyZVJlZmVyZW5jZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzIHBhcmFtZXRlcnMuLi5gKTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBbXTtcblxuICAgIHJldHVybiBldmVyeSh0aGlzLnBhcmFtZXRlcnMsIChwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9LCBwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgKHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzIHBhcmFtZXRlcnMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHN0YXRlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGFwcGx5SW5kZXBlbmRlbnRseShnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dCxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEFwcGx5aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlID0gdGhpcy5maW5kUHJvY2VjdXJlKGNvbnRleHQpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSB0aGlzLmZpbmROb21pbmFsVmFsdWVzKGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5jYWxsTm9taW5hbGx5KG5vbWluYWxWYWx1ZXMsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmlzQm9vbGVhbigpO1xuXG4gICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgY29udGV4dC5pbmZvKGBUaGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGRpZCBub3QgcmV0dXJuIGEgYm9vbGVhbi5gKTtcblxuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC50cmFjZShgLi4uYXBwbGllZCB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGluZGVwZW5kZW50bHkuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgZGlzY2hhcmdlR2l2ZW5UZXJtKHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYERpc2NoYXJnaW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZ2l2ZW4gdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICBjb25zdCB1bmFyeSA9IHRoaXMuaXNVbmFyeSgpO1xuXG4gICAgaWYgKCF1bmFyeSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgVGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSBpcyBub3QgdW5hcnkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBub2RlID0gdGVybS5nZXROb2RlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gTm9taW5hbFZhbHVlLmZyb21Ob2RlKG5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSBbXG4gICAgICAgICAgICBub21pbmFsVmFsdWVcbiAgICAgICAgICBdO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5jYWxsTm9taW5hbGx5KG5vbWluYWxWYWx1ZXMsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmlzQm9vbGVhbigpO1xuXG4gICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgY29udGV4dC5pbmZvKGBUaGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGRpZCBub3QgcmV0dXJuIGEgYm9vbGVhbi5gKTtcblxuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZGlzY2hhcmdlZCB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGdpdmVuIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgbGV0IGpzb247XG5cbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAganNvbiA9IHtcbiAgICAgIHN0cmluZ1xuICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVSZWZlcmVuY2VcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGxldCBwcm9jZWR1cmVSZWZlcmVuY2U7XG5cbiAgICBpbnN0YW50aWF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlID0gaW5zdGFudGlhdGVQcm9jZWR1cmVSZWZlcmVuY2Uoc3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgICAgIG5vZGUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlID0gbmV3IFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIHBhcmFtZXRlcnMpO1xuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5hbWVGcm9tUHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IG5hbWUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLmdldE5hbWUoKTtcblxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gcGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgcGFyYW1ldGVyTm9kZXMgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLmdldFBhcmFtZXRlck5vZGVzKCksXG4gICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJOb2Rlcy5tYXAoKHBhcmFtZXRlck5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJhbWV0ZXIgPSBjb250ZXh0LmZpbmRQYXJhbWV0ZXJCeVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSk7XG5cbiAgICAgICAgICByZXR1cm4gcGFyYW1ldGVyO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVycztcbn1cbiJdLCJuYW1lcyI6WyJhbGwiLCJldmVyeSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsInVuYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlByb2NlZHVyZVJlZmVyZW5jZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJuYW1lIiwicGFyYW1ldGVycyIsImdldE5hbWUiLCJnZXRQYXJhbWV0ZXJzIiwiZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSIsImdldE5vZGUiLCJwcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiZ2V0UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJpc1VuYXJ5IiwicGFyYW1ldGVyc0xlbmd0aCIsImxlbmd0aCIsInVuYXJ5IiwiaXNFcXVhbFRvIiwicHJvY2VkdXJlUmVmZXJlbmNlIiwicHJvY2VkdXJlUmVmZXJlbmNlTm9kZU1hdGNoZXMiLCJtYXRjaFByb2NlZHVyZVJlZmVyZW5jZU5vZGUiLCJlcXVhbFRvIiwibm9kZU1hdGNoZXMiLCJtYXRjaE5vZGUiLCJmaW5kUHJvY2VjdXJlIiwicHJvY2VkdXJlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsImZpbmROb21pbmFsVmFsdWVzIiwiZGVyaXZlZFN1YnN0aXR1dGlvbnMiLCJnZXREZXJpdmVkU3Vic3RpdHV0aW9ucyIsInN1YnN0aXR1dGlvbnMiLCJub21pbmFsVmFsdWVzIiwibWFwIiwicGFyYW1ldGVyIiwibm9taW5hbFZhbHVlIiwiZmluZE5vbWluYWxWYWx1ZSIsImZpbmRQcm9jZWR1cmVSZWZlcmVuY2UiLCJmaW5kUHJvY2VkdXJlUmVmZXJlbmNlQnlQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwidmFsaWRhdGUiLCJzdGF0ZSIsImZvcndhcmQiLCJiYWNrIiwicHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJkZWJ1ZyIsInZhbGlkYXRlUGFyYW1ldGVycyIsImJpbmQiLCJhZGRQcm9jZWR1cmVSZWZlcmVuY2UiLCJ2YWxpZGF0ZVBhcmFtZXRlciIsInBhcmFtZXRlclN0cmluZyIsInB1c2giLCJhcHBseUluZGVwZW5kZW50bHkiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsImNhbGxOb21pbmFsbHkiLCJ2YWx1ZSIsImJvb2xlYW4iLCJpc0Jvb2xlYW4iLCJpbmZvIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsImRpc2NoYXJnZUdpdmVuVGVybSIsInRlcm0iLCJ0ZXJtU3RyaW5nIiwiTm9taW5hbFZhbHVlIiwiZnJvbU5vZGUiLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJpbnN0YW50aWF0ZSIsImluc3RhbnRpYXRlUHJvY2VkdXJlUmVmZXJlbmNlIiwibmFtZUZyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyTm9kZXMiLCJnZXRQYXJhbWV0ZXJOb2RlcyIsInBhcmFtZXRlck5vZGUiLCJmaW5kUGFyYW1ldGVyQnlQYXJhbWV0ZXJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQUE7Ozs2QkFWNkI7Z0NBQ3VDOzBCQUU3Qzt5QkFDSzs2QkFDa0I7QUFFOUMsTUFBTSxFQUFFQSxHQUFHLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxxQ0FBcUIsRUFDdEMsRUFBRUMsV0FBVyxFQUFFLEdBQUdDLG1DQUFtQjtNQUUzQyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsQ0FBRTtRQUMvRCxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsNEJBQTRCO1FBQzFCLE1BQU1OLE9BQU8sSUFBSSxDQUFDTyxPQUFPLElBQ25CQyx5QkFBeUJSO1FBRS9CLE9BQU9RO0lBQ1Q7SUFFQUMsbUJBQW1CO1FBQ2pCLE1BQU1DLGdCQUFnQixJQUFJLENBQUNSLElBQUk7UUFFL0IsT0FBT1E7SUFDVDtJQUVBQyxVQUFVO1FBQ1IsTUFBTUMsbUJBQW1CLElBQUksQ0FBQ1QsVUFBVSxDQUFDVSxNQUFNLEVBQ3pDQyxRQUFTRixxQkFBcUI7UUFFcEMsT0FBT0U7SUFDVDtJQUVBQyxVQUFVQyxrQkFBa0IsRUFBRTtRQUM1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
|
package/lib/index.js
CHANGED
|
@@ -17,13 +17,9 @@ _export(exports, {
|
|
|
17
17
|
},
|
|
18
18
|
get NominalParser () {
|
|
19
19
|
return _parser.default;
|
|
20
|
-
},
|
|
21
|
-
get NominalValue () {
|
|
22
|
-
return _value.default;
|
|
23
20
|
}
|
|
24
21
|
});
|
|
25
22
|
require("./preamble");
|
|
26
|
-
const _value = /*#__PURE__*/ _interop_require_default(require("./value"));
|
|
27
23
|
const _lexer = /*#__PURE__*/ _interop_require_default(require("./nominal/lexer"));
|
|
28
24
|
const _parser = /*#__PURE__*/ _interop_require_default(require("./nominal/parser"));
|
|
29
25
|
const _nominal = /*#__PURE__*/ _interop_require_default(require("./context/file/nominal"));
|
|
@@ -33,4 +29,4 @@ function _interop_require_default(obj) {
|
|
|
33
29
|
};
|
|
34
30
|
}
|
|
35
31
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiLi9wcmVhbWJsZVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxMZXhlciB9IGZyb20gXCIuL25vbWluYWwvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbFBhcnNlciB9IGZyb20gXCIuL25vbWluYWwvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxGaWxlQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQvZmlsZS9ub21pbmFsXCI7XG4iXSwibmFtZXMiOlsiTm9taW5hbEZpbGVDb250ZXh0IiwiTm9taW5hbExleGVyIiwiTm9taW5hbFBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBTW9CQTtlQUFBQSxnQkFBa0I7O1FBRmxCQztlQUFBQSxjQUFZOztRQUNaQztlQUFBQSxlQUFhOzs7UUFIMUI7OERBRWlDOytEQUNDO2dFQUNLIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-nominal",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.608",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-nominal",
|
|
7
7
|
"description": "Occam's Nominal language.",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.7.2",
|
|
14
|
-
"occam-furtle": "^3.0.
|
|
14
|
+
"occam-furtle": "^3.0.541",
|
|
15
15
|
"occam-grammar-utilities": "^8.1.27",
|
|
16
16
|
"occam-languages": "^3.0.91",
|
|
17
17
|
"occam-query": "^4.1.210"
|
package/src/element/parameter.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { NominalValue } from "occam-furtle";
|
|
3
4
|
import { Element, breakPointUtilities } from "occam-languages";
|
|
4
5
|
|
|
5
|
-
import Value from "../value";
|
|
6
|
-
|
|
7
6
|
import { define } from "../elements";
|
|
8
7
|
import { instantiate } from "../utilities/context";
|
|
9
8
|
import { instantiateParameter } from "../process/instantiate";
|
|
@@ -49,8 +48,8 @@ export default define(class Parameter extends Element {
|
|
|
49
48
|
return parameterNodeMatches;
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
let
|
|
51
|
+
findNominalValue(substitutions) {
|
|
52
|
+
let nominalValue = null;
|
|
54
53
|
|
|
55
54
|
const parameter = this, ///
|
|
56
55
|
substitution = substitutions.find((substitution) => {
|
|
@@ -62,10 +61,10 @@ export default define(class Parameter extends Element {
|
|
|
62
61
|
}) || null;
|
|
63
62
|
|
|
64
63
|
if (substitution !== null) {
|
|
65
|
-
|
|
64
|
+
nominalValue = NominalValue.fromSubstitution(substitution);
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
return
|
|
67
|
+
return nominalValue;
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
findParameter(context) {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import Value from "../value";
|
|
3
|
+
import { NominalValue } from "occam-furtle";
|
|
4
|
+
import { Element, continuationUtilities, breakPointUtilities } from "occam-languages";
|
|
6
5
|
|
|
7
6
|
import { define } from "../elements";
|
|
8
7
|
import { instantiate } from "../utilities/context";
|
|
@@ -63,16 +62,23 @@ export default define(class ProcedureReference extends Element {
|
|
|
63
62
|
return procedureReferenceNodeMatches;
|
|
64
63
|
}
|
|
65
64
|
|
|
66
|
-
|
|
65
|
+
findProcecure(context) {
|
|
66
|
+
const procedureName = this.getProcedureName(),
|
|
67
|
+
procedure = context.findProcedureByProcedureName(procedureName);
|
|
68
|
+
|
|
69
|
+
return procedure;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
findNominalValues(context) {
|
|
67
73
|
const derivedSubstitutions = context.getDerivedSubstitutions(),
|
|
68
74
|
substitutions = derivedSubstitutions, ///
|
|
69
|
-
|
|
70
|
-
const
|
|
75
|
+
nominalValues = this.parameters.map((parameter) => {
|
|
76
|
+
const nominalValue = parameter.findNominalValue(substitutions);
|
|
71
77
|
|
|
72
|
-
return
|
|
78
|
+
return nominalValue;
|
|
73
79
|
});
|
|
74
80
|
|
|
75
|
-
return
|
|
81
|
+
return nominalValues;
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
findProcedureReference(context) {
|
|
@@ -151,11 +157,10 @@ export default define(class ProcedureReference extends Element {
|
|
|
151
157
|
|
|
152
158
|
context.trace(`Applying the '${procedureReferenceString}' function reference independently...`);
|
|
153
159
|
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
values = this.findValues(context);
|
|
160
|
+
const procedure = this.findProcecure(context),
|
|
161
|
+
nominalValues = this.findNominalValues(context);
|
|
157
162
|
|
|
158
|
-
return procedure.callNominally(
|
|
163
|
+
return procedure.callNominally(nominalValues, (value, back) => {
|
|
159
164
|
const boolean = value.isBoolean();
|
|
160
165
|
|
|
161
166
|
if (!boolean) {
|
|
@@ -192,12 +197,13 @@ export default define(class ProcedureReference extends Element {
|
|
|
192
197
|
|
|
193
198
|
const procedureName = this.getProcedureName(),
|
|
194
199
|
procedure = context.findProcedureByProcedureName(procedureName),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
200
|
+
node = term.getNode(),
|
|
201
|
+
nominalValue = NominalValue.fromNode(node, context),
|
|
202
|
+
nominalValues = [
|
|
203
|
+
nominalValue
|
|
198
204
|
];
|
|
199
205
|
|
|
200
|
-
return procedure.callNominally(
|
|
206
|
+
return procedure.callNominally(nominalValues, (value, back) => {
|
|
201
207
|
const boolean = value.isBoolean();
|
|
202
208
|
|
|
203
209
|
if (!boolean) {
|
package/src/index.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import "./preamble";
|
|
4
4
|
|
|
5
|
-
export { default as NominalValue } from "./value"; ///
|
|
6
5
|
export { default as NominalLexer } from "./nominal/lexer";
|
|
7
6
|
export { default as NominalParser } from "./nominal/parser";
|
|
8
7
|
export { default as NominalFileContext } from "./context/file/nominal";
|
package/lib/value.js
DELETED
|
@@ -1,59 +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 Value;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _constants = require("./constants");
|
|
12
|
-
class Value {
|
|
13
|
-
constructor(context, string, node){
|
|
14
|
-
this.context = context;
|
|
15
|
-
this.string = string;
|
|
16
|
-
this.node = node;
|
|
17
|
-
}
|
|
18
|
-
getContext() {
|
|
19
|
-
return this.context;
|
|
20
|
-
}
|
|
21
|
-
getString() {
|
|
22
|
-
return this.string;
|
|
23
|
-
}
|
|
24
|
-
getNode() {
|
|
25
|
-
return this.node;
|
|
26
|
-
}
|
|
27
|
-
match(value) {
|
|
28
|
-
const node = value.getNode(), nodeA = node, nodeB = this.node, nodesMatch = matchNodes(nodeA, nodeB), matches = nodesMatch; ///
|
|
29
|
-
return matches;
|
|
30
|
-
}
|
|
31
|
-
static fromNode(node, context) {
|
|
32
|
-
const string = context.nodeAsString(node), value = new Value(context, string, node);
|
|
33
|
-
return value;
|
|
34
|
-
}
|
|
35
|
-
static fromNothing() {
|
|
36
|
-
const context = null, string = _constants.NULL, node = null, value = new Value(context, string, node);
|
|
37
|
-
return value;
|
|
38
|
-
}
|
|
39
|
-
static fromTerm(term, context) {
|
|
40
|
-
const node = term.getNode(), string = context.nodeAsString(node), value = new Value(context, string, node);
|
|
41
|
-
return value;
|
|
42
|
-
}
|
|
43
|
-
static fromSubstitution(substitution) {
|
|
44
|
-
const replacementNode = substitution.getReplacementNode(), specificContext = substitution.getSpecificContext(), node = replacementNode, context = specificContext, string = context.nodeAsString(node), value = new Value(context, string, node);
|
|
45
|
-
return value;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function matchNodes(nodeA, nodeB) {
|
|
49
|
-
let nodesMatch;
|
|
50
|
-
if (nodeA === null || nodeB === null) {
|
|
51
|
-
nodesMatch = nodeA === nodeB;
|
|
52
|
-
} else {
|
|
53
|
-
const nodeAMatchesNodeB = nodeA.match(nodeB);
|
|
54
|
-
nodesMatch = nodeAMatchesNodeB; ///
|
|
55
|
-
}
|
|
56
|
-
return nodesMatch;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YWx1ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTlVMTCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYWx1ZSB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSkge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBtYXRjaCh2YWx1ZSkge1xuICAgIGNvbnN0IG5vZGUgPSB2YWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZUEgPSBub2RlLCAvLy9cbiAgICAgICAgICBub2RlQiA9IHRoaXMubm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVzTWF0Y2ggPSBtYXRjaE5vZGVzKG5vZGVBLCBub2RlQiksXG4gICAgICAgICAgbWF0Y2hlcyA9IG5vZGVzTWF0Y2g7IC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vZGUobm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gbmV3IFZhbHVlKGNvbnRleHQsIHN0cmluZywgbm9kZSk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IG51bGwsXG4gICAgICAgICAgc3RyaW5nID0gTlVMTCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICB2YWx1ZSA9IG5ldyBWYWx1ZShjb250ZXh0LCBzdHJpbmcsIG5vZGUpO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UZXJtKHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gdGVybS5nZXROb2RlKCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgdmFsdWUgPSBuZXcgVmFsdWUoY29udGV4dCwgc3RyaW5nLCBub2RlKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbikge1xuICAgIGNvbnN0IHJlcGxhY2VtZW50Tm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRSZXBsYWNlbWVudE5vZGUoKSxcbiAgICAgICAgICBzcGVjaWZpY0NvbnRleHQgPSBzdWJzdGl0dXRpb24uZ2V0U3BlY2lmaWNDb250ZXh0KCksXG4gICAgICAgICAgbm9kZSA9IHJlcGxhY2VtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dCwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gbmV3IFZhbHVlKGNvbnRleHQsIHN0cmluZywgbm9kZSk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hOb2Rlcyhub2RlQSwgbm9kZUIpIHtcbiAgbGV0IG5vZGVzTWF0Y2g7XG5cbiAgaWYgKChub2RlQSA9PT0gbnVsbCkgfHwgKG5vZGVCID09PSBudWxsKSkge1xuICAgIG5vZGVzTWF0Y2ggPSAobm9kZUEgPT09IG5vZGVCKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub2RlQU1hdGNoZXNOb2RlQiA9IG5vZGVBLm1hdGNoKG5vZGVCKTtcblxuICAgIG5vZGVzTWF0Y2ggPSBub2RlQU1hdGNoZXNOb2RlQjsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIG5vZGVzTWF0Y2g7XG59XG4iXSwibmFtZXMiOlsiVmFsdWUiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImdldENvbnRleHQiLCJnZXRTdHJpbmciLCJnZXROb2RlIiwibWF0Y2giLCJ2YWx1ZSIsIm5vZGVBIiwibm9kZUIiLCJub2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIm1hdGNoZXMiLCJmcm9tTm9kZSIsIm5vZGVBc1N0cmluZyIsImZyb21Ob3RoaW5nIiwiTlVMTCIsImZyb21UZXJtIiwidGVybSIsImZyb21TdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb24iLCJyZXBsYWNlbWVudE5vZGUiLCJnZXRSZXBsYWNlbWVudE5vZGUiLCJzcGVjaWZpY0NvbnRleHQiLCJnZXRTcGVjaWZpY0NvbnRleHQiLCJub2RlQU1hdGNoZXNOb2RlQiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OzsyQkFGQTtBQUVOLE1BQU1BO0lBQ25CLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLENBQUU7UUFDakMsSUFBSSxDQUFDRixPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO0lBQ2Q7SUFFQUMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSCxPQUFPO0lBQ3JCO0lBRUFJLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksTUFBTUMsS0FBSyxFQUFFO1FBQ1gsTUFBTUwsT0FBT0ssTUFBTUYsT0FBTyxJQUNwQkcsUUFBUU4sTUFDUk8sUUFBUSxJQUFJLENBQUNQLElBQUksRUFDakJRLGFBQWFDLFdBQVdILE9BQU9DLFFBQy9CRyxVQUFVRixZQUFZLEdBQUc7UUFFL0IsT0FBT0U7SUFDVDtJQUVBLE9BQU9DLFNBQVNYLElBQUksRUFBRUYsT0FBTyxFQUFFO1FBQzdCLE1BQU1DLFNBQVNELFFBQVFjLFlBQVksQ0FBQ1osT0FDOUJLLFFBQVEsSUFBSVIsTUFBTUMsU0FBU0MsUUFBUUM7UUFFekMsT0FBT0s7SUFDVDtJQUVBLE9BQU9RLGNBQWM7UUFDbkIsTUFBTWYsVUFBVSxNQUNWQyxTQUFTZSxlQUFJLEVBQ2JkLE9BQU8sTUFDUEssUUFBUSxJQUFJUixNQUFNQyxTQUFTQyxRQUFRQztRQUV6QyxPQUFPSztJQUNUO0lBRUEsT0FBT1UsU0FBU0MsSUFBSSxFQUFFbEIsT0FBTyxFQUFFO1FBQzdCLE1BQU1FLE9BQU9nQixLQUFLYixPQUFPLElBQ25CSixTQUFTRCxRQUFRYyxZQUFZLENBQUNaLE9BQzlCSyxRQUFRLElBQUlSLE1BQU1DLFNBQVNDLFFBQVFDO1FBRXpDLE9BQU9LO0lBQ1Q7SUFFQSxPQUFPWSxpQkFBaUJDLFlBQVksRUFBRTtRQUNwQyxNQUFNQyxrQkFBa0JELGFBQWFFLGtCQUFrQixJQUNqREMsa0JBQWtCSCxhQUFhSSxrQkFBa0IsSUFDakR0QixPQUFPbUIsaUJBQ1ByQixVQUFVdUIsaUJBQ1Z0QixTQUFTRCxRQUFRYyxZQUFZLENBQUNaLE9BQzlCSyxRQUFRLElBQUlSLE1BQU1DLFNBQVNDLFFBQVFDO1FBRXpDLE9BQU9LO0lBQ1Q7QUFDRjtBQUVBLFNBQVNJLFdBQVdILEtBQUssRUFBRUMsS0FBSztJQUM5QixJQUFJQztJQUVKLElBQUksQUFBQ0YsVUFBVSxRQUFVQyxVQUFVLE1BQU87UUFDeENDLGFBQWNGLFVBQVVDO0lBQzFCLE9BQU87UUFDTCxNQUFNZ0Isb0JBQW9CakIsTUFBTUYsS0FBSyxDQUFDRztRQUV0Q0MsYUFBYWUsbUJBQW9CLEdBQUc7SUFDdEM7SUFFQSxPQUFPZjtBQUNUIn0=
|
package/src/value.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NULL } from "./constants";
|
|
4
|
-
|
|
5
|
-
export default class Value {
|
|
6
|
-
constructor(context, string, node) {
|
|
7
|
-
this.context = context;
|
|
8
|
-
this.string = string;
|
|
9
|
-
this.node = node;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getContext() {
|
|
13
|
-
return this.context;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getString() {
|
|
17
|
-
return this.string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getNode() {
|
|
21
|
-
return this.node;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
match(value) {
|
|
25
|
-
const node = value.getNode(),
|
|
26
|
-
nodeA = node, ///
|
|
27
|
-
nodeB = this.node, ///
|
|
28
|
-
nodesMatch = matchNodes(nodeA, nodeB),
|
|
29
|
-
matches = nodesMatch; ///
|
|
30
|
-
|
|
31
|
-
return matches;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
static fromNode(node, context) {
|
|
35
|
-
const string = context.nodeAsString(node),
|
|
36
|
-
value = new Value(context, string, node);
|
|
37
|
-
|
|
38
|
-
return value;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static fromNothing() {
|
|
42
|
-
const context = null,
|
|
43
|
-
string = NULL,
|
|
44
|
-
node = null,
|
|
45
|
-
value = new Value(context, string, node);
|
|
46
|
-
|
|
47
|
-
return value;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromTerm(term, context) {
|
|
51
|
-
const node = term.getNode(),
|
|
52
|
-
string = context.nodeAsString(node),
|
|
53
|
-
value = new Value(context, string, node);
|
|
54
|
-
|
|
55
|
-
return value;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
static fromSubstitution(substitution) {
|
|
59
|
-
const replacementNode = substitution.getReplacementNode(),
|
|
60
|
-
specificContext = substitution.getSpecificContext(),
|
|
61
|
-
node = replacementNode, ///
|
|
62
|
-
context = specificContext, ///
|
|
63
|
-
string = context.nodeAsString(node),
|
|
64
|
-
value = new Value(context, string, node);
|
|
65
|
-
|
|
66
|
-
return value;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function matchNodes(nodeA, nodeB) {
|
|
71
|
-
let nodesMatch;
|
|
72
|
-
|
|
73
|
-
if ((nodeA === null) || (nodeB === null)) {
|
|
74
|
-
nodesMatch = (nodeA === nodeB);
|
|
75
|
-
} else {
|
|
76
|
-
const nodeAMatchesNodeB = nodeA.match(nodeB);
|
|
77
|
-
|
|
78
|
-
nodesMatch = nodeAMatchesNodeB; ///
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return nodesMatch;
|
|
82
|
-
}
|