occam-furtle 1.0.52 → 1.0.53
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/context/block.js +21 -10
- package/lib/context/file.js +9 -3
- package/lib/dom/assignment/array.js +53 -17
- package/lib/dom/assignment/object.js +61 -37
- package/lib/dom/assignment/variable.js +134 -0
- package/lib/dom/assignment.js +34 -8
- package/lib/dom/declaration/variables.js +2 -2
- package/lib/dom/parameter.js +35 -4
- package/lib/dom/parameters.js +64 -4
- package/lib/dom/procedure.js +8 -4
- package/lib/dom/procedureCall.js +7 -7
- package/lib/dom/query/node.js +4 -4
- package/lib/dom/step.js +2 -2
- package/lib/dom/value.js +30 -6
- package/lib/dom/values.js +7 -1
- package/lib/dom/variable.js +66 -12
- package/lib/example/context/file.js +50 -1
- package/lib/example/context/release.js +36 -15
- package/lib/example/utilities/fileContext.js +10 -12
- package/lib/example/utilities/procedure.js +18 -6
- package/lib/example/utilities/releaseContext.js +24 -0
- package/lib/example/utilities/values.js +5 -17
- package/lib/example.js +6 -2
- package/lib/index.js +3 -3
- package/lib/parameterNames.js +22 -0
- package/lib/parameters/node.js +29 -0
- package/package.json +2 -2
- package/src/context/block.js +23 -15
- package/src/context/file.js +12 -2
- package/src/dom/assignment/array.js +14 -26
- package/src/dom/assignment/object.js +75 -36
- package/src/dom/assignment/variable.js +54 -0
- package/src/dom/assignment.js +46 -15
- package/src/dom/declaration/variables.js +2 -2
- package/src/dom/parameter.js +52 -7
- package/src/dom/parameters.js +89 -2
- package/src/dom/procedure.js +9 -4
- package/src/dom/procedureCall.js +7 -7
- package/src/dom/query/node.js +3 -4
- package/src/dom/step.js +2 -2
- package/src/dom/value.js +33 -7
- package/src/dom/values.js +2 -0
- package/src/dom/variable.js +77 -13
- package/src/example/context/file.js +30 -0
- package/src/example/context/release.js +33 -11
- package/src/example/utilities/fileContext.js +8 -22
- package/src/example/utilities/procedure.js +31 -4
- package/src/example/utilities/releaseContext.js +27 -0
- package/src/example/utilities/values.js +2 -19
- package/src/example.js +12 -5
- package/src/index.js +1 -1
- package/src/parameterNames.js +4 -0
- package/src/parameters/node.js +21 -0
- package/lib/dom/assignment/variables.js +0 -76
- package/src/dom/assignment/variables.js +0 -33
package/lib/context/block.js
CHANGED
|
@@ -76,18 +76,29 @@ var BlockContext = /*#__PURE__*/ function() {
|
|
|
76
76
|
return variable;
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
|
+
{
|
|
80
|
+
key: "isProcedurePresentByReference",
|
|
81
|
+
value: function isProcedurePresentByReference(reference) {
|
|
82
|
+
var procedure = this.findProcedureByReference(reference), procedurePresent = procedure !== null;
|
|
83
|
+
return procedurePresent;
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
key: "isVariablePresentByVariableName",
|
|
88
|
+
value: function isVariablePresentByVariableName(variableName) {
|
|
89
|
+
var variable = this.findVariableByVariableName(variableName), variablePresent = variable !== null;
|
|
90
|
+
return variablePresent;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
79
93
|
{
|
|
80
94
|
key: "addVariable",
|
|
81
95
|
value: function addVariable(variable) {
|
|
82
|
-
var
|
|
83
|
-
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
var context = this, variableString = variable.getString();
|
|
96
|
+
var variableName = variable.getName(), variableString = variable.getString(), variablePresent = this.isVariablePresentByVariableName(variableName);
|
|
97
|
+
if (variablePresent) {
|
|
98
|
+
var message = "The '".concat(variableString, "' variable is already present.'"), exception = _exception.default.fromMessage(message);
|
|
99
|
+
throw exception;
|
|
100
|
+
}
|
|
101
|
+
var context = this;
|
|
91
102
|
context.trace("Added the '".concat(variableString, "' variable to the context."));
|
|
92
103
|
this.variables.push(variable);
|
|
93
104
|
}
|
|
@@ -140,4 +151,4 @@ var BlockContext = /*#__PURE__*/ function() {
|
|
|
140
151
|
return BlockContext;
|
|
141
152
|
}();
|
|
142
153
|
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICBwdXNoKHZhcmlhYmxlcywgdGhpcy52YXJpYWJsZXMpO1xuXG4gICAgY29uc3QgY29udGV4dFZhcmlhYmxlcyA9IHRoaXMuY29udGV4dC5nZXRWYXJpYWJsZXMoKTtcblxuICAgIHB1c2godmFyaWFibGVzLCBjb250ZXh0VmFyaWFibGVzKTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBmaW5kUHJvY2VkdXJlQnlSZWZlcmVuY2UocmVmZXJlbmNlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSk7IH1cblxuICBmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSB0aGlzLmdldFZhcmlhYmxlcygpLFxuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVzLmZpbmQoKHZhcmlhYmxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWVNYXRjaGVzID0gdmFyaWFibGUubWF0Y2hWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIGlzUHJvY2VkdXJlUHJlc2VudEJ5UmVmZXJlbmNlKHJlZmVyZW5jZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSksXG4gICAgICAgICAgcHJvY2VkdXJlUHJlc2VudCA9IChwcm9jZWR1cmUgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVByZXNlbnQ7XG4gIH1cblxuICBpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpcy5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9ICh2YXJpYWJsZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVQcmVzZW50O1xuICB9XG5cbiAgYWRkVmFyaWFibGUodmFyaWFibGUpIHtcbiAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZS5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSB0aGlzLmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgaXMgYWxyZWFkeSBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXM7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBBZGRlZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSB0byB0aGUgY29udGV4dC5gKTtcblxuICAgIHRoaXMudmFyaWFibGVzLnB1c2godmFyaWFibGUpO1xuICB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMuY29udGV4dC50cmFjZShtZXNzYWdlKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmRlYnVnKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC53YXJuaW5nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZXJyb3IobWVzc2FnZSk7IH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBjb25zdCBibG9ja0NvbnRleHQgPSBuZXcgQmxvY2tDb250ZXh0KGNvbnRleHQsIHZhcmlhYmxlcyk7XG5cbiAgICByZXR1cm4gYmxvY2tDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiY29udGV4dCIsInZhcmlhYmxlcyIsImdldENvbnRleHQiLCJnZXRWYXJpYWJsZXMiLCJjb250ZXh0VmFyaWFibGVzIiwiZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWUiLCJ2YXJpYWJsZSIsImZpbmQiLCJ2YXJpYWJsZU5hbWVNYXRjaGVzIiwibWF0Y2hWYXJpYWJsZU5hbWUiLCJpc1Byb2NlZHVyZVByZXNlbnRCeVJlZmVyZW5jZSIsInByb2NlZHVyZSIsInByb2NlZHVyZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwidmFyaWFibGVQcmVzZW50IiwiYWRkVmFyaWFibGUiLCJnZXROYW1lIiwidmFyaWFibGVTdHJpbmciLCJnZXRTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJ0cmFjZSIsIm5vZGVBc1N0cmluZyIsIm5vZGUiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmcm9tVmFyaWFibGVzIiwiYmxvY2tDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTtnRUFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVPLElBQUEsQUFBTUQsNkJBQU47YUFBTUEsYUFDUEcsT0FBTyxFQUFFQyxTQUFTO2dDQURYSjtRQUVqQixJQUFJLENBQUNHLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhBSjs7WUFNbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsT0FBTztZQUNyQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNRixZQUFZLEVBQUU7Z0JBRXBCSCxLQUFLRyxXQUFXLElBQUksQ0FBQ0EsU0FBUztnQkFFOUIsSUFBTUcsbUJBQW1CLElBQUksQ0FBQ0osT0FBTyxDQUFDRyxZQUFZO2dCQUVsREwsS0FBS0csV0FBV0c7Z0JBRWhCLE9BQU9IO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEs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
|
package/lib/context/file.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return FileContext;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
11
12
|
var _occamgrammars = require("occam-grammars");
|
|
12
13
|
var _dom = /*#__PURE__*/ _interop_require_default(require("../dom"));
|
|
13
14
|
var _query = require("../utilities/query");
|
|
@@ -36,7 +37,7 @@ function _interop_require_default(obj) {
|
|
|
36
37
|
default: obj
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
|
-
var furtleLexerFromNothing = _occamgrammars.lexersUtilities.furtleLexerFromNothing, furtleParserFromNothing = _occamgrammars.parsersUtilities.furtleParserFromNothing;
|
|
40
|
+
var push = _necessary.arrayUtilities.push, furtleLexerFromNothing = _occamgrammars.lexersUtilities.furtleLexerFromNothing, furtleParserFromNothing = _occamgrammars.parsersUtilities.furtleParserFromNothing;
|
|
40
41
|
var furtleLexer = furtleLexerFromNothing(), furtleParser = furtleParserFromNothing();
|
|
41
42
|
var errorNodesQuery = (0, _query.nodesQuery)("/document/error"), procedureDeclarationNodesQuery = (0, _query.nodesQuery)("/document/procedureDeclaration");
|
|
42
43
|
var FileContext = /*#__PURE__*/ function() {
|
|
@@ -145,7 +146,12 @@ var FileContext = /*#__PURE__*/ function() {
|
|
|
145
146
|
key: "getProcedures",
|
|
146
147
|
value: function getProcedures() {
|
|
147
148
|
var includeRelease = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
|
|
148
|
-
|
|
149
|
+
var procedures = [];
|
|
150
|
+
if (includeRelease) {
|
|
151
|
+
var releaseContextProcedures = this.releaseContext.getProcedures();
|
|
152
|
+
push(procedures, releaseContextProcedures);
|
|
153
|
+
}
|
|
154
|
+
return procedures;
|
|
149
155
|
}
|
|
150
156
|
},
|
|
151
157
|
{
|
|
@@ -349,4 +355,4 @@ var FileContext = /*#__PURE__*/ function() {
|
|
|
349
355
|
return FileContext;
|
|
350
356
|
}();
|
|
351
357
|
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcywgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgZnVydGxlTGV4ZXJGcm9tTm90aGluZyB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpO1xuXG5jb25zdCBlcnJvck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L2Vycm9yXCIpLFxuICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVEZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcykge1xuICAgIHRoaXMucmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0UmVsZWFzZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQ7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyOyAgLy8vXG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZnVydGxlUGFyc2VyOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZ2V0TWV0YVR5cGVzKCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5nZXRNZXRhVHlwZXMoKTsgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TWV0YUxlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhTGVtbWFzID0gW107XG5cbiAgICByZXR1cm4gbWV0YUxlbW1hcztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbiAgfVxuXG4gIGdldE1ldGF0aGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdGhlb3JlbXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKCkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGZpbmRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLnJlbGVhc2VDb250ZXh0LmZpbmRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeVJlZmVyZW5jZShyZWZlcmVuY2UpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gdGhpcy5nZXRQcm9jZWR1cmVzKCksXG4gICAgICAgICAgbmFtZSA9IHJlZmVyZW5jZS5nZXROYW1lKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlcy5maW5kKChwcm9jZWR1cmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gcHJvY2VkdXJlLm1hdGNoTmFtZShuYW1lKTtcblxuICAgICAgICAgICAgaWYgKG5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlO1xuICB9XG5cbiAgYWRkUHJvY2VkdXJlcyhub2RlKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXM7IC8vL1xuXG4gICAgY29uc3QgeyBQcm9jZWR1cmVEZWNsYXJhdGlvbiB9ID0gZG9tLFxuICAgICAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMgPSBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzUXVlcnkobm9kZSk7XG5cbiAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzLmZvckVhY2goKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgY29uc3QgcHJvY2VkdXJlRGVjbGFyYXRpb24gPSBQcm9jZWR1cmVEZWNsYXJhdGlvbi5mcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVEZWNsYXJhdGlvbi5nZXRQcm9jZWR1cmUoKTtcblxuICAgICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQudHJhY2UobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuZGVidWcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBpbmZvKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5pbmZvKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQud2FybmluZyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5lcnJvcihtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuLi5gKTtcblxuICAgIHRoaXMucHJlcGFyZSgpO1xuXG4gICAgaWYgKHRoaXMubm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy53YXJuaW5nKGBVbmFibGUgdG8gdmVyaWZ5IHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZSBiZWNhdXNlIGl0IGNhbm5vdCBiZSBwYXJzZWQuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGVycm9yTm9kZXMgPSBlcnJvck5vZGVzUXVlcnkodGhpcy5ub2RlKSxcbiAgICAgICAgICAgIGVycm9yTm9kZXNMZW5ndGggPSBlcnJvck5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKGVycm9yTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5hZGRQcm9jZWR1cmVzKHRoaXMubm9kZSk7XG5cbiAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy53YXJuaW5nKGBUaGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUgY2Fubm90IGJlIHZlcmlmaWVkIGJlY2F1c2UgdGhlcmUgYXJlIGVycm9ycy5gKTtcblxuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmluZm8oYC4uLnZlcmlmaWVkIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBbXTtcbiAgfVxuXG4gIHByZXBhcmUoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5zICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmluZEZpbGUodGhpcy5maWxlUGF0aCksXG4gICAgICAgICAgbGV4ZXIgPSB0aGlzLmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gdGhpcy5nZXRQYXJzZXIoKSxcbiAgICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCk7XG5cbiAgICB0aGlzLnRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gICAgdGhpcy5ub2RlID0gcGFyc2VyLnBhcnNlKHRoaXMudG9rZW5zKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoanNvbikge1xuICAgIGNvbnN0IHsgY29udGVudCB9ID0ganNvbixcbiAgICAgICAgICBsZXhlciA9IHRoaXMuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSB0aGlzLmdldFBhcnNlcigpLFxuICAgICAgICAgIHRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIHRoaXMuY2xlYXIoKTtcblxuICAgIHRoaXMuYWRkUHJvY2VkdXJlcyhub2RlKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBmaWxlID0gdGhpcy5maW5kRmlsZSh0aGlzLmZpbGVQYXRoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IHRoaXMuZmlsZVBhdGgsIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlKGZpbGUsIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBmaWxlLmdldFBhdGgoKSxcbiAgICAgICAgICB0b2tlbnMgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIHByb2NlZHVyZXMgPSBbXSxcbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBGaWxlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcyk7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVQYXRoQW5kSlNPTihmaWxlUGF0aCwganNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIHByb2NlZHVyZXMgPSBudWxsLFxuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IEZpbGVDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBmaWxlUGF0aCwgbm9kZSwgdG9rZW5zLCBwcm9jZWR1cmVzKTtcblxuICAgIGZpbGVDb250ZXh0LmluaXRpYWxpc2UoanNvbik7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGaWxlQ29udGV4dCIsImZ1cnRsZUxleGVyRnJvbU5vdGhpbmciLCJsZXhlcnNVdGlsaXRpZXMiLCJmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyIsInBhcnNlcnNVdGlsaXRpZXMiLCJmdXJ0bGVMZXhlciIsImZ1cnRsZVBhcnNlciIsImVycm9yTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJyZWxlYXNlQ29udGV4dCIsImZpbGVQYXRoIiwibm9kZSIsInRva2VucyIsInByb2NlZHVyZXMiLCJnZXRSZWxlYXNlQ29udGV4dCIsImdldEZpbGVQYXRoIiwiZ2V0Tm9kZSIsImdldFRva2VucyIsImdldExleGVyIiwibGV4ZXIiLCJnZXRQYXJzZXIiLCJwYXJzZXIiLCJnZXRNZXRhVHlwZXMiLCJnZXRMYWJlbHMiLCJpbmNsdWRlUmVsZWFzZSIsImxhYmVscyIsImdldFR5cGVzIiwidHlwZXMiLCJnZXRSdWxlcyIsInJ1bGVzIiwiZ2V0QXhpb21zIiwiYXhpb21zIiwiZ2V0TGVtbWFzIiwibGVtbWFzIiwiZ2V0VGhlb3JlbXMiLCJ0aGVvcmVtcyIsImdldFByb2NlZHVyZXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldENvbmplY3R1cmVzIiwiY29uamVjdHVyZXMiLCJnZXRDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZ2V0TWV0YXRoZW9yZW1zIiwibWV0YXRoZW9yZW1zIiwiZ2V0TWV0YXZhcmlhYmxlcyIsIm1ldGF2YXJpYWJsZXMiLCJnZXRWYXJpYWJsZXMiLCJ2YXJpYWJsZXMiLCJmaW5kRmlsZSIsImZpbmRQcm9jZWR1cmVCeVJlZmVyZW5jZSIsInJlZmVyZW5jZSIsIm5hbWUiLCJnZXROYW1lIiwicHJvY2VkdXJlIiwiZmluZCIsIm5hbWVNYXRjaGVzIiwibWF0Y2hOYW1lIiwiYWRkUHJvY2VkdXJlcyIsImNvbnRleHQiLCJQcm9jZWR1cmVEZWNsYXJhdGlvbiIsImRvbSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMiLCJmb3JFYWNoIiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwicHJvY2VkdXJlRGVjbGFyYXRpb24iLCJmcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwiZ2V0UHJvY2VkdXJlIiwicHVzaCIsIm5vZGVBc1N0cmluZyIsInN0cmluZyIsInRyYWNlIiwibWVzc2FnZSIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsInZlcmlmeSIsInZlcmlmaWVkIiwicHJlcGFyZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiY2xlYXIiLCJmaWxlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbmlzZSIsInBhcnNlIiwiaW5pdGlhbGlzZSIsImpzb24iLCJ0b0pTT04iLCJmcm9tRmlsZSIsImdldFBhdGgiLCJmaWxlQ29udGV4dCIsImZyb21GaWxlUGF0aEFuZEpTT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBa0JxQkE7Ozs2QkFoQjZCOzBEQUVsQztxQkFFVztzQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNLEFBQUVDLHlCQUEyQkMsOEJBQWUsQ0FBMUNELHdCQUNGLEFBQUVFLDBCQUE0QkMsK0JBQWdCLENBQTVDRDtBQUVSLElBQU1FLGNBQWNKLDBCQUNkSyxlQUFlSDtBQUVyQixJQUFNSSxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsb0JBQzdCQyxpQ0FBaUNELElBQUFBLGlCQUFVLEVBQUM7QUFFbkMsSUFBQSxBQUFNUiw0QkFBTjthQUFNQSxZQUNQVSxjQUFjLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLFVBQVU7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
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgbGV4ZXJzVXRpbGl0aWVzLCBwYXJzZXJzVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgeyBwdXNoIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgZnVydGxlTGV4ZXJGcm9tTm90aGluZyB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpO1xuXG5jb25zdCBlcnJvck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L2Vycm9yXCIpLFxuICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVEZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcykge1xuICAgIHRoaXMucmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0UmVsZWFzZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQ7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyOyAgLy8vXG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZnVydGxlUGFyc2VyOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZ2V0TWV0YVR5cGVzKCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5nZXRNZXRhVHlwZXMoKTsgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gW107XG5cbiAgICBpZiAoaW5jbHVkZVJlbGVhc2UpIHtcbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyA9IHRoaXMucmVsZWFzZUNvbnRleHQuZ2V0UHJvY2VkdXJlcygpO1xuXG4gICAgICBwdXNoKHByb2NlZHVyZXMsIHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0Q29uamVjdHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHJldHVybiBjb25qZWN0dXJlcztcbiAgfVxuXG4gIGdldENvbWJpbmF0b3JzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbWJpbmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JzID0gW107XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgZ2V0TWV0YXRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGF0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgZmluZEZpbGUoZmlsZVBhdGgpIHsgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQuZmluZEZpbGUoZmlsZVBhdGgpOyB9XG5cbiAgZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSB0aGlzLmdldFByb2NlZHVyZXMoKSxcbiAgICAgICAgICBuYW1lID0gcmVmZXJlbmNlLmdldE5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVzLmZpbmQoKHByb2NlZHVyZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZU1hdGNoZXMgPSBwcm9jZWR1cmUubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICAgICAgICBpZiAobmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBhZGRQcm9jZWR1cmVzKG5vZGUpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCB7IFByb2NlZHVyZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlcyA9IHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeShub2RlKTtcblxuICAgIHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMuZm9yRWFjaCgocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSA9PiB7XG4gICAgICBjb25zdCBwcm9jZWR1cmVEZWNsYXJhdGlvbiA9IFByb2NlZHVyZURlY2xhcmF0aW9uLmZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHByb2NlZHVyZSA9IHByb2NlZHVyZURlY2xhcmF0aW9uLmdldFByb2NlZHVyZSgpO1xuXG4gICAgICB0aGlzLnByb2NlZHVyZXMucHVzaChwcm9jZWR1cmUpO1xuICAgIH0pO1xuICB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcobm9kZSwgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC50cmFjZShtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC5kZWJ1ZyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGluZm8obWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0LmluZm8obWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICB3YXJuaW5nKG1lc3NhZ2UpIHsgdGhpcy5yZWxlYXNlQ29udGV4dC53YXJuaW5nKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0LmVycm9yKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gICAgdGhpcy5wcmVwYXJlKCk7XG5cbiAgICBpZiAodGhpcy5ub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLndhcm5pbmcoYFVuYWJsZSB0byB2ZXJpZnkgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlIGJlY2F1c2UgaXQgY2Fubm90IGJlIHBhcnNlZC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3JOb2RlcyA9IGVycm9yTm9kZXNRdWVyeSh0aGlzLm5vZGUpLFxuICAgICAgICAgICAgZXJyb3JOb2Rlc0xlbmd0aCA9IGVycm9yTm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAoZXJyb3JOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmFkZFByb2NlZHVyZXModGhpcy5ub2RlKTtcblxuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndhcm5pbmcoYFRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZSBjYW5ub3QgYmUgdmVyaWZpZWQgYmVjYXVzZSB0aGVyZSBhcmUgZXJyb3JzLmApO1xuXG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuaW5mbyhgLi4udmVyaWZpZWQgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgcHJlcGFyZSgpIHtcbiAgICBpZiAodGhpcy50b2tlbnMgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlID0gdGhpcy5maW5kRmlsZSh0aGlzLmZpbGVQYXRoKSxcbiAgICAgICAgICBsZXhlciA9IHRoaXMuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSB0aGlzLmdldFBhcnNlcigpLFxuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKTtcblxuICAgIHRoaXMudG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICB0aGlzLm5vZGUgPSBwYXJzZXIucGFyc2UodGhpcy50b2tlbnMpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShqc29uKSB7XG4gICAgY29uc3QgeyBjb250ZW50IH0gPSBqc29uLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMpO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy5hZGRQcm9jZWR1cmVzKG5vZGUpO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbmRGaWxlKHRoaXMuZmlsZVBhdGgpLFxuICAgICAgICAgIGZpbGVQYXRoID0gdGhpcy5maWxlUGF0aCwgLy8vXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxuICAgICAgICAgIHRva2VucyA9IG51bGwsXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IFtdLFxuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IEZpbGVDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBmaWxlUGF0aCwgbm9kZSwgdG9rZW5zLCBwcm9jZWR1cmVzKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZVBhdGhBbmRKU09OKGZpbGVQYXRoLCBqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHRva2VucyA9IG51bGwsXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IG51bGwsXG4gICAgICAgICAgZmlsZUNvbnRleHQgPSBuZXcgRmlsZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGZpbGVQYXRoLCBub2RlLCB0b2tlbnMsIHByb2NlZHVyZXMpO1xuXG4gICAgZmlsZUNvbnRleHQuaW5pdGlhbGlzZShqc29uKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZpbGVDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZnVydGxlTGV4ZXJGcm9tTm90aGluZyIsImxleGVyc1V0aWxpdGllcyIsImZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nIiwicGFyc2Vyc1V0aWxpdGllcyIsImZ1cnRsZUxleGVyIiwiZnVydGxlUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeSIsInJlbGVhc2VDb250ZXh0IiwiZmlsZVBhdGgiLCJub2RlIiwidG9rZW5zIiwicHJvY2VkdXJlcyIsImdldFJlbGVhc2VDb250ZXh0IiwiZ2V0RmlsZVBhdGgiLCJnZXROb2RlIiwiZ2V0VG9rZW5zIiwiZ2V0TGV4ZXIiLCJsZXhlciIsImdldFBhcnNlciIsInBhcnNlciIsImdldE1ldGFUeXBlcyIsImdldExhYmVscyIsImluY2x1ZGVSZWxlYXNlIiwibGFiZWxzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImdldFJ1bGVzIiwicnVsZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJnZXRMZW1tYXMiLCJsZW1tYXMiLCJnZXRUaGVvcmVtcyIsInRoZW9yZW1zIiwiZ2V0UHJvY2VkdXJlcyIsInJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyIsImdldE1ldGFMZW1tYXMiLCJtZXRhTGVtbWFzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFZhcmlhYmxlcyIsInZhcmlhYmxlcyIsImZpbmRGaWxlIiwiZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwibmFtZSIsImdldE5hbWUiLCJwcm9jZWR1cmUiLCJmaW5kIiwibmFtZU1hdGNoZXMiLCJtYXRjaE5hbWUiLCJhZGRQcm9jZWR1cmVzIiwiY29udGV4dCIsIlByb2NlZHVyZURlY2xhcmF0aW9uIiwiZG9tIiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlcyIsImZvckVhY2giLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbiIsImZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJnZXRQcm9jZWR1cmUiLCJub2RlQXNTdHJpbmciLCJzdHJpbmciLCJ0cmFjZSIsIm1lc3NhZ2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsInByZXBhcmUiLCJlcnJvck5vZGVzIiwiZXJyb3JOb2Rlc0xlbmd0aCIsImxlbmd0aCIsImNsZWFyIiwiZmlsZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9rZW5pc2UiLCJwYXJzZSIsImluaXRpYWxpc2UiLCJqc29uIiwidG9KU09OIiwiZnJvbUZpbGUiLCJnZXRQYXRoIiwiZmlsZUNvbnRleHQiLCJmcm9tRmlsZVBhdGhBbmRKU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Oztl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
|
|
@@ -8,9 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _dom = require("../../dom");
|
|
11
|
+
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
12
|
var _query = require("../../utilities/query");
|
|
13
|
-
var _object = require("../assignment/object");
|
|
14
13
|
function _class_call_check(instance, Constructor) {
|
|
15
14
|
if (!(instance instanceof Constructor)) {
|
|
16
15
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -43,14 +42,55 @@ function _define_property(obj, key, value) {
|
|
|
43
42
|
}
|
|
44
43
|
return obj;
|
|
45
44
|
}
|
|
45
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
+
if (typeof WeakMap !== "function") return null;
|
|
47
|
+
var cacheBabelInterop = new WeakMap();
|
|
48
|
+
var cacheNodeInterop = new WeakMap();
|
|
49
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
+
})(nodeInterop);
|
|
52
|
+
}
|
|
53
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
54
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
+
return {
|
|
59
|
+
default: obj
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
+
if (cache && cache.has(obj)) {
|
|
64
|
+
return cache.get(obj);
|
|
65
|
+
}
|
|
66
|
+
var newObj = {
|
|
67
|
+
__proto__: null
|
|
68
|
+
};
|
|
69
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
70
|
+
for(var key in obj){
|
|
71
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
72
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
73
|
+
if (desc && (desc.get || desc.set)) {
|
|
74
|
+
Object.defineProperty(newObj, key, desc);
|
|
75
|
+
} else {
|
|
76
|
+
newObj[key] = obj[key];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
newObj.default = obj;
|
|
81
|
+
if (cache) {
|
|
82
|
+
cache.set(obj, newObj);
|
|
83
|
+
}
|
|
84
|
+
return newObj;
|
|
85
|
+
}
|
|
46
86
|
var _ArrayAssigment;
|
|
47
|
-
var
|
|
87
|
+
var arrayAssignmentNodeQuery = (0, _query.nodeQuery)("/step/arrayAssignment");
|
|
48
88
|
var _default = (0, _dom.domAssigned)((_ArrayAssigment = /*#__PURE__*/ function() {
|
|
49
|
-
function ArrayAssigment(string,
|
|
89
|
+
function ArrayAssigment(string, variable, parameters) {
|
|
50
90
|
_class_call_check(this, ArrayAssigment);
|
|
51
91
|
this.string = string;
|
|
52
|
-
this.
|
|
53
|
-
this.
|
|
92
|
+
this.variable = variable;
|
|
93
|
+
this.parameters = parameters;
|
|
54
94
|
}
|
|
55
95
|
_create_class(ArrayAssigment, [
|
|
56
96
|
{
|
|
@@ -60,15 +100,15 @@ var _default = (0, _dom.domAssigned)((_ArrayAssigment = /*#__PURE__*/ function()
|
|
|
60
100
|
}
|
|
61
101
|
},
|
|
62
102
|
{
|
|
63
|
-
key: "
|
|
64
|
-
value: function
|
|
65
|
-
return this.
|
|
103
|
+
key: "getVariable",
|
|
104
|
+
value: function getVariable() {
|
|
105
|
+
return this.variable;
|
|
66
106
|
}
|
|
67
107
|
},
|
|
68
108
|
{
|
|
69
109
|
key: "getVariables",
|
|
70
110
|
value: function getVariables() {
|
|
71
|
-
return this.
|
|
111
|
+
return this.parameters;
|
|
72
112
|
}
|
|
73
113
|
}
|
|
74
114
|
], [
|
|
@@ -78,8 +118,8 @@ var _default = (0, _dom.domAssigned)((_ArrayAssigment = /*#__PURE__*/ function()
|
|
|
78
118
|
var arrayAssignment = null;
|
|
79
119
|
var arrayAssignmentNode = arrayAssignmentNodeQuery(stepNode);
|
|
80
120
|
if (arrayAssignmentNode !== null) {
|
|
81
|
-
var
|
|
82
|
-
arrayAssignment = new ArrayAssigment(string,
|
|
121
|
+
var Variable = _dom.default.Variable, Parameters = _dom.default.Parameters, node = arrayAssignmentNode, string = context.nodeAsString(node), variable = Variable.fromArrayAssignmentNode(arrayAssignmentNode, context), parameters = Parameters.fromArrayAssignmentNode(arrayAssignmentNode, context);
|
|
122
|
+
arrayAssignment = new ArrayAssigment(string, variable, parameters);
|
|
83
123
|
}
|
|
84
124
|
return arrayAssignment;
|
|
85
125
|
}
|
|
@@ -87,9 +127,5 @@ var _default = (0, _dom.domAssigned)((_ArrayAssigment = /*#__PURE__*/ function()
|
|
|
87
127
|
]);
|
|
88
128
|
return ArrayAssigment;
|
|
89
129
|
}(), _define_property(_ArrayAssigment, "name", "ArrayAssignment"), _ArrayAssigment));
|
|
90
|
-
function offsetFromArrayAssignmentNode(arrayAssignmentNode, context) {
|
|
91
|
-
var dummyVariableNodes = dummyVariableNodesQuery(arrayAssignmentNode), dummyVariableNodesLength = dummyVariableNodes.length, offset = dummyVariableNodesLength; ///
|
|
92
|
-
return offset;
|
|
93
|
-
}
|
|
94
130
|
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC9hcnJheS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5jb25zdCBhcnJheUFzc2lnbm1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RlcC9hcnJheUFzc2lnbm1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIEFycmF5QXNzaWdtZW50IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgcGFyYW1ldGVycykge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQXJyYXlBc3NpZ25tZW50XCI7XG5cbiAgc3RhdGljIGZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBhcnJheUFzc2lnbm1lbnQgPSBudWxsO1xuXG4gICAgY29uc3QgYXJyYXlBc3NpZ25tZW50Tm9kZSA9IGFycmF5QXNzaWdubWVudE5vZGVRdWVyeShzdGVwTm9kZSk7XG5cbiAgICBpZiAoYXJyYXlBc3NpZ25tZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBWYXJpYWJsZSwgUGFyYW1ldGVycyB9ID0gZG9tLFxuICAgICAgICAgICAgbm9kZSA9IGFycmF5QXNzaWdubWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tQXJyYXlBc3NpZ25tZW50Tm9kZShhcnJheUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzLmZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBhcnJheUFzc2lnbm1lbnQgPSBuZXcgQXJyYXlBc3NpZ21lbnQoc3RyaW5nLCB2YXJpYWJsZSwgcGFyYW1ldGVycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5QXNzaWdubWVudDtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiYXJyYXlBc3NpZ25tZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJBcnJheUFzc2lnbWVudCIsInN0cmluZyIsInZhcmlhYmxlIiwicGFyYW1ldGVycyIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0VmFyaWFibGVzIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJjb250ZXh0IiwiYXJyYXlBc3NpZ25tZW50IiwiYXJyYXlBc3NpZ25tZW50Tm9kZSIsIlZhcmlhYmxlIiwiZG9tIiwiUGFyYW1ldGVycyIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJmcm9tQXJyYXlBc3NpZ25tZW50Tm9kZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7OzJEQVBnQjtxQkFFVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU1BLDJCQUEyQkMsSUFBQUEsZ0JBQVMsRUFBQztJQUUzQyxXQUFlQyxJQUFBQSxnQkFBVyxtQ0FBQzthQUFNQyxlQUNuQkMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVU7Z0NBRFRIO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7Ozs7WUFHcEJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsVUFBVTtZQUN4Qjs7OztZQUlPSSxLQUFBQTttQkFBUCxTQUFPQSxhQUFhQyxRQUFRLEVBQUVDLE9BQU87Z0JBQ25DLElBQUlDLGtCQUFrQjtnQkFFdEIsSUFBTUMsc0JBQXNCZCx5QkFBeUJXO2dCQUVyRCxJQUFJRyx3QkFBd0IsTUFBTTtvQkFDaEMsSUFBUUMsV0FBeUJDLFlBQUcsQ0FBNUJELFVBQVVFLGFBQWVELFlBQUcsQ0FBbEJDLFlBQ1pDLE9BQU9KLHFCQUNQVixTQUFTUSxRQUFRTyxZQUFZLENBQUNELE9BQzlCYixXQUFXVSxTQUFTSyx1QkFBdUIsQ0FBQ04scUJBQXFCRixVQUNqRU4sYUFBYVcsV0FBV0csdUJBQXVCLENBQUNOLHFCQUFxQkY7b0JBRTNFQyxrQkFBa0IsSUFBSVYsZUFBZUMsUUFBUUMsVUFBVUM7Z0JBQ3pEO2dCQUVBLE9BQU9PO1lBQ1Q7Ozs7S0FsQkEsa0NBQU9RLFFBQU8ifQ==
|
|
@@ -2,25 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return _default;
|
|
14
|
-
},
|
|
15
|
-
typesFromTypeTerminalNodes: function() {
|
|
16
|
-
return typesFromTypeTerminalNodes;
|
|
17
|
-
},
|
|
18
|
-
variablesFromVariableNodesAndTypes: function() {
|
|
19
|
-
return variablesFromVariableNodesAndTypes;
|
|
20
9
|
}
|
|
21
10
|
});
|
|
22
11
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
+
var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
var _node = /*#__PURE__*/ _interop_require_default(require("../../parameters/node"));
|
|
23
14
|
var _query = require("../../utilities/query");
|
|
15
|
+
var _types = require("../../types");
|
|
16
|
+
var _parameterNames = require("../../parameterNames");
|
|
24
17
|
function _class_call_check(instance, Constructor) {
|
|
25
18
|
if (!(instance instanceof Constructor)) {
|
|
26
19
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -53,6 +46,11 @@ function _define_property(obj, key, value) {
|
|
|
53
46
|
}
|
|
54
47
|
return obj;
|
|
55
48
|
}
|
|
49
|
+
function _interop_require_default(obj) {
|
|
50
|
+
return obj && obj.__esModule ? obj : {
|
|
51
|
+
default: obj
|
|
52
|
+
};
|
|
53
|
+
}
|
|
56
54
|
function _getRequireWildcardCache(nodeInterop) {
|
|
57
55
|
if (typeof WeakMap !== "function") return null;
|
|
58
56
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -95,12 +93,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
95
93
|
return newObj;
|
|
96
94
|
}
|
|
97
95
|
var _ObjectAssigment;
|
|
98
|
-
var
|
|
96
|
+
var objectAssignmentNodeQuery = (0, _query.nodeQuery)("/step/objectAssignment");
|
|
99
97
|
var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function() {
|
|
100
|
-
function ObjectAssigment(string,
|
|
98
|
+
function ObjectAssigment(string, variable, parameters) {
|
|
101
99
|
_class_call_check(this, ObjectAssigment);
|
|
102
100
|
this.string = string;
|
|
103
|
-
this.
|
|
101
|
+
this.variable = variable;
|
|
102
|
+
this.parameters = parameters;
|
|
104
103
|
}
|
|
105
104
|
_create_class(ObjectAssigment, [
|
|
106
105
|
{
|
|
@@ -110,9 +109,15 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
|
|
|
110
109
|
}
|
|
111
110
|
},
|
|
112
111
|
{
|
|
113
|
-
key: "
|
|
114
|
-
value: function
|
|
115
|
-
return this.
|
|
112
|
+
key: "getVariable",
|
|
113
|
+
value: function getVariable() {
|
|
114
|
+
return this.variable;
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "getParameters",
|
|
119
|
+
value: function getParameters() {
|
|
120
|
+
return this.parameters;
|
|
116
121
|
}
|
|
117
122
|
},
|
|
118
123
|
{
|
|
@@ -120,6 +125,39 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
|
|
|
120
125
|
value: function resolve(context) {
|
|
121
126
|
var objectAssignmentString = this.string; ///
|
|
122
127
|
context.trace("Resolving the '".concat(objectAssignmentString, "' object assignment..."));
|
|
128
|
+
var value = this.variable.resolve(context), valueType = value.getType();
|
|
129
|
+
if (valueType !== _types.NODE_TYPE) {
|
|
130
|
+
var valueString = value.getString(), message = "The '".concat(valueString, "' value's '").concat(valueType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
131
|
+
throw exception;
|
|
132
|
+
}
|
|
133
|
+
this.parameters.forEachParameter(function(parameter) {
|
|
134
|
+
if (parameter !== null) {
|
|
135
|
+
_node.default.matchParameter(parameter, context);
|
|
136
|
+
var node = value.getNode(), name = parameter.getName();
|
|
137
|
+
switch(name){
|
|
138
|
+
case _parameterNames.CONTENT_PARAMETER_NAME:
|
|
139
|
+
{
|
|
140
|
+
var type = parameter.getType();
|
|
141
|
+
if (type !== _types.STRING_TYPE) {
|
|
142
|
+
var parameterString = parameter.getString(), message = "The '".concat(parameterString, "' parameter's type should be '").concat(_types.STRING_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
143
|
+
throw exception;
|
|
144
|
+
}
|
|
145
|
+
var nodeTerminalNode = node.isTerminalNode();
|
|
146
|
+
if (!nodeTerminalNode) {
|
|
147
|
+
var valueString = value1.getString(), message1 = "The '".concat(valueString, "' value's node must be terminal."), exception1 = _exception.default.fromMessage(message1);
|
|
148
|
+
throw exception1;
|
|
149
|
+
}
|
|
150
|
+
var Value = _dom.default.Value, Variable = _dom.default.Variable, terminalNode = node, content = terminalNode.getContent(), stringLiteral = content, value1 = Value.fromStringLiteral(stringLiteral, context), variable = Variable.fromValueAndParameter(value1, parameter);
|
|
151
|
+
context.addVariable(variable);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
default:
|
|
155
|
+
{
|
|
156
|
+
debugger;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
});
|
|
123
161
|
context.debug("...resolved the '".concat(objectAssignmentString, "' object assignment."));
|
|
124
162
|
}
|
|
125
163
|
}
|
|
@@ -130,8 +168,8 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
|
|
|
130
168
|
var objectAssignment = null;
|
|
131
169
|
var objectAssignmentNode = objectAssignmentNodeQuery(stepNode);
|
|
132
170
|
if (objectAssignmentNode !== null) {
|
|
133
|
-
var
|
|
134
|
-
objectAssignment = new ObjectAssigment(string,
|
|
171
|
+
var Variable = _dom.default.Variable, Parameters = _dom.default.Parameters, node = objectAssignmentNode, string = context.nodeAsString(node), variable = Variable.fromObjectAssignmentNode(objectAssignmentNode, context), parameters = Parameters.fromObjectAssignmentNode(objectAssignmentNode, context);
|
|
172
|
+
objectAssignment = new ObjectAssigment(string, variable, parameters);
|
|
135
173
|
}
|
|
136
174
|
return objectAssignment;
|
|
137
175
|
}
|
|
@@ -139,19 +177,5 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
|
|
|
139
177
|
]);
|
|
140
178
|
return ObjectAssigment;
|
|
141
179
|
}(), _define_property(_ObjectAssigment, "name", "ObjectAssigment"), _ObjectAssigment));
|
|
142
|
-
function typesFromTypeTerminalNodes(typeTerminalNodes, context) {
|
|
143
|
-
var types = typeTerminalNodes.map(function(typeTerminalNode) {
|
|
144
|
-
var typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
|
|
145
|
-
return type;
|
|
146
|
-
});
|
|
147
|
-
return types;
|
|
148
|
-
}
|
|
149
|
-
function variablesFromVariableNodesAndTypes(variableNodes, types, context) {
|
|
150
|
-
var Variable = _dom.default.Variable, variables = variableNodes.map(function(variableNode, index) {
|
|
151
|
-
var type = types[index], variable = Variable.fromVariableNodeAndType(variableNode, type, context);
|
|
152
|
-
return variable;
|
|
153
|
-
});
|
|
154
|
-
return variables;
|
|
155
|
-
}
|
|
156
180
|
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC9vYmplY3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5pbXBvcnQgbm9kZVBhcmFtZXRlcnMgZnJvbSBcIi4uLy4uL3BhcmFtZXRlcnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCB7IE5PREVfVFlQRSwgU1RSSU5HX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUgfSBmcm9tIFwiLi4vLi4vcGFyYW1ldGVyTmFtZXNcIjtcblxuY29uc3Qgb2JqZWN0QXNzaWdubWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGVwL29iamVjdEFzc2lnbm1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIE9iamVjdEFzc2lnbWVudCB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIHBhcmFtZXRlcnMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIHJlc29sdmUoY29udGV4dCkge1xuICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBSZXNvbHZpbmcgdGhlICcke29iamVjdEFzc2lnbm1lbnRTdHJpbmd9JyBvYmplY3QgYXNzaWdubWVudC4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLnJlc29sdmUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gTk9ERV9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLnBhcmFtZXRlcnMuZm9yRWFjaFBhcmFtZXRlcigocGFyYW1ldGVyKSA9PiB7XG4gICAgICBpZiAocGFyYW1ldGVyICE9PSBudWxsKSB7XG4gICAgICAgIG5vZGVQYXJhbWV0ZXJzLm1hdGNoUGFyYW1ldGVyKHBhcmFtZXRlciwgY29udGV4dCk7XG5cbiAgICAgICAgY29uc3Qgbm9kZSA9IHZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICAgICAgbmFtZSA9IHBhcmFtZXRlci5nZXROYW1lKCk7XG5cbiAgICAgICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgICAgICAgICAgaWYgKHR5cGUgIT09IFNUUklOR19UWVBFKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEV9Jy5gLFxuICAgICAgICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgICAgICAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IFZhbHVlLCBWYXJpYWJsZSB9ID0gZG9tLFxuICAgICAgICAgICAgICAgICAgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gY29udGVudCwgIC8vL1xuICAgICAgICAgICAgICAgICAgdmFsdWUgPSBWYWx1ZS5mcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVZhbHVlQW5kUGFyYW1ldGVyKHZhbHVlLCBwYXJhbWV0ZXIpO1xuXG4gICAgICAgICAgICBjb250ZXh0LmFkZFZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgZGVidWdnZXJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnJlc29sdmVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiT2JqZWN0QXNzaWdtZW50XCI7XG5cbiAgc3RhdGljIGZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBvYmplY3RBc3NpZ25tZW50ID0gbnVsbDtcblxuICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnROb2RlID0gb2JqZWN0QXNzaWdubWVudE5vZGVRdWVyeShzdGVwTm9kZSk7XG5cbiAgICBpZiAob2JqZWN0QXNzaWdubWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUsIFBhcmFtZXRlcnMgfSA9IGRvbSxcbiAgICAgICAgICAgIG5vZGUgPSBvYmplY3RBc3NpZ25tZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21PYmplY3RBc3NpZ25tZW50Tm9kZShvYmplY3RBc3NpZ25tZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBwYXJhbWV0ZXJzID0gUGFyYW1ldGVycy5mcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBvYmplY3RBc3NpZ25tZW50ID0gbmV3IE9iamVjdEFzc2lnbWVudChzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0QXNzaWdubWVudDtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsib2JqZWN0QXNzaWdubWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiT2JqZWN0QXNzaWdtZW50Iiwic3RyaW5nIiwidmFyaWFibGUiLCJwYXJhbWV0ZXJzIiwiZ2V0U3RyaW5nIiwiZ2V0VmFyaWFibGUiLCJnZXRQYXJhbWV0ZXJzIiwicmVzb2x2ZSIsImNvbnRleHQiLCJvYmplY3RBc3NpZ25tZW50U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJOT0RFX1RZUEUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImZvckVhY2hQYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiLCJub2RlUGFyYW1ldGVycyIsIm1hdGNoUGFyYW1ldGVyIiwibm9kZSIsImdldE5vZGUiLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJ0eXBlIiwiU1RSSU5HX1RZUEUiLCJwYXJhbWV0ZXJTdHJpbmciLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJWYWx1ZSIsImRvbSIsIlZhcmlhYmxlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJzdHJpbmdMaXRlcmFsIiwiZnJvbVN0cmluZ0xpdGVyYWwiLCJmcm9tVmFsdWVBbmRQYXJhbWV0ZXIiLCJhZGRWYXJpYWJsZSIsImRlYnVnIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJvYmplY3RBc3NpZ25tZW50Iiwib2JqZWN0QXNzaWdubWVudE5vZGUiLCJQYXJhbWV0ZXJzIiwibm9kZUFzU3RyaW5nIiwiZnJvbU9iamVjdEFzc2lnbm1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQUE7OzsyREFYZ0I7Z0VBQ007MkRBQ0s7cUJBRUQ7cUJBRWE7OEJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZDLElBQU1BLDRCQUE0QkMsSUFBQUEsZ0JBQVMsRUFBQztJQUU1QyxXQUFlQyxJQUFBQSxnQkFBVyxvQ0FBQzthQUFNQyxnQkFDbkJDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxVQUFVO2dDQURUSDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOzs7O1lBR3BCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFVBQVU7WUFDeEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUMsT0FBTztnQkFDYixJQUFNQyx5QkFBeUIsSUFBSSxDQUFDUixNQUFNLEVBQUUsR0FBRztnQkFFL0NPLFFBQVFFLEtBQUssQ0FBQyxBQUFDLGtCQUF3QyxPQUF2QkQsd0JBQXVCO2dCQUV2RCxJQUFNRSxRQUFRLElBQUksQ0FBQ1QsUUFBUSxDQUFDSyxPQUFPLENBQUNDLFVBQzlCSSxZQUFZRCxNQUFNRSxPQUFPO2dCQUUvQixJQUFJRCxjQUFjRSxnQkFBUyxFQUFFO29CQUMzQixJQUFNQyxjQUFjSixNQUFNUCxTQUFTLElBQzdCWSxVQUFVLEFBQUMsUUFBZ0NKLE9BQXpCRyxhQUFZLGVBQTJDRCxPQUE5QkYsV0FBVSxzQkFBOEIsT0FBVkUsZ0JBQVMsRUFBQyxPQUNuRkcsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBSSxDQUFDZCxVQUFVLENBQUNpQixnQkFBZ0IsQ0FBQyxTQUFDQztvQkFDaEMsSUFBSUEsY0FBYyxNQUFNO3dCQUN0QkMsYUFBYyxDQUFDQyxjQUFjLENBQUNGLFdBQVdiO3dCQUV6QyxJQUFNZ0IsT0FBT2IsTUFBTWMsT0FBTyxJQUNwQkMsT0FBT0wsVUFBVU0sT0FBTzt3QkFFOUIsT0FBUUQ7NEJBQ04sS0FBS0Usc0NBQXNCO2dDQUFFO29DQUMzQixJQUFNQyxPQUFPUixVQUFVUixPQUFPO29DQUU5QixJQUFJZ0IsU0FBU0Msa0JBQVcsRUFBRTt3Q0FDeEIsSUFBTUMsa0JBQWtCVixVQUFVakIsU0FBUyxJQUNyQ1ksVUFBVSxBQUFDLFFBQXVEYyxPQUFoREMsaUJBQWdCLGtDQUE0QyxPQUFaRCxrQkFBVyxFQUFDLE9BQzlFYixZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO3dDQUV4QyxNQUFNQztvQ0FDUjtvQ0FFQSxJQUFNZSxtQkFBbUJSLEtBQUtTLGNBQWM7b0NBRTVDLElBQUksQ0FBQ0Qsa0JBQWtCO3dDQUNyQixJQUFNakIsY0FBY0osT0FBTVAsU0FBUyxJQUM3QlksV0FBVSxBQUFDLFFBQW1CLE9BQVpELGFBQVkscUNBQzlCRSxhQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO3dDQUV4QyxNQUFNQztvQ0FDUjtvQ0FFQSxJQUFRaUIsUUFBb0JDLFlBQUcsQ0FBdkJELE9BQU9FLFdBQWFELFlBQUcsQ0FBaEJDLFVBQ1RDLGVBQWViLE1BQ2ZjLFVBQVVELGFBQWFFLFVBQVUsSUFDakNDLGdCQUFnQkYsU0FDaEIzQixTQUFRdUIsTUFBTU8saUJBQWlCLENBQUNELGVBQWVoQyxVQUMvQ04sV0FBV2tDLFNBQVNNLHFCQUFxQixDQUFDL0IsUUFBT1U7b0NBRXZEYixRQUFRbUMsV0FBVyxDQUFDekM7b0NBRXBCO2dDQUNGOzRCQUVBO2dDQUFTO29DQUNQLFFBQVE7Z0NBQ1Y7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7Z0JBRUFNLFFBQVFvQyxLQUFLLENBQUMsQUFBQyxvQkFBMEMsT0FBdkJuQyx3QkFBdUI7WUFDM0Q7Ozs7WUFJT29DLEtBQUFBO21CQUFQLFNBQU9BLGFBQWFDLFFBQVEsRUFBRXRDLE9BQU87Z0JBQ25DLElBQUl1QyxtQkFBbUI7Z0JBRXZCLElBQU1DLHVCQUF1Qm5ELDBCQUEwQmlEO2dCQUV2RCxJQUFJRSx5QkFBeUIsTUFBTTtvQkFDakMsSUFBUVosV0FBeUJELFlBQUcsQ0FBNUJDLFVBQVVhLGFBQWVkLFlBQUcsQ0FBbEJjLFlBQ1p6QixPQUFPd0Isc0JBQ1AvQyxTQUFTTyxRQUFRMEMsWUFBWSxDQUFDMUIsT0FDOUJ0QixXQUFXa0MsU0FBU2Usd0JBQXdCLENBQUNILHNCQUFzQnhDLFVBQ25FTCxhQUFhOEMsV0FBV0Usd0JBQXdCLENBQUNILHNCQUFzQnhDO29CQUU3RXVDLG1CQUFtQixJQUFJL0MsZ0JBQWdCQyxRQUFRQyxVQUFVQztnQkFDM0Q7Z0JBRUEsT0FBTzRDO1lBQ1Q7Ozs7S0FsQkEsbUNBQU9yQixRQUFPIn0=
|