occam-furtle 2.0.195 → 2.0.197

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.
@@ -74,12 +74,12 @@ var BlockContext = /*#__PURE__*/ function() {
74
74
  }
75
75
  },
76
76
  {
77
- key: "findVariableByVariableIdentifier",
78
- value: function findVariableByVariableIdentifier(variableIdentifier) {
77
+ key: "findVariableByVariableName",
78
+ value: function findVariableByVariableName(variableName) {
79
79
  var nested = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
80
80
  var variables = this.getVariables(nested), variable = variables.find(function(variable) {
81
- var variableIdentifierMatches = variable.matchVariableIdentifier(variableIdentifier);
82
- if (variableIdentifierMatches) {
81
+ var variableNameMatches = variable.matchVariableName(variableName);
82
+ if (variableNameMatches) {
83
83
  return true;
84
84
  }
85
85
  }) || null;
@@ -87,17 +87,17 @@ var BlockContext = /*#__PURE__*/ function() {
87
87
  }
88
88
  },
89
89
  {
90
- key: "isVariablePresentByVariableIdentifier",
91
- value: function isVariablePresentByVariableIdentifier(variableIdentifier) {
90
+ key: "isVariablePresentByVariableName",
91
+ value: function isVariablePresentByVariableName(variableName) {
92
92
  var nested = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
93
- var variable = this.findVariableByVariableIdentifier(variableIdentifier, nested), variablePresent = variable !== null;
93
+ var variable = this.findVariableByVariableName(variableName, nested), variablePresent = variable !== null;
94
94
  return variablePresent;
95
95
  }
96
96
  },
97
97
  {
98
98
  key: "addVariable",
99
99
  value: function addVariable(variable) {
100
- var nested = false, variableString = variable.getString(), variableIdentifier = variable.getIdentifier(), variablePresent = this.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
100
+ var nested = false, variableName = variable.getName(), variableString = variable.getString(), variablePresent = this.isVariablePresentByVariableName(variableName, nested);
101
101
  if (variablePresent) {
102
102
  var message = "The '".concat(variableString, "' variable is already present.'"), exception = _exception.default.fromMessage(message);
103
103
  throw exception;
@@ -161,4 +161,4 @@ var BlockContext = /*#__PURE__*/ function() {
161
161
  return BlockContext;
162
162
  }();
163
163
 
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMobmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcHVzaCh2YXJpYWJsZXMsIHRoaXMudmFyaWFibGVzKTtcblxuICAgIGlmIChuZXN0ZWQpIHtcbiAgICAgIGNvbnN0IGNvbnRleHRWYXJpYWJsZXMgPSB0aGlzLmNvbnRleHQuZ2V0VmFyaWFibGVzKCk7XG5cbiAgICAgIHB1c2godmFyaWFibGVzLCBjb250ZXh0VmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRQcm9jZWR1cmVCeVJlZmVyZW5jZShyZWZlcmVuY2UpOyB9XG5cbiAgaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UocmVmZXJlbmNlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UocmVmZXJlbmNlKTsgfVxuXG4gIGZpbmRWYXJpYWJsZUJ5VmFyaWFibGVJZGVudGlmaWVyKHZhcmlhYmxlSWRlbnRpZmllciwgbmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuZ2V0VmFyaWFibGVzKG5lc3RlZCksXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZXMuZmluZCgodmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlSWRlbnRpZmllck1hdGNoZXMgPSB2YXJpYWJsZS5tYXRjaFZhcmlhYmxlSWRlbnRpZmllcih2YXJpYWJsZUlkZW50aWZpZXIpO1xuXG4gICAgICAgICAgICBpZiAodmFyaWFibGVJZGVudGlmaWVyTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlSWRlbnRpZmllcih2YXJpYWJsZUlkZW50aWZpZXIsIG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXMuZmluZFZhcmlhYmxlQnlWYXJpYWJsZUlkZW50aWZpZXIodmFyaWFibGVJZGVudGlmaWVyLCBuZXN0ZWQpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9ICh2YXJpYWJsZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVQcmVzZW50O1xuICB9XG5cbiAgYWRkVmFyaWFibGUodmFyaWFibGUpIHtcbiAgICBjb25zdCBuZXN0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICAgIHZhcmlhYmxlSWRlbnRpZmllciA9IHZhcmlhYmxlLmdldElkZW50aWZpZXIoKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSB0aGlzLmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZUlkZW50aWZpZXIodmFyaWFibGVJZGVudGlmaWVyLCBuZXN0ZWQpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcztcblxuICAgIGNvbnRleHQudHJhY2UoYEFkZGVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIHRvIHRoZSBjb250ZXh0LmApO1xuXG4gICAgdGhpcy52YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG4gIH1cblxuICBub2RlQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKTsgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVzQXNTdHJpbmcobm9kZSk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMuY29udGV4dC50cmFjZShtZXNzYWdlKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmRlYnVnKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC53YXJuaW5nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZXJyb3IobWVzc2FnZSk7IH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBjb25zdCBibG9ja0NvbnRleHQgPSBuZXcgQmxvY2tDb250ZXh0KGNvbnRleHQsIHZhcmlhYmxlcyk7XG5cbiAgICByZXR1cm4gYmxvY2tDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiY29udGV4dCIsInZhcmlhYmxlcyIsImdldENvbnRleHQiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJjb250ZXh0VmFyaWFibGVzIiwiZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlSWRlbnRpZmllciIsInZhcmlhYmxlSWRlbnRpZmllciIsInZhcmlhYmxlIiwiZmluZCIsInZhcmlhYmxlSWRlbnRpZmllck1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlSWRlbnRpZmllciIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZUlkZW50aWZpZXIiLCJ2YXJpYWJsZVByZXNlbnQiLCJhZGRWYXJpYWJsZSIsInZhcmlhYmxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwiZ2V0SWRlbnRpZmllciIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRyYWNlIiwibm9kZUFzU3RyaW5nIiwibm9kZSIsIm5vZGVzQXNTdHJpbmciLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmcm9tVmFyaWFibGVzIiwiYmxvY2tDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTtnRUFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVPLElBQUEsQUFBTUQsNkJBQU47YUFBTUEsYUFDUEcsT0FBTyxFQUFFQyxTQUFTO2dDQURYSjtRQUVqQixJQUFJLENBQUNHLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhBSjs7WUFNbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxP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
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMobmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcHVzaCh2YXJpYWJsZXMsIHRoaXMudmFyaWFibGVzKTtcblxuICAgIGlmIChuZXN0ZWQpIHtcbiAgICAgIGNvbnN0IGNvbnRleHRWYXJpYWJsZXMgPSB0aGlzLmNvbnRleHQuZ2V0VmFyaWFibGVzKCk7XG5cbiAgICAgIHB1c2godmFyaWFibGVzLCBjb250ZXh0VmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRQcm9jZWR1cmVCeVJlZmVyZW5jZShyZWZlcmVuY2UpOyB9XG5cbiAgaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UocmVmZXJlbmNlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UocmVmZXJlbmNlKTsgfVxuXG4gIGZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuZ2V0VmFyaWFibGVzKG5lc3RlZCksXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZXMuZmluZCgodmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTmFtZU1hdGNoZXMgPSB2YXJpYWJsZS5tYXRjaFZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAodmFyaWFibGVOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXMuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9ICh2YXJpYWJsZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVQcmVzZW50O1xuICB9XG5cbiAgYWRkVmFyaWFibGUodmFyaWFibGUpIHtcbiAgICBjb25zdCBuZXN0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZS5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSB0aGlzLmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcztcblxuICAgIGNvbnRleHQudHJhY2UoYEFkZGVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIHRvIHRoZSBjb250ZXh0LmApO1xuXG4gICAgdGhpcy52YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG4gIH1cblxuICBub2RlQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKTsgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVzQXNTdHJpbmcobm9kZSk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMuY29udGV4dC50cmFjZShtZXNzYWdlKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmRlYnVnKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC53YXJuaW5nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZXJyb3IobWVzc2FnZSk7IH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBjb25zdCBibG9ja0NvbnRleHQgPSBuZXcgQmxvY2tDb250ZXh0KGNvbnRleHQsIHZhcmlhYmxlcyk7XG5cbiAgICByZXR1cm4gYmxvY2tDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiY29udGV4dCIsInZhcmlhYmxlcyIsImdldENvbnRleHQiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJjb250ZXh0VmFyaWFibGVzIiwiZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlIiwiZmluZCIsInZhcmlhYmxlTmFtZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTmFtZSIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZVByZXNlbnQiLCJhZGRWYXJpYWJsZSIsImdldE5hbWUiLCJ2YXJpYWJsZVN0cmluZyIsImdldFN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRyYWNlIiwibm9kZUFzU3RyaW5nIiwibm9kZSIsIm5vZGVzQXNTdHJpbmciLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmcm9tVmFyaWFibGVzIiwiYmxvY2tDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTtnRUFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVPLElBQUEsQUFBTUQsNkJBQU47YUFBTUEsYUFDUEcsT0FBTyxFQUFFQyxTQUFTO2dDQURYSjtRQUVqQixJQUFJLENBQUNHLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhBSjs7WUFNbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsT0FBTztZQUNyQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBYUMsU0FBQUEsaUVBQVM7Z0JBQ3BCLElBQU1ILFlBQVksRUFBRTtnQkFFcEJILEtBQUtHLFdBQVcsSUFBSSxD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
@@ -90,13 +90,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
90
90
  return newObj;
91
91
  }
92
92
  var _Variable;
93
- var someVariableNodeQuery = (0, _query.nodeQuery)("/some/variable"), everyVariableNodeQuery = (0, _query.nodeQuery)("/every/variable"), reduceVariableNodeQuery = (0, _query.nodeQuery)("/reduce/variable"), nodeQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodeQuery/variable"), expressionVariableNodeQuery = (0, _query.nodeQuery)("/expression/variable"), nodesQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodesQuery/variable"), arrayAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/arrayAssignment/variable"), objectAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/objectAssignment/variable"), variableAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/variableAssignment/variable"), variableIdentifierTerminalNodeQuery = (0, _query.nodeQuery)("/variable/@identifier");
93
+ var someVariableNodeQuery = (0, _query.nodeQuery)("/some/variable"), everyVariableNodeQuery = (0, _query.nodeQuery)("/every/variable"), reduceVariableNodeQuery = (0, _query.nodeQuery)("/reduce/variable"), nodeQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodeQuery/variable"), expressionVariableNodeQuery = (0, _query.nodeQuery)("/expression/variable"), nodesQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodesQuery/variable"), variableNameTerminalNodeQuery = (0, _query.nodeQuery)("/variable/@name"), arrayAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/arrayAssignment/variable"), objectAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/objectAssignment/variable"), variableAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/variableAssignment/variable");
94
94
  var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
95
- function Variable(string, type, identifier, expression) {
95
+ function Variable(string, type, name, expression) {
96
96
  _class_call_check(this, Variable);
97
97
  this.string = string;
98
98
  this.type = type;
99
- this.identifier = identifier;
99
+ this.name = name;
100
100
  this.expression = expression;
101
101
  }
102
102
  _create_class(Variable, [
@@ -113,9 +113,9 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
113
113
  }
114
114
  },
115
115
  {
116
- key: "getIdentifier",
117
- value: function getIdentifier() {
118
- return this.identifier;
116
+ key: "getName",
117
+ value: function getName() {
118
+ return this.name;
119
119
  }
120
120
  },
121
121
  {
@@ -125,9 +125,9 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
125
125
  }
126
126
  },
127
127
  {
128
- key: "matchVariableIdentifier",
129
- value: function matchVariableIdentifier(variableIdentifier) {
130
- var nameMatches = this.identifier === variableIdentifier;
128
+ key: "matchVariableName",
129
+ value: function matchVariableName(variableName) {
130
+ var nameMatches = this.name === variableName;
131
131
  return nameMatches;
132
132
  }
133
133
  },
@@ -136,12 +136,12 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
136
136
  value: function evaluate(context) {
137
137
  var variableString = this.string; ///
138
138
  context.trace("Evaluating the '".concat(variableString, "' variable..."));
139
- var nested = true, variableIdentifier = this.identifier, variablePresent = context.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
139
+ var nested = true, variableName = this.name, variablePresent = context.isVariablePresentByVariableName(variableName, nested);
140
140
  if (!variablePresent) {
141
141
  var message = "The '".concat(variableString, "; variable is not present.'"), exception = _exception.default.fromMessage(message);
142
142
  throw exception;
143
143
  }
144
- var variable = context.findVariableByVariableIdentifier(variableIdentifier), expression = variable.getExpression(), expressionString = expression.asString(context);
144
+ var variable = context.findVariableByVariableName(variableName), expression = variable.getExpression(), expressionString = expression.asString(context);
145
145
  context.debug("...evaluated the '".concat(variableString, "' variable to the ").concat(expressionString, " expression."));
146
146
  return expression;
147
147
  }
@@ -149,7 +149,7 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
149
149
  {
150
150
  key: "assign",
151
151
  value: function assign(expression, context) {
152
- var nested = false, expressionString = expression.asString(context), variableIdentifier = this.identifier, variableString = this.string, variablePresent = context.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
152
+ var nested = false, expressionString = expression.asString(context), variableName = this.name, variableString = this.string, variablePresent = context.isVariablePresentByVariableName(variableName, nested);
153
153
  context.trace("Assigning the ".concat(expressionString, " expression to the '").concat(variableString, "' variable..."));
154
154
  if (variablePresent) {
155
155
  var message = "The '".concat(variableString, "' variable is already present."), exception = _exception.default.fromMessage(message);
@@ -196,7 +196,7 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
196
196
  {
197
197
  key: "fromParameter",
198
198
  value: function fromParameter(parameter, context) {
199
- var type = parameter.getType(), identifier = parameter.getName(), expression = null, string = stringFromName(identifier, context), variable = new Variable(string, type, identifier, expression);
199
+ var type = parameter.getType(), name = parameter.getName(), expression = null, string = stringFromName(name, context), variable = new Variable(string, type, name, expression);
200
200
  return variable;
201
201
  }
202
202
  },
@@ -224,14 +224,14 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
224
224
  {
225
225
  key: "fromNamedParameter",
226
226
  value: function fromNamedParameter(namedParameter, context) {
227
- var asName = namedParameter.getAsName(), type = namedParameter.getType(), identifier = asName !== null ? asName : namedParameter.getName(), expression = null, string = stringFromName(identifier, context), variable = new Variable(string, type, identifier, expression);
227
+ var asName = namedParameter.getAsName(), type = namedParameter.getType(), name = asName !== null ? asName : namedParameter.getName(), expression = null, string = stringFromName(name, context), variable = new Variable(string, type, name, expression);
228
228
  return variable;
229
229
  }
230
230
  },
231
231
  {
232
232
  key: "fromExpressionAndParameter",
233
233
  value: function fromExpressionAndParameter(expression, parameter, context) {
234
- var type = parameter.getType(), identifier = parameter.getName(), string = stringFromName(identifier, context), variable = new Variable(string, type, identifier, expression);
234
+ var type = parameter.getType(), name = parameter.getName(), string = stringFromName(name, context), variable = new Variable(string, type, name, expression);
235
235
  return variable;
236
236
  }
237
237
  },
@@ -258,22 +258,22 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
258
258
  }
259
259
  ]);
260
260
  return Variable;
261
- }(), _define_property(_Variable, "identifier", "Variable"), _Variable));
261
+ }(), _define_property(_Variable, "name", "Variable"), _Variable));
262
262
  function variableFromTypeAndVariableNode(type, variableNode, context) {
263
- var Variable = _dom.default.Variable, identifier = nameFromVariableNode(variableNode), expression = null, string = stringFromName(identifier, context), variable = new Variable(string, type, identifier, expression);
263
+ var Variable = _dom.default.Variable, name = nameFromVariableNode(variableNode), expression = null, string = stringFromName(name, context), variable = new Variable(string, type, name, expression);
264
264
  return variable;
265
265
  }
266
266
  function variableFromVariableNode(variableNode, context) {
267
- var Variable = _dom.default.Variable, type = null, identifier = nameFromVariableNode(variableNode), expression = null, string = stringFromName(identifier, context), variable = new Variable(string, type, identifier, expression);
267
+ var Variable = _dom.default.Variable, type = null, name = nameFromVariableNode(variableNode), expression = null, string = stringFromName(name, context), variable = new Variable(string, type, name, expression);
268
268
  return variable;
269
269
  }
270
270
  function nameFromVariableNode(variableNode) {
271
- var variableIdentifierTerminalNode = variableIdentifierTerminalNodeQuery(variableNode), variableIdentifierTerminalNodeContent = variableIdentifierTerminalNode.getContent(), identifier = variableIdentifierTerminalNodeContent; ///
272
- return identifier;
271
+ var variableNameTerminalNode = variableNameTerminalNodeQuery(variableNode), variableNameTerminalNodeContent = variableNameTerminalNode.getContent(), name = variableNameTerminalNodeContent; ///
272
+ return name;
273
273
  }
274
- function stringFromName(identifier, context) {
275
- var nameString = identifier, string = nameString; ///
274
+ function stringFromName(name, context) {
275
+ var nameString = name, string = nameString; ///
276
276
  return string;
277
277
  }
278
278
 
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBzb21lVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc29tZS92YXJpYWJsZVwiKSxcbiAgICAgIGV2ZXJ5VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXZlcnkvdmFyaWFibGVcIiksXG4gICAgICByZWR1Y2VWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9yZWR1Y2UvdmFyaWFibGVcIiksXG4gICAgICBub2RlUXVlcnlWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ub2RlUXVlcnkvdmFyaWFibGVcIiksXG4gICAgICBleHByZXNzaW9uVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXhwcmVzc2lvbi92YXJpYWJsZVwiKSxcbiAgICAgIG5vZGVzUXVlcnlWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ub2Rlc1F1ZXJ5L3ZhcmlhYmxlXCIpLFxuICAgICAgYXJyYXlBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJyYXlBc3NpZ25tZW50L3ZhcmlhYmxlXCIpLFxuICAgICAgb2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL29iamVjdEFzc2lnbm1lbnQvdmFyaWFibGVcIiksXG4gICAgICB2YXJpYWJsZUFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZUFzc2lnbm1lbnQvdmFyaWFibGVcIiksXG4gICAgICB2YXJpYWJsZUlkZW50aWZpZXJUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZS9AaWRlbnRpZmllclwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgVmFyaWFibGUge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHR5cGUsIGlkZW50aWZpZXIsIGV4cHJlc3Npb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuaWRlbnRpZmllciA9IGlkZW50aWZpZXI7XG4gICAgdGhpcy5leHByZXNzaW9uID0gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRJZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXI7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb247XG4gIH1cblxuICBtYXRjaFZhcmlhYmxlSWRlbnRpZmllcih2YXJpYWJsZUlkZW50aWZpZXIpIHtcbiAgICBjb25zdCBuYW1lTWF0Y2hlcyA9ICh0aGlzLmlkZW50aWZpZXIgPT09IHZhcmlhYmxlSWRlbnRpZmllcik7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBuZXN0ZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlSWRlbnRpZmllciA9IHRoaXMuaWRlbnRpZmllciwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVJZGVudGlmaWVyKHZhcmlhYmxlSWRlbnRpZmllciwgbmVzdGVkKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ307IHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVJZGVudGlmaWVyKHZhcmlhYmxlSWRlbnRpZmllciksXG4gICAgICAgICAgZXhwcmVzc2lvbiA9IHZhcmlhYmxlLmdldEV4cHJlc3Npb24oKSxcbiAgICAgICAgICBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSB0byB0aGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uLmApO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBhc3NpZ24oZXhwcmVzc2lvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IG5lc3RlZCA9IGZhbHNlLFxuICAgICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZUlkZW50aWZpZXIgPSB0aGlzLmlkZW50aWZpZXIsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdGhpcy5zdHJpbmcsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGNvbnRleHQuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlSWRlbnRpZmllcih2YXJpYWJsZUlkZW50aWZpZXIsIG5lc3RlZCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBBc3NpZ25pbmcgdGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbiB0byB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS4uLmApO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCksXG4gICAgICAgICAgdmFyaWFibGVUeXBlID0gdGhpcy50eXBlO1xuXG4gICAgaWYgKGV4cHJlc3Npb25UeXBlICE9PSB2YXJpYWJsZVR5cGUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3ZhcmlhYmxlU3RyaW5nfSB2YXJpYWJsZSdzICcke3ZhcmlhYmxlVHlwZX0nIHR5cGUgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cHJlc3Npb24ncyAnJHtleHByZXNzaW9uVHlwZX0nIHR5cGUuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzOyAgLy8vXG5cbiAgICBjb250ZXh0LmFkZFZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmFzc2lnbmVkIHRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24gdG8gdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuYCk7XG4gIH1cblxuICBzdGF0aWMgaWRlbnRpZmllciA9IFwiVmFyaWFibGVcIjtcblxuICBzdGF0aWMgZnJvbVNvbWVOb2RlKHNvbWVOb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc29tZVZhcmlhYmxlTm9kZSA9IHNvbWVWYXJpYWJsZU5vZGVRdWVyeShzb21lTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gc29tZVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRXhwcmVzc2lvbk5vZGUoZXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdmFyaWFibGUgPSBudWxsO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvblZhcmlhYmxlTm9kZSA9IGV4cHJlc3Npb25WYXJpYWJsZU5vZGVRdWVyeShleHByZXNzaW9uTm9kZSk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlID0gZXhwcmVzc2lvblZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21FdmVyeU5vZGUoZXZlcnlOb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZXZlcnlWYXJpYWJsZU5vZGUgPSBldmVyeVZhcmlhYmxlTm9kZVF1ZXJ5KGV2ZXJ5Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gZXZlcnlWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcmFtZXRlcihwYXJhbWV0ZXIsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKSxcbiAgICAgICAgICBpZGVudGlmaWVyID0gcGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTmFtZShpZGVudGlmaWVyLCBjb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShzdHJpbmcsIHR5cGUsIGlkZW50aWZpZXIsIGV4cHJlc3Npb24pO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SZWR1Y2VOb2RlKHJlZHVjZU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCByZWR1Y2VWYXJpYWJsZU5vZGUgPSByZWR1Y2VWYXJpYWJsZU5vZGVRdWVyeShyZWR1Y2VOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSByZWR1Y2VWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGVRdWVyeVZhcmlhYmxlTm9kZSA9IG5vZGVRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5KG5vZGVRdWVyeU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IG5vZGVRdWVyeVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlID0gbm9kZXNRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5KG5vZGVzUXVlcnlOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lZFBhcmFtZXRlcihuYW1lZFBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IGFzTmFtZSA9IG5hbWVkUGFyYW1ldGVyLmdldEFzTmFtZSgpLFxuICAgICAgICAgIHR5cGUgPSBuYW1lZFBhcmFtZXRlci5nZXRUeXBlKCksXG4gICAgICAgICAgaWRlbnRpZmllciA9IChhc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBhc05hbWUgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgIG5hbWVkUGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTmFtZShpZGVudGlmaWVyLCBjb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShzdHJpbmcsIHR5cGUsIGlkZW50aWZpZXIsIGV4cHJlc3Npb24pO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uQW5kUGFyYW1ldGVyKGV4cHJlc3Npb24sIHBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpLFxuICAgICAgICAgIGlkZW50aWZpZXIgPSBwYXJhbWV0ZXIuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21OYW1lKGlkZW50aWZpZXIsIGNvbnRleHQpLFxuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgaWRlbnRpZmllciwgZXhwcmVzc2lvbik7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUFycmF5QXNzaWdubWVudE5vZGUoYXJyYXlBc3NpZ25tZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSA9IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5KGFycmF5QXNzaWdubWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gb2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5KG9iamVjdEFzc2lnbm1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSh0eXBlLCB2YXJpYWJsZUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkodmFyaWFibGVBc3NpZ25tZW50Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlKHR5cGUsIHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlKHR5cGUsIHZhcmlhYmxlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIGlkZW50aWZpZXIgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWUoaWRlbnRpZmllciwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgaWRlbnRpZmllciwgZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgdHlwZSA9IG51bGwsXG4gICAgICAgIGlkZW50aWZpZXIgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWUoaWRlbnRpZmllciwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgaWRlbnRpZmllciwgZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpIHtcbiAgY29uc3QgdmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlID0gdmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlUXVlcnkodmFyaWFibGVOb2RlKSxcbiAgICAgICAgdmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlQ29udGVudCA9IHZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGlkZW50aWZpZXIgPSB2YXJpYWJsZUlkZW50aWZpZXJUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gaWRlbnRpZmllcjtcbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbU5hbWUoaWRlbnRpZmllciwgY29udGV4dCkge1xuICBjb25zdCBuYW1lU3RyaW5nID0gaWRlbnRpZmllciwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBuYW1lU3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHN0cmluZztcbn0iXSwibmFtZXMiOlsic29tZVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZXZlcnlWYXJpYWJsZU5vZGVRdWVyeSIsInJlZHVjZVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJleHByZXNzaW9uVmFyaWFibGVOb2RlUXVlcnkiLCJub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJhcnJheUFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSIsIm9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSIsInZhcmlhYmxlQXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5IiwidmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlIiwic3RyaW5nIiwidHlwZSIsImlkZW50aWZpZXIiLCJleHByZXNzaW9uIiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsImdldElkZW50aWZpZXIiLCJnZXRFeHByZXNzaW9uIiwibWF0Y2hWYXJpYWJsZUlkZW50aWZpZXIiLCJ2YXJpYWJsZUlkZW50aWZpZXIiLCJuYW1lTWF0Y2hlcyIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhcmlhYmxlU3RyaW5nIiwidHJhY2UiLCJuZXN0ZWQiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVJZGVudGlmaWVyIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlSWRlbnRpZmllciIsImV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyIsImRlYnVnIiwiYXNzaWduIiwiZXhwcmVzc2lvblR5cGUiLCJ2YXJpYWJsZVR5cGUiLCJhZGRWYXJpYWJsZSIsImZyb21Tb21lTm9kZSIsInNvbWVOb2RlIiwic29tZVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSIsImZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvblZhcmlhYmxlTm9kZSIsImZyb21FdmVyeU5vZGUiLCJldmVyeU5vZGUiLCJldmVyeVZhcmlhYmxlTm9kZSIsImZyb21QYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiLCJnZXROYW1lIiwic3RyaW5nRnJvbU5hbWUiLCJmcm9tUmVkdWNlTm9kZSIsInJlZHVjZU5vZGUiLCJyZWR1Y2VWYXJpYWJsZU5vZGUiLCJmcm9tTm9kZVF1ZXJ5Tm9kZSIsIm5vZGVRdWVyeU5vZGUiLCJub2RlUXVlcnlWYXJpYWJsZU5vZGUiLCJmcm9tTm9kZXNRdWVyeU5vZGUiLCJub2Rlc1F1ZXJ5Tm9kZSIsIm5vZGVzUXVlcnlWYXJpYWJsZU5vZGUiLCJmcm9tTmFtZWRQYXJhbWV0ZXIiLCJuYW1lZFBhcmFtZXRlciIsImFzTmFtZSIsImdldEFzTmFtZSIsImZyb21FeHByZXNzaW9uQW5kUGFyYW1ldGVyIiwiZnJvbUFycmF5QXNzaWdubWVudE5vZGUiLCJhcnJheUFzc2lnbm1lbnROb2RlIiwiYXJyYXlBc3NpZ25tZW50VmFyaWFibGVOb2RlIiwiZnJvbU9iamVjdEFzc2lnbm1lbnROb2RlIiwib2JqZWN0QXNzaWdubWVudE5vZGUiLCJvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlIiwiZnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlIiwidmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsInZhcmlhYmxlQXNzaWdubWVudFZhcmlhYmxlTm9kZSIsInZhcmlhYmxlRnJvbVR5cGVBbmRWYXJpYWJsZU5vZGUiLCJkb20iLCJuYW1lRnJvbVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50IiwibmFtZVN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUJBOzs7ZUFBQTs7OzJEQWpCZ0I7Z0VBQ007cUJBRUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU1BLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyxtQkFDbENDLHlCQUF5QkQsSUFBQUEsZ0JBQVMsRUFBQyxvQkFDbkNFLDBCQUEwQkYsSUFBQUEsZ0JBQVMsRUFBQyxxQkFDcENHLDZCQUE2QkgsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDdkNJLDhCQUE4QkosSUFB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
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBzb21lVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc29tZS92YXJpYWJsZVwiKSxcbiAgICAgIGV2ZXJ5VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXZlcnkvdmFyaWFibGVcIiksXG4gICAgICByZWR1Y2VWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9yZWR1Y2UvdmFyaWFibGVcIiksXG4gICAgICBub2RlUXVlcnlWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ub2RlUXVlcnkvdmFyaWFibGVcIiksXG4gICAgICBleHByZXNzaW9uVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXhwcmVzc2lvbi92YXJpYWJsZVwiKSxcbiAgICAgIG5vZGVzUXVlcnlWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ub2Rlc1F1ZXJ5L3ZhcmlhYmxlXCIpLFxuICAgICAgdmFyaWFibGVOYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGUvQG5hbWVcIiksXG4gICAgICBhcnJheUFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcnJheUFzc2lnbm1lbnQvdmFyaWFibGVcIiksXG4gICAgICBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvb2JqZWN0QXNzaWdubWVudC92YXJpYWJsZVwiKSxcbiAgICAgIHZhcmlhYmxlQXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhcmlhYmxlQXNzaWdubWVudC92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgVmFyaWFibGUge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHR5cGUsIG5hbWUsIGV4cHJlc3Npb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5leHByZXNzaW9uID0gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb247XG4gIH1cblxuICBtYXRjaFZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lTWF0Y2hlcyA9ICh0aGlzLm5hbWUgPT09IHZhcmlhYmxlTmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBuZXN0ZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ307IHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgZXhwcmVzc2lvbiA9IHZhcmlhYmxlLmdldEV4cHJlc3Npb24oKSxcbiAgICAgICAgICBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSB0byB0aGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uLmApO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBhc3NpZ24oZXhwcmVzc2lvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IG5lc3RlZCA9IGZhbHNlLFxuICAgICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZU5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdGhpcy5zdHJpbmcsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGNvbnRleHQuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIG5lc3RlZCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBBc3NpZ25pbmcgdGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbiB0byB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS4uLmApO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCksXG4gICAgICAgICAgdmFyaWFibGVUeXBlID0gdGhpcy50eXBlO1xuXG4gICAgaWYgKGV4cHJlc3Npb25UeXBlICE9PSB2YXJpYWJsZVR5cGUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3ZhcmlhYmxlU3RyaW5nfSB2YXJpYWJsZSdzICcke3ZhcmlhYmxlVHlwZX0nIHR5cGUgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cHJlc3Npb24ncyAnJHtleHByZXNzaW9uVHlwZX0nIHR5cGUuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzOyAgLy8vXG5cbiAgICBjb250ZXh0LmFkZFZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmFzc2lnbmVkIHRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24gdG8gdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuYCk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVcIjtcblxuICBzdGF0aWMgZnJvbVNvbWVOb2RlKHNvbWVOb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc29tZVZhcmlhYmxlTm9kZSA9IHNvbWVWYXJpYWJsZU5vZGVRdWVyeShzb21lTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gc29tZVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRXhwcmVzc2lvbk5vZGUoZXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdmFyaWFibGUgPSBudWxsO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvblZhcmlhYmxlTm9kZSA9IGV4cHJlc3Npb25WYXJpYWJsZU5vZGVRdWVyeShleHByZXNzaW9uTm9kZSk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlID0gZXhwcmVzc2lvblZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21FdmVyeU5vZGUoZXZlcnlOb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZXZlcnlWYXJpYWJsZU5vZGUgPSBldmVyeVZhcmlhYmxlTm9kZVF1ZXJ5KGV2ZXJ5Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gZXZlcnlWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcmFtZXRlcihwYXJhbWV0ZXIsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gcGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTmFtZShuYW1lLCBjb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShzdHJpbmcsIHR5cGUsIG5hbWUsIGV4cHJlc3Npb24pO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SZWR1Y2VOb2RlKHJlZHVjZU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCByZWR1Y2VWYXJpYWJsZU5vZGUgPSByZWR1Y2VWYXJpYWJsZU5vZGVRdWVyeShyZWR1Y2VOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSByZWR1Y2VWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGVRdWVyeVZhcmlhYmxlTm9kZSA9IG5vZGVRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5KG5vZGVRdWVyeU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IG5vZGVRdWVyeVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlID0gbm9kZXNRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5KG5vZGVzUXVlcnlOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lZFBhcmFtZXRlcihuYW1lZFBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IGFzTmFtZSA9IG5hbWVkUGFyYW1ldGVyLmdldEFzTmFtZSgpLFxuICAgICAgICAgIHR5cGUgPSBuYW1lZFBhcmFtZXRlci5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZSA9IChhc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBhc05hbWUgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgIG5hbWVkUGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTmFtZShuYW1lLCBjb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShzdHJpbmcsIHR5cGUsIG5hbWUsIGV4cHJlc3Npb24pO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uQW5kUGFyYW1ldGVyKGV4cHJlc3Npb24sIHBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBwYXJhbWV0ZXIuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21OYW1lKG5hbWUsIGNvbnRleHQpLFxuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgZXhwcmVzc2lvbik7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUFycmF5QXNzaWdubWVudE5vZGUoYXJyYXlBc3NpZ25tZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSA9IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5KGFycmF5QXNzaWdubWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gb2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5KG9iamVjdEFzc2lnbm1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSh0eXBlLCB2YXJpYWJsZUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkodmFyaWFibGVBc3NpZ25tZW50Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlKHR5cGUsIHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlKHR5cGUsIHZhcmlhYmxlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIG5hbWUgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWUobmFtZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgdHlwZSA9IG51bGwsXG4gICAgICAgIG5hbWUgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICBleHByZXNzaW9uID0gbnVsbCxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWUobmFtZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpIHtcbiAgY29uc3QgdmFyaWFibGVOYW1lVGVybWluYWxOb2RlID0gdmFyaWFibGVOYW1lVGVybWluYWxOb2RlUXVlcnkodmFyaWFibGVOb2RlKSxcbiAgICAgICAgdmFyaWFibGVOYW1lVGVybWluYWxOb2RlQ29udGVudCA9IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIG5hbWUgPSB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbU5hbWUobmFtZSwgY29udGV4dCkge1xuICBjb25zdCBuYW1lU3RyaW5nID0gbmFtZSwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBuYW1lU3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHN0cmluZztcbn0iXSwibmFtZXMiOlsic29tZVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZXZlcnlWYXJpYWJsZU5vZGVRdWVyeSIsInJlZHVjZVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJleHByZXNzaW9uVmFyaWFibGVOb2RlUXVlcnkiLCJub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJ2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsImFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5Iiwib2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5IiwidmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlIiwic3RyaW5nIiwidHlwZSIsIm5hbWUiLCJleHByZXNzaW9uIiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsImdldE5hbWUiLCJnZXRFeHByZXNzaW9uIiwibWF0Y2hWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWUiLCJuYW1lTWF0Y2hlcyIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhcmlhYmxlU3RyaW5nIiwidHJhY2UiLCJuZXN0ZWQiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsImV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyIsImRlYnVnIiwiYXNzaWduIiwiZXhwcmVzc2lvblR5cGUiLCJ2YXJpYWJsZVR5cGUiLCJhZGRWYXJpYWJsZSIsImZyb21Tb21lTm9kZSIsInNvbWVOb2RlIiwic29tZVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSIsImZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvblZhcmlhYmxlTm9kZSIsImZyb21FdmVyeU5vZGUiLCJldmVyeU5vZGUiLCJldmVyeVZhcmlhYmxlTm9kZSIsImZyb21QYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiLCJzdHJpbmdGcm9tTmFtZSIsImZyb21SZWR1Y2VOb2RlIiwicmVkdWNlTm9kZSIsInJlZHVjZVZhcmlhYmxlTm9kZSIsImZyb21Ob2RlUXVlcnlOb2RlIiwibm9kZVF1ZXJ5Tm9kZSIsIm5vZGVRdWVyeVZhcmlhYmxlTm9kZSIsImZyb21Ob2Rlc1F1ZXJ5Tm9kZSIsIm5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeVZhcmlhYmxlTm9kZSIsImZyb21OYW1lZFBhcmFtZXRlciIsIm5hbWVkUGFyYW1ldGVyIiwiYXNOYW1lIiwiZ2V0QXNOYW1lIiwiZnJvbUV4cHJlc3Npb25BbmRQYXJhbWV0ZXIiLCJmcm9tQXJyYXlBc3NpZ25tZW50Tm9kZSIsImFycmF5QXNzaWdubWVudE5vZGUiLCJhcnJheUFzc2lnbm1lbnRWYXJpYWJsZU5vZGUiLCJmcm9tT2JqZWN0QXNzaWdubWVudE5vZGUiLCJvYmplY3RBc3NpZ25tZW50Tm9kZSIsIm9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGUiLCJmcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudE5vZGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnROb2RlIiwidmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlIiwidmFyaWFibGVGcm9tVHlwZUFuZFZhcmlhYmxlTm9kZSIsImRvbSIsIm5hbWVGcm9tVmFyaWFibGVOb2RlIiwidmFyaWFibGVOYW1lVGVybWluYWxOb2RlIiwidmFyaWFibGVOYW1lVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJuYW1lU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQkE7OztlQUFBOzs7MkRBakJnQjtnRUFDTTtxQkFFSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHMUIsSUFBTUEsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDLG1CQUNsQ0MseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDLG9CQUNuQ0UsMEJBQTBCRixJQUFBQSxnQkFBUyxFQUFDLHFCQUNwQ0csNkJBQTZCSCxJQUFBQSxnQkFBUyxFQUFDLHdCQUN2Q0ksOEJBQThCSixJQUFBQSxnQkFBUyxFQUFDLHlCQUN4Q0ssOEJBQThCTCxJQUFBQSxnQkFBUyxFQUFDLHlCQUN4Q00sZ0NBQWdDTixJQUFBQSxnQkFBUyxFQUFDLG9CQUMxQ08sbUNBQW1DUCxJQUFBQSxnQkFBUyxFQUFDLDhCQUM3Q1Esb0NBQW9DUixJQUFBQSxnQkFBUyxFQUFDLCtCQUM5Q1Msc0NBQXNDVCxJQUFBQSxnQkFBUyxFQUFDO0lBRXRELFdBQWVVLElBQUFBLGdCQUFXLDZCQUFDO2FBQU1DLFNBQ25CQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxVQUFVO2dDQURYSjtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "2.0.195",
4
+ "version": "2.0.197",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -34,12 +34,12 @@ export default class BlockContext {
34
34
 
35
35
  isProcedurePresentByReference(reference) { return this.context.isProcedurePresentByReference(reference); }
36
36
 
37
- findVariableByVariableIdentifier(variableIdentifier, nested = true) {
37
+ findVariableByVariableName(variableName, nested = true) {
38
38
  const variables = this.getVariables(nested),
39
39
  variable = variables.find((variable) => {
40
- const variableIdentifierMatches = variable.matchVariableIdentifier(variableIdentifier);
40
+ const variableNameMatches = variable.matchVariableName(variableName);
41
41
 
42
- if (variableIdentifierMatches) {
42
+ if (variableNameMatches) {
43
43
  return true;
44
44
  }
45
45
  }) || null;
@@ -47,8 +47,8 @@ export default class BlockContext {
47
47
  return variable;
48
48
  }
49
49
 
50
- isVariablePresentByVariableIdentifier(variableIdentifier, nested = true) {
51
- const variable = this.findVariableByVariableIdentifier(variableIdentifier, nested),
50
+ isVariablePresentByVariableName(variableName, nested = true) {
51
+ const variable = this.findVariableByVariableName(variableName, nested),
52
52
  variablePresent = (variable !== null);
53
53
 
54
54
  return variablePresent;
@@ -56,9 +56,9 @@ export default class BlockContext {
56
56
 
57
57
  addVariable(variable) {
58
58
  const nested = false,
59
+ variableName = variable.getName(),
59
60
  variableString = variable.getString(),
60
- variableIdentifier = variable.getIdentifier(),
61
- variablePresent = this.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
61
+ variablePresent = this.isVariablePresentByVariableName(variableName, nested);
62
62
 
63
63
  if (variablePresent) {
64
64
  const message = `The '${variableString}' variable is already present.'`,
@@ -12,16 +12,16 @@ const someVariableNodeQuery = nodeQuery("/some/variable"),
12
12
  nodeQueryVariableNodeQuery = nodeQuery("/nodeQuery/variable"),
13
13
  expressionVariableNodeQuery = nodeQuery("/expression/variable"),
14
14
  nodesQueryVariableNodeQuery = nodeQuery("/nodesQuery/variable"),
15
+ variableNameTerminalNodeQuery = nodeQuery("/variable/@name"),
15
16
  arrayAssignmentVariableNodeQuery = nodeQuery("/arrayAssignment/variable"),
16
17
  objectAssignmentVariableNodeQuery = nodeQuery("/objectAssignment/variable"),
17
- variableAssignmentVariableNodeQuery = nodeQuery("/variableAssignment/variable"),
18
- variableIdentifierTerminalNodeQuery = nodeQuery("/variable/@identifier");
18
+ variableAssignmentVariableNodeQuery = nodeQuery("/variableAssignment/variable");
19
19
 
20
20
  export default domAssigned(class Variable {
21
- constructor(string, type, identifier, expression) {
21
+ constructor(string, type, name, expression) {
22
22
  this.string = string;
23
23
  this.type = type;
24
- this.identifier = identifier;
24
+ this.name = name;
25
25
  this.expression = expression;
26
26
  }
27
27
 
@@ -33,16 +33,16 @@ export default domAssigned(class Variable {
33
33
  return this.type;
34
34
  }
35
35
 
36
- getIdentifier() {
37
- return this.identifier;
36
+ getName() {
37
+ return this.name;
38
38
  }
39
39
 
40
40
  getExpression() {
41
41
  return this.expression;
42
42
  }
43
43
 
44
- matchVariableIdentifier(variableIdentifier) {
45
- const nameMatches = (this.identifier === variableIdentifier);
44
+ matchVariableName(variableName) {
45
+ const nameMatches = (this.name === variableName);
46
46
 
47
47
  return nameMatches;
48
48
  }
@@ -53,8 +53,8 @@ export default domAssigned(class Variable {
53
53
  context.trace(`Evaluating the '${variableString}' variable...`);
54
54
 
55
55
  const nested = true,
56
- variableIdentifier = this.identifier, ///
57
- variablePresent = context.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
56
+ variableName = this.name, ///
57
+ variablePresent = context.isVariablePresentByVariableName(variableName, nested);
58
58
 
59
59
  if (!variablePresent) {
60
60
  const message = `The '${variableString}; variable is not present.'`,
@@ -63,7 +63,7 @@ export default domAssigned(class Variable {
63
63
  throw exception;
64
64
  }
65
65
 
66
- const variable = context.findVariableByVariableIdentifier(variableIdentifier),
66
+ const variable = context.findVariableByVariableName(variableName),
67
67
  expression = variable.getExpression(),
68
68
  expressionString = expression.asString(context);
69
69
 
@@ -75,9 +75,9 @@ export default domAssigned(class Variable {
75
75
  assign(expression, context) {
76
76
  const nested = false,
77
77
  expressionString = expression.asString(context), ///
78
- variableIdentifier = this.identifier, ///
78
+ variableName = this.name, ///
79
79
  variableString = this.string, ///
80
- variablePresent = context.isVariablePresentByVariableIdentifier(variableIdentifier, nested);
80
+ variablePresent = context.isVariablePresentByVariableName(variableName, nested);
81
81
 
82
82
  context.trace(`Assigning the ${expressionString} expression to the '${variableString}' variable...`);
83
83
 
@@ -107,7 +107,7 @@ export default domAssigned(class Variable {
107
107
  context.debug(`...assigned the ${expressionString} expression to the '${variableString}' variable.`);
108
108
  }
109
109
 
110
- static identifier = "Variable";
110
+ static name = "Variable";
111
111
 
112
112
  static fromSomeNode(someNode, context) {
113
113
  const someVariableNode = someVariableNodeQuery(someNode),
@@ -141,10 +141,10 @@ export default domAssigned(class Variable {
141
141
 
142
142
  static fromParameter(parameter, context) {
143
143
  const type = parameter.getType(),
144
- identifier = parameter.getName(),
144
+ name = parameter.getName(),
145
145
  expression = null,
146
- string = stringFromName(identifier, context),
147
- variable = new Variable(string, type, identifier, expression);
146
+ string = stringFromName(name, context),
147
+ variable = new Variable(string, type, name, expression);
148
148
 
149
149
  return variable;
150
150
  }
@@ -176,21 +176,21 @@ export default domAssigned(class Variable {
176
176
  static fromNamedParameter(namedParameter, context) {
177
177
  const asName = namedParameter.getAsName(),
178
178
  type = namedParameter.getType(),
179
- identifier = (asName !== null) ?
179
+ name = (asName !== null) ?
180
180
  asName : ///
181
181
  namedParameter.getName(),
182
182
  expression = null,
183
- string = stringFromName(identifier, context),
184
- variable = new Variable(string, type, identifier, expression);
183
+ string = stringFromName(name, context),
184
+ variable = new Variable(string, type, name, expression);
185
185
 
186
186
  return variable;
187
187
  }
188
188
 
189
189
  static fromExpressionAndParameter(expression, parameter, context) {
190
190
  const type = parameter.getType(),
191
- identifier = parameter.getName(),
192
- string = stringFromName(identifier, context),
193
- variable = new Variable(string, type, identifier, expression);
191
+ name = parameter.getName(),
192
+ string = stringFromName(name, context),
193
+ variable = new Variable(string, type, name, expression);
194
194
 
195
195
  return variable;
196
196
  }
@@ -222,10 +222,10 @@ export default domAssigned(class Variable {
222
222
 
223
223
  function variableFromTypeAndVariableNode(type, variableNode, context) {
224
224
  const { Variable } = dom,
225
- identifier = nameFromVariableNode(variableNode),
225
+ name = nameFromVariableNode(variableNode),
226
226
  expression = null,
227
- string = stringFromName(identifier, context),
228
- variable = new Variable(string, type, identifier, expression);
227
+ string = stringFromName(name, context),
228
+ variable = new Variable(string, type, name, expression);
229
229
 
230
230
  return variable;
231
231
  }
@@ -233,24 +233,24 @@ function variableFromTypeAndVariableNode(type, variableNode, context) {
233
233
  function variableFromVariableNode(variableNode, context) {
234
234
  const { Variable } = dom,
235
235
  type = null,
236
- identifier = nameFromVariableNode(variableNode),
236
+ name = nameFromVariableNode(variableNode),
237
237
  expression = null,
238
- string = stringFromName(identifier, context),
239
- variable = new Variable(string, type, identifier, expression);
238
+ string = stringFromName(name, context),
239
+ variable = new Variable(string, type, name, expression);
240
240
 
241
241
  return variable;
242
242
  }
243
243
 
244
244
  function nameFromVariableNode(variableNode) {
245
- const variableIdentifierTerminalNode = variableIdentifierTerminalNodeQuery(variableNode),
246
- variableIdentifierTerminalNodeContent = variableIdentifierTerminalNode.getContent(),
247
- identifier = variableIdentifierTerminalNodeContent; ///
245
+ const variableNameTerminalNode = variableNameTerminalNodeQuery(variableNode),
246
+ variableNameTerminalNodeContent = variableNameTerminalNode.getContent(),
247
+ name = variableNameTerminalNodeContent; ///
248
248
 
249
- return identifier;
249
+ return name;
250
250
  }
251
251
 
252
- function stringFromName(identifier, context) {
253
- const nameString = identifier, ///
252
+ function stringFromName(name, context) {
253
+ const nameString = name, ///
254
254
  string = nameString; ///
255
255
 
256
256
  return string;