easy-file-system 1.3.134 → 1.3.138

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/explorer.js CHANGED
@@ -121,6 +121,45 @@ function _interopRequireDefault(obj) {
121
121
  function _isNativeFunction(fn) {
122
122
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
123
123
  }
124
+ function _objectSpread(target) {
125
+ for(var i = 1; i < arguments.length; i++){
126
+ var source = arguments[i] != null ? arguments[i] : {};
127
+ var ownKeys = Object.keys(source);
128
+ if (typeof Object.getOwnPropertySymbols === "function") {
129
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
130
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
131
+ }));
132
+ }
133
+ ownKeys.forEach(function(key) {
134
+ _defineProperty(target, key, source[key]);
135
+ });
136
+ }
137
+ return target;
138
+ }
139
+ function ownKeys(object, enumerableOnly) {
140
+ var keys = Object.keys(object);
141
+ if (Object.getOwnPropertySymbols) {
142
+ var symbols = Object.getOwnPropertySymbols(object);
143
+ if (enumerableOnly) {
144
+ symbols = symbols.filter(function(sym) {
145
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
146
+ });
147
+ }
148
+ keys.push.apply(keys, symbols);
149
+ }
150
+ return keys;
151
+ }
152
+ function _objectSpreadProps(target, source) {
153
+ source = source != null ? source : {};
154
+ if (Object.getOwnPropertyDescriptors) {
155
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
156
+ } else {
157
+ ownKeys(Object(source)).forEach(function(key) {
158
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
159
+ });
160
+ }
161
+ return target;
162
+ }
124
163
  function _possibleConstructorReturn(self, call) {
125
164
  if (call && (_typeof(call) === "object" || typeof call === "function")) {
126
165
  return call;
@@ -516,11 +555,11 @@ var Explorer = /*#__PURE__*/ function(Element) {
516
555
  {
517
556
  key: "parentContext",
518
557
  value: function parentContext() {
519
- var context = this.getContext(), retrieveFilePaths = this.retrieveFilePaths.bind(this), retrieveDirectoryPaths = this.retrieveDirectoryPaths.bind(this), parentContext1 = Object.assign({}, context, {
558
+ var context = this.getContext(), retrieveFilePaths = this.retrieveFilePaths.bind(this), retrieveDirectoryPaths = this.retrieveDirectoryPaths.bind(this);
559
+ return _objectSpreadProps(_objectSpread({}, context), {
520
560
  retrieveFilePaths: retrieveFilePaths,
521
561
  retrieveDirectoryPaths: retrieveDirectoryPaths
522
562
  });
523
- return parentContext1;
524
563
  }
525
564
  },
526
565
  {
@@ -558,4 +597,4 @@ _defineProperty(Explorer, "defaultProperties", {
558
597
  Object.assign(Explorer.prototype, _easyDragAndDrop.dropMixins);
559
598
  var _default = (0, _easyWithStyle.default)(Explorer)(_templateObject(), _styles.explorerPadding);
560
599
 
561
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBsb3Jlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgZHJvcE1peGlucyB9IGZyb20gXCJlYXN5LWRyYWctYW5kLWRyb3BcIjtcbmltcG9ydCB7IEVsZW1lbnQsIGV2ZW50VHlwZXMgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgRW50cmllc0xpc3QgZnJvbSBcIi4vbGlzdC9lbnRyaWVzXCI7XG5pbXBvcnQgRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWdcIjtcbmltcG9ydCBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9kcmFnL2ZpbGVOYW1lXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWcvZGlyZWN0b3J5TmFtZVwiO1xuaW1wb3J0IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZGlyZWN0b3J5TmFtZVwiO1xuXG5pbXBvcnQgeyBleHBsb3JlclBhZGRpbmcgfSBmcm9tIFwiLi9zdHlsZXNcIjtcbmltcG9ydCB7IEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSB9IGZyb20gXCIuL2VudHJ5VHlwZXNcIjtcbmltcG9ydCB7IHNvdXJjZUVudHJ5UGF0aEZyb21EcmFnRW50cnlJdGVtUGF0aCwgdGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcFwiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcyxcbiAgICAgIHsgT1BFTl9FVkVOVF9UWVBFLCBNT1ZFX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XG5cbmNsYXNzIEV4cGxvcmVyIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yLCBtb3VudGVkKSB7XG4gICAgc3VwZXIoc2VsZWN0b3IpO1xuXG4gICAgdGhpcy5tb3VudGVkID0gbW91bnRlZDtcbiAgfVxuXG4gIGlzTW91bnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb3VudGVkO1xuICB9XG5cbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50OyAgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5kcm9wRHJhZ0VudHJ5SXRlbShkcmFnRW50cnlJdGVtLCBkb25lKTtcbiAgfVxuXG4gIGRyYWdPdmVySGFuZGxlciA9IChkcmFnRWxlbWVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSA9IChkcmFnRWxlbWVudCBpbnN0YW5jZW9mIERyYWdFbnRyeUl0ZW0pO1xuXG4gICAgaWYgKCFkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBkcmFnRW50cnlJdGVtRXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCA9IHRoaXMuaXNFeHBsb3Jlcklnbm9yZWQoZHJhZ0VudHJ5SXRlbUV4cGxvcmVyKTtcblxuICAgIGlmIChkcmFnRW50cnlJdGVtRXhwbG9yZXJJZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtID0gdGhpcy5yZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSgpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1OYW1lID0gZHJhZ0VudHJ5SXRlbS5nZXROYW1lKCk7XG5cbiAgICBsZXQgbWFya2VyRW50cnlJdGVtUGF0aCA9IG1hcmtlckVudHJ5SXRlbS5nZXRQYXRoKCksXG4gICAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtUGF0aCA9IG1hcmtlckVudHJ5SXRlbVBhdGgsIC8vL1xuICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtRXhwbG9yZXI7IC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW1OYW1lOy8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSB0aGlzOyAgLy8vXG5cbiAgICBpZiAoKG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyKSB8fCAobWFya2VyRW50cnlJdGVtUGF0aCAhPT0gcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoKSkge1xuICAgICAgY29uc3QgZHJhZ0VudHJ5SXRlbVR5cGUgPSBkcmFnRW50cnlJdGVtLmdldFR5cGUoKTtcblxuICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcbiAgICB9XG4gIH1cblxuICBnZXRFeHBsb3JlcigpIHtcbiAgICBjb25zdCBleHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIHJldHVybiBleHBsb3JlcjtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICBjb25zdCB7IHJlZmVyZW5jZSA9IG51bGwgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2U7XG4gIH1cblxuICBnZXRFbnRyaWVzTGlzdCgpIHtcbiAgXHRjb25zdCB7IEVudHJpZXNMaXN0IH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gIFx0cmV0dXJuIEVudHJpZXNMaXN0O1xuXHR9XG5cbiAgaXNEaXJlY3RvcnlFbXB0eShkaXJlY3RvcnlQYXRoKSB7XG4gICAgY29uc3QgZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0oZGlyZWN0b3J5UGF0aCksXG4gICAgICAgICAgZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW1FbXB0eSA9IGRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtLmlzRW1wdHkoKSxcbiAgICAgICAgICBkaXJlY3RvcnlFbXB0eSA9IGRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtRW1wdHk7IC8vL1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeUVtcHR5O1xuICB9XG5cbiAgaXNFeHBsb3Jlcklnbm9yZWQoZXhwbG9yZXIpIHtcbiAgICBjb25zdCByZWZlcmVuY2UgPSBleHBsb3Jlci5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgICBpZ25vcmVkUmVmZXJlbmNlcyA9IHRoaXMuZ2V0SWdub3JlZFJlZmVyZW5jZXMoKSxcbiAgICAgICAgICBpZ25vcmVkUmVmZXJlbmNlc0luY2x1ZGVzUmVmZXJlbmNlID0gaWdub3JlZFJlZmVyZW5jZXMuaW5jbHVkZXMocmVmZXJlbmNlKSxcbiAgICAgICAgICBleHBsb3Jlcklnbm9yZWQgPSBpZ25vcmVkUmVmZXJlbmNlc0luY2x1ZGVzUmVmZXJlbmNlO1x0Ly8vXG5cbiAgICByZXR1cm4gZXhwbG9yZXJJZ25vcmVkO1xuICB9XG5cbiAgZ2V0SWdub3JlZFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyBpZ25vcmVkUmVmZXJlbmNlcyA9IFtdIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gaWdub3JlZFJlZmVyZW5jZXM7XG4gIH1cblxuICBnZXRGaWxlTmFtZURyYWdFbnRyeUl0ZW0oKSB7XG5cdFx0Y29uc3QgeyBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cblx0XHRyZXR1cm4gRmlsZU5hbWVEcmFnRW50cnlJdGVtO1xuXHR9XG5cbiAgZ2V0RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbTtcbiAgfVxuXG4gIGdldERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtKCkge1xuXHRcdGNvbnN0IHsgRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0gfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cblx0XHRyZXR1cm4gRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW07XG5cdH1cblxuICBnZXREaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IHsgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgcmV0cmlldmVQYXRocyh0eXBlKSB7XG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbXMgPSB0aGlzLnJldHJpZXZlRHJhZ0VudHJ5SXRlbXMoKSxcbiAgICAgICAgICBwYXRocyA9IGRyYWdFbnRyeUl0ZW1zLnJlZHVjZSgocGF0aHMsIGRyYWdFbnRyeUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1UeXBlID0gZHJhZ0VudHJ5SXRlbS5nZXRUeXBlKCk7XG5cbiAgICAgICAgICAgIGlmIChkcmFnRW50cnlJdGVtVHlwZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICBjb25zdCBkcmFnRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gZHJhZ0VudHJ5SXRlbVBhdGg7IC8vL1xuXG4gICAgICAgICAgICAgIHBhdGhzLnB1c2gocGF0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRocztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gcGF0aHM7XG4gIH1cblxuICByZXRyaWV2ZUZpbGVQYXRocygpIHtcbiAgICBjb25zdCB0eXBlID0gRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSxcbiAgICAgICAgICBwYXRocyA9IHRoaXMucmV0cmlldmVQYXRocyh0eXBlKSxcbiAgICAgICAgICBmaWxlUGF0aHMgPSBwYXRoczsgLy8vXG5cbiAgICByZXR1cm4gZmlsZVBhdGhzO1xuICB9XG5cbiAgcmV0cmlldmVEaXJlY3RvcnlQYXRocygpIHtcbiAgICBjb25zdCB0eXBlID0gRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFLFxuICAgICAgICAgIHBhdGhzID0gdGhpcy5yZXRyaWV2ZVBhdGhzKHR5cGUpLFxuICAgICAgICAgIGRpcmVjdG9yeVBhdGhzID0gcGF0aHM7IC8vL1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeVBhdGhzO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSxcbiAgICAgICAgICBkcmFnRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIG1hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRHJhZ0VudHJ5SXRlbVBhdGgoZHJhZ0VudHJ5SXRlbVBhdGgpLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHRhcmdldEVudHJ5UGF0aEZyb21NYXJrZXJFbnRyeUl0ZW1QYXRoKG1hcmtlckVudHJ5SXRlbVBhdGgpLFxuICAgICAgICAgIHBhdGhNYXBzID0gZHJhZ0VudHJ5SXRlbS5nZXRQYXRoTWFwcyhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCksXG4gICAgICAgICAgZXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtRXhwbG9yZXI7ICAvLy9cblxuICAgIHRoaXMubW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbW92ZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB7IGVudHJ5RGlyZWN0b3J5IH0gPSBwYXRoTWFwO1xuXG4gICAgZW50cnlEaXJlY3RvcnkgP1xuICAgICAgdGhpcy5tb3ZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIDpcbiAgICAgICAgdGhpcy5tb3ZlRmlsZU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKTtcbiAgfVxuXG4gIG1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsIGRvbmUpIHtcbiAgICB0aGlzLmNhbGxNb3ZlSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgKCkgPT4ge1xuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4gdGhpcy5tb3ZlRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcikpO1xuXG4gICAgICBkb25lKCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRmlsZU5hbWVEcmFnRW50cnlJdGVtKGZpbGVOYW1lRHJhZ0VudHJ5SXRlbSkge1xuICAgIGNvbnN0IGZpbGVOYW1lRHJhZ0VudHJ5SXRlbVBhdGggPSBmaWxlTmFtZURyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIGZpbGVQYXRoID0gZmlsZU5hbWVEcmFnRW50cnlJdGVtUGF0aDsgLy8vXG5cbiAgICB0aGlzLmNhbGxPcGVuSGFuZGxlcnMoZmlsZVBhdGgpO1xuICB9XG5cbiAgbW92ZUZpbGVOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcikge1xuICAgIGxldCBmaWxlUGF0aDtcblxuICAgIGNvbnN0IHsgc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgICBpZiAoc291cmNlRW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7IC8vL1xuXG4gICAgZXhwbG9yZXIucmVtb3ZlRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpbGVQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAvLy9cblxuICAgIHRoaXMuYWRkRmlsZVBhdGgoZmlsZVBhdGgpO1xuICB9XG5cbiAgbW92ZURpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSB7XG4gICAgbGV0IGRpcmVjdG9yeVBhdGg7XG5cbiAgICBjb25zdCB7IHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoIH0gPSBwYXRoTWFwO1xuXG4gICAgaWYgKHNvdXJjZUVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpcmVjdG9yeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGV4cGxvcmVyLnJlbW92ZURpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCk7XG5cbiAgICBpZiAodGFyZ2V0RW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2xsYXBzZWQgfSA9IHBhdGhNYXA7XG5cbiAgICBkaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAgLy8vXG5cbiAgICB0aGlzLmFkZERpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCwgY29sbGFwc2VkKTtcbiAgfVxuXG4gIGNhbGxPcGVuSGFuZGxlcnMoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gICAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgICAgb3BlbkhhbmRsZXIgPSBoYW5kbGVyOyAgLy8vXG5cbiAgICAgIG9wZW5IYW5kbGVyLmNhbGwoZWxlbWVudCwgZmlsZVBhdGgsIHRoaXMpOyAgLy8vXG4gICAgfSk7XG4gIH1cblxuICBjYWxsTW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGRvbmUpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gICAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICAgIG1vdmVIYW5kbGVyID0gaGFuZGxlciwgIC8vL1xuICAgICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgICAgbW92ZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gICAgfSwgZG9uZSk7XG4gIH1cblxuICBvbk9wZW4ob3BlbkhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IG9wZW5IYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9mZk9wZW4ob3BlbkhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IG9wZW5IYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9uTW92ZShtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IE1PVkVfRVZFTlRfVFlQRSxcbiAgICAgICAgICBoYW5kbGVyID0gbW92ZUhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgb2ZmTW92ZShtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IE1PVkVfRVZFTlRfVFlQRSxcbiAgICAgICAgICBoYW5kbGVyID0gbW92ZUhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvbk1vdmUsIG9uT3BlbiB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1vdmVIYW5kbGVyID0gb25Nb3ZlLCAvLy9cbiAgICAgICAgICBvcGVuSGFuZGxlciA9IG9uT3BlbjsgLy8vXG5cbiAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9uRHJvcCh0aGlzLmRyb3BIYW5kbGVyLCB0aGlzKTtcblxuICAgIHRoaXMub25EcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlciwgdGhpcyk7XG5cbiAgICBtb3ZlSGFuZGxlciAmJiB0aGlzLm9uTW92ZShtb3ZlSGFuZGxlcik7XG4gICAgb3BlbkhhbmRsZXIgJiYgdGhpcy5vbk9wZW4ob3BlbkhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgY29uc3QgeyBvbk1vdmUsIG9uT3BlbiB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1vdmVIYW5kbGVyID0gb25Nb3ZlLCAvLy9cbiAgICAgICAgICBvcGVuSGFuZGxlciA9IG9uT3BlbjsgLy8vXG5cbiAgICB0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuZGlzYWJsZURyb3AoKTtcblxuICAgIHRoaXMub2ZmRHJvcCh0aGlzLmRyb3BIYW5kbGVyLCB0aGlzKTtcblxuICAgIHRoaXMub2ZmRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIsIHRoaXMpO1xuXG4gICAgbW92ZUhhbmRsZXIgJiYgdGhpcy5vZmZNb3ZlKG1vdmVIYW5kbGVyKTtcbiAgICBvcGVuSGFuZGxlciAmJiB0aGlzLm9mZk9wZW4ob3BlbkhhbmRsZXIpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgXHRjb25zdCBleHBsb3JlciA9IHRoaXM7XG5cbiAgXHRyZXR1cm4gKFxuXG4gIFx0XHQ8RW50cmllc0xpc3QgZXhwbG9yZXI9e2V4cGxvcmVyfSB0b3Btb3N0IC8+XG5cblx0XHQpO1xuXHR9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgcmV0cmlldmVGaWxlUGF0aHMgPSB0aGlzLnJldHJpZXZlRmlsZVBhdGhzLmJpbmQodGhpcyksXG4gICAgICAgICAgcmV0cmlldmVEaXJlY3RvcnlQYXRocyA9IHRoaXMucmV0cmlldmVEaXJlY3RvcnlQYXRocy5iaW5kKHRoaXMpLFxuICAgICAgICAgIHBhcmVudENvbnRleHQgPSBPYmplY3QuYXNzaWduKHt9LCBjb250ZXh0LCB7XG4gICAgICAgICAgICByZXRyaWV2ZUZpbGVQYXRocyxcbiAgICAgICAgICAgIHJldHJpZXZlRGlyZWN0b3J5UGF0aHNcbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiBwYXJlbnRDb250ZXh0O1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgXHR0aGlzLmFzc2lnbkNvbnRleHQoKTtcblx0fVxuXG5cdHN0YXRpYyBFbnRyaWVzTGlzdCA9IEVudHJpZXNMaXN0O1xuXG4gIHN0YXRpYyBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gPSBGaWxlTmFtZURyYWdFbnRyeUl0ZW07XG5cbiAgc3RhdGljIEZpbGVOYW1lTWFya2VyRW50cnlJdGVtID0gRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW07XG5cbiAgc3RhdGljIERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtID0gRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW07XG5cbiAgc3RhdGljIERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPSBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtO1xuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJvbk1vdmVcIixcbiAgICBcIm9uT3BlblwiLFxuICAgIFwicmVmZXJlbmNlXCIsXG4gICAgXCJpZ25vcmVkUmVmZXJlbmNlc1wiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJleHBsb3JlclwiXG4gIH07XG5cbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcykge1xuICAgIGNvbnN0IG1vdW50ZWQgPSBmYWxzZSxcbiAgICAgICAgICBleHBsb3JlciA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCBtb3VudGVkKTtcblxuICAgIHJldHVybiBleHBsb3JlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEV4cGxvcmVyLnByb3RvdHlwZSwgZHJvcE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShFeHBsb3JlcilgXG4gIFxuICBwYWRkaW5nOiAke2V4cGxvcmVyUGFkZGluZ307IFxuICBcbmA7XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsIk9QRU5fRVZFTlRfVFlQRSIsImV2ZW50VHlwZXMiLCJNT1ZFX0VWRU5UX1RZUEUiLCJFeHBsb3JlciIsInNlbGVjdG9yIiwibW91bnRlZCIsImRyb3BIYW5kbGVyIiwiZHJhZ0VsZW1lbnQiLCJhYm9ydGVkIiwiZWxlbWVudCIsImRvbmUiLCJkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0iLCJEcmFnRW50cnlJdGVtIiwibWFya2VyRW50cnlJdGVtIiwicmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImdldEV4cGxvcmVyIiwicmVtb3ZlTWFya2VyIiwiZHJhZ0VudHJ5SXRlbSIsImRyb3BEcmFnRW50cnlJdGVtIiwiZHJhZ092ZXJIYW5kbGVyIiwiZHJhZ0VudHJ5SXRlbUV4cGxvcmVyIiwiZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCIsImlzRXhwbG9yZXJJZ25vcmVkIiwiZHJhZ0VudHJ5SXRlbU5hbWUiLCJnZXROYW1lIiwibWFya2VyRW50cnlJdGVtUGF0aCIsImdldFBhdGgiLCJwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgiLCJwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZHJhZ0VudHJ5SXRlbVR5cGUiLCJnZXRUeXBlIiwiYWRkTWFya2VyIiwiaXNNb3VudGVkIiwiZXhwbG9yZXIiLCJnZXRSZWZlcmVuY2UiLCJwcm9wZXJ0aWVzIiwicmVmZXJlbmNlIiwiZ2V0RW50cmllc0xpc3QiLCJFbnRyaWVzTGlzdCIsImNvbnN0cnVjdG9yIiwiaXNEaXJlY3RvcnlFbXB0eSIsImRpcmVjdG9yeVBhdGgiLCJkaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsInJldHJpZXZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJkaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbUVtcHR5IiwiaXNFbXB0eSIsImRpcmVjdG9yeUVtcHR5IiwiaWdub3JlZFJlZmVyZW5jZXMiLCJnZXRJZ25vcmVkUmVmZXJlbmNlcyIsImlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2UiLCJpbmNsdWRlcyIsImV4cGxvcmVySWdub3JlZCIsImdldEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsIkZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsImdldEZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJnZXREaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsIkRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwiZ2V0RGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIkRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZVBhdGhzIiwidHlwZSIsImRyYWdFbnRyeUl0ZW1zIiwicmV0cmlldmVEcmFnRW50cnlJdGVtcyIsInBhdGhzIiwicmVkdWNlIiwiZHJhZ0VudHJ5SXRlbVBhdGgiLCJwYXRoIiwicHVzaCIsInJldHJpZXZlRmlsZVBhdGhzIiwiRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImZpbGVQYXRocyIsInJldHJpZXZlRGlyZWN0b3J5UGF0aHMiLCJESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJkaXJlY3RvcnlQYXRocyIsInNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5UGF0aEZyb21EcmFnRW50cnlJdGVtUGF0aCIsInRhcmdldEVudHJ5UGF0aCIsInRhcmdldEVudHJ5UGF0aEZyb21NYXJrZXJFbnRyeUl0ZW1QYXRoIiwicGF0aE1hcHMiLCJnZXRQYXRoTWFwcyIsIm1vdmVEcmFnRW50cnlJdGVtcyIsIm1vdmVEcmFnRW50cnlJdGVtIiwicGF0aE1hcCIsImVudHJ5RGlyZWN0b3J5IiwibW92ZURpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwibW92ZUZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsImNhbGxNb3ZlSGFuZGxlcnNBc3luYyIsIm9wZW5GaWxlTmFtZURyYWdFbnRyeUl0ZW0iLCJmaWxlTmFtZURyYWdFbnRyeUl0ZW0iLCJmaWxlTmFtZURyYWdFbnRyeUl0ZW1QYXRoIiwiZmlsZVBhdGgiLCJjYWxsT3BlbkhhbmRsZXJzIiwicmVtb3ZlRmlsZVBhdGgiLCJhZGRGaWxlUGF0aCIsInJlbW92ZURpcmVjdG9yeVBhdGgiLCJjb2xsYXBzZWQiLCJhZGREaXJlY3RvcnlQYXRoIiwiZXZlbnRUeXBlIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiaGFuZGxlciIsIm9wZW5IYW5kbGVyIiwiY2FsbCIsIm5leHQiLCJtb3ZlSGFuZGxlciIsIm9uT3BlbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJvZmZPcGVuIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uTW92ZSIsIm9mZk1vdmUiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJvbkRyb3AiLCJvbkRyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkRyb3AiLCJvZmZEcmFnT3ZlciIsImNoaWxkRWxlbWVudHMiLCJ0b3Btb3N0IiwicGFyZW50Q29udGV4dCIsImNvbnRleHQiLCJnZXRDb250ZXh0IiwiYmluZCIsIk9iamVjdCIsImFzc2lnbiIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJFbGVtZW50IiwidGFnTmFtZSIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJwcm90b3R5cGUiLCJkcm9wTWl4aW5zIiwid2l0aFN0eWxlIiwiZXhwbG9yZXJQYWRkaW5nIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7K0JBeWFiLFNBSUU7OztlQUpGLFFBSUU7OztrRUEzYW9CLGlCQUFpQjsrQkFFWixvQkFBb0I7b0JBQ1gsTUFBTTt5QkFDSixXQUFXOzREQUV6QixnQkFBZ0I7eURBQ2QsbUJBQW1COzZEQUNYLDRCQUE0Qjs4REFDMUIsOEJBQThCO2tFQUMzQixpQ0FBaUM7bUVBQy9CLG1DQUFtQztzQkFFNUMsVUFBVTswQkFDZ0MsY0FBYzt1QkFDSyxxQkFBcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
600
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBsb3Jlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgZHJvcE1peGlucyB9IGZyb20gXCJlYXN5LWRyYWctYW5kLWRyb3BcIjtcbmltcG9ydCB7IEVsZW1lbnQsIGV2ZW50VHlwZXMgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgRW50cmllc0xpc3QgZnJvbSBcIi4vbGlzdC9lbnRyaWVzXCI7XG5pbXBvcnQgRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWdcIjtcbmltcG9ydCBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9kcmFnL2ZpbGVOYW1lXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSBmcm9tIFwiLi9pdGVtL2VudHJ5L2RyYWcvZGlyZWN0b3J5TmFtZVwiO1xuaW1wb3J0IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZGlyZWN0b3J5TmFtZVwiO1xuXG5pbXBvcnQgeyBleHBsb3JlclBhZGRpbmcgfSBmcm9tIFwiLi9zdHlsZXNcIjtcbmltcG9ydCB7IEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSB9IGZyb20gXCIuL2VudHJ5VHlwZXNcIjtcbmltcG9ydCB7IHNvdXJjZUVudHJ5UGF0aEZyb21EcmFnRW50cnlJdGVtUGF0aCwgdGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aE1hcFwiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcyxcbiAgICAgIHsgT1BFTl9FVkVOVF9UWVBFLCBNT1ZFX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XG5cbmNsYXNzIEV4cGxvcmVyIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yLCBtb3VudGVkKSB7XG4gICAgc3VwZXIoc2VsZWN0b3IpO1xuXG4gICAgdGhpcy5tb3VudGVkID0gbW91bnRlZDtcbiAgfVxuXG4gIGlzTW91bnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb3VudGVkO1xuICB9XG5cbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50OyAgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5kcm9wRHJhZ0VudHJ5SXRlbShkcmFnRW50cnlJdGVtLCBkb25lKTtcbiAgfVxuXG4gIGRyYWdPdmVySGFuZGxlciA9IChkcmFnRWxlbWVudCwgZWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSA9IChkcmFnRWxlbWVudCBpbnN0YW5jZW9mIERyYWdFbnRyeUl0ZW0pO1xuXG4gICAgaWYgKCFkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBkcmFnRW50cnlJdGVtRXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCA9IHRoaXMuaXNFeHBsb3Jlcklnbm9yZWQoZHJhZ0VudHJ5SXRlbUV4cGxvcmVyKTtcblxuICAgIGlmIChkcmFnRW50cnlJdGVtRXhwbG9yZXJJZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtID0gdGhpcy5yZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSgpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1OYW1lID0gZHJhZ0VudHJ5SXRlbS5nZXROYW1lKCk7XG5cbiAgICBsZXQgbWFya2VyRW50cnlJdGVtUGF0aCA9IG1hcmtlckVudHJ5SXRlbS5nZXRQYXRoKCksXG4gICAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtLmdldEV4cGxvcmVyKCksXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtUGF0aCA9IG1hcmtlckVudHJ5SXRlbVBhdGgsIC8vL1xuICAgICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyID0gbWFya2VyRW50cnlJdGVtRXhwbG9yZXI7IC8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW1OYW1lOy8vL1xuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSB0aGlzOyAgLy8vXG5cbiAgICBpZiAoKG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyKSB8fCAobWFya2VyRW50cnlJdGVtUGF0aCAhPT0gcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoKSkge1xuICAgICAgY29uc3QgZHJhZ0VudHJ5SXRlbVR5cGUgPSBkcmFnRW50cnlJdGVtLmdldFR5cGUoKTtcblxuICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcbiAgICB9XG4gIH1cblxuICBnZXRFeHBsb3JlcigpIHtcbiAgICBjb25zdCBleHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIHJldHVybiBleHBsb3JlcjtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICBjb25zdCB7IHJlZmVyZW5jZSA9IG51bGwgfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2U7XG4gIH1cblxuICBnZXRFbnRyaWVzTGlzdCgpIHtcbiAgXHRjb25zdCB7IEVudHJpZXNMaXN0IH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gIFx0cmV0dXJuIEVudHJpZXNMaXN0O1xuXHR9XG5cbiAgaXNEaXJlY3RvcnlFbXB0eShkaXJlY3RvcnlQYXRoKSB7XG4gICAgY29uc3QgZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0oZGlyZWN0b3J5UGF0aCksXG4gICAgICAgICAgZGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW1FbXB0eSA9IGRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtLmlzRW1wdHkoKSxcbiAgICAgICAgICBkaXJlY3RvcnlFbXB0eSA9IGRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtRW1wdHk7IC8vL1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeUVtcHR5O1xuICB9XG5cbiAgaXNFeHBsb3Jlcklnbm9yZWQoZXhwbG9yZXIpIHtcbiAgICBjb25zdCByZWZlcmVuY2UgPSBleHBsb3Jlci5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgICBpZ25vcmVkUmVmZXJlbmNlcyA9IHRoaXMuZ2V0SWdub3JlZFJlZmVyZW5jZXMoKSxcbiAgICAgICAgICBpZ25vcmVkUmVmZXJlbmNlc0luY2x1ZGVzUmVmZXJlbmNlID0gaWdub3JlZFJlZmVyZW5jZXMuaW5jbHVkZXMocmVmZXJlbmNlKSxcbiAgICAgICAgICBleHBsb3Jlcklnbm9yZWQgPSBpZ25vcmVkUmVmZXJlbmNlc0luY2x1ZGVzUmVmZXJlbmNlO1x0Ly8vXG5cbiAgICByZXR1cm4gZXhwbG9yZXJJZ25vcmVkO1xuICB9XG5cbiAgZ2V0SWdub3JlZFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyBpZ25vcmVkUmVmZXJlbmNlcyA9IFtdIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gaWdub3JlZFJlZmVyZW5jZXM7XG4gIH1cblxuICBnZXRGaWxlTmFtZURyYWdFbnRyeUl0ZW0oKSB7XG5cdFx0Y29uc3QgeyBGaWxlTmFtZURyYWdFbnRyeUl0ZW0gfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cblx0XHRyZXR1cm4gRmlsZU5hbWVEcmFnRW50cnlJdGVtO1xuXHR9XG5cbiAgZ2V0RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbTtcbiAgfVxuXG4gIGdldERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtKCkge1xuXHRcdGNvbnN0IHsgRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0gfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cblx0XHRyZXR1cm4gRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW07XG5cdH1cblxuICBnZXREaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IHsgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgcmV0cmlldmVQYXRocyh0eXBlKSB7XG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbXMgPSB0aGlzLnJldHJpZXZlRHJhZ0VudHJ5SXRlbXMoKSxcbiAgICAgICAgICBwYXRocyA9IGRyYWdFbnRyeUl0ZW1zLnJlZHVjZSgocGF0aHMsIGRyYWdFbnRyeUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1UeXBlID0gZHJhZ0VudHJ5SXRlbS5nZXRUeXBlKCk7XG5cbiAgICAgICAgICAgIGlmIChkcmFnRW50cnlJdGVtVHlwZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICBjb25zdCBkcmFnRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gZHJhZ0VudHJ5SXRlbVBhdGg7IC8vL1xuXG4gICAgICAgICAgICAgIHBhdGhzLnB1c2gocGF0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRocztcbiAgICAgICAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gcGF0aHM7XG4gIH1cblxuICByZXRyaWV2ZUZpbGVQYXRocygpIHtcbiAgICBjb25zdCB0eXBlID0gRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSxcbiAgICAgICAgICBwYXRocyA9IHRoaXMucmV0cmlldmVQYXRocyh0eXBlKSxcbiAgICAgICAgICBmaWxlUGF0aHMgPSBwYXRoczsgLy8vXG5cbiAgICByZXR1cm4gZmlsZVBhdGhzO1xuICB9XG5cbiAgcmV0cmlldmVEaXJlY3RvcnlQYXRocygpIHtcbiAgICBjb25zdCB0eXBlID0gRElSRUNUT1JZX05BTUVfRFJBR19FTlRSWV9UWVBFLFxuICAgICAgICAgIHBhdGhzID0gdGhpcy5yZXRyaWV2ZVBhdGhzKHR5cGUpLFxuICAgICAgICAgIGRpcmVjdG9yeVBhdGhzID0gcGF0aHM7IC8vL1xuXG4gICAgcmV0dXJuIGRpcmVjdG9yeVBhdGhzO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSxcbiAgICAgICAgICBkcmFnRW50cnlJdGVtUGF0aCA9IGRyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIG1hcmtlckVudHJ5SXRlbVBhdGggPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRHJhZ0VudHJ5SXRlbVBhdGgoZHJhZ0VudHJ5SXRlbVBhdGgpLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IHRhcmdldEVudHJ5UGF0aEZyb21NYXJrZXJFbnRyeUl0ZW1QYXRoKG1hcmtlckVudHJ5SXRlbVBhdGgpLFxuICAgICAgICAgIHBhdGhNYXBzID0gZHJhZ0VudHJ5SXRlbS5nZXRQYXRoTWFwcyhzb3VyY2VFbnRyeVBhdGgsIHRhcmdldEVudHJ5UGF0aCksXG4gICAgICAgICAgZXhwbG9yZXIgPSBkcmFnRW50cnlJdGVtRXhwbG9yZXI7ICAvLy9cblxuICAgIHRoaXMubW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbW92ZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB7IGVudHJ5RGlyZWN0b3J5IH0gPSBwYXRoTWFwO1xuXG4gICAgZW50cnlEaXJlY3RvcnkgP1xuICAgICAgdGhpcy5tb3ZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0ocGF0aE1hcCwgZXhwbG9yZXIpIDpcbiAgICAgICAgdGhpcy5tb3ZlRmlsZU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKTtcbiAgfVxuXG4gIG1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsIGRvbmUpIHtcbiAgICB0aGlzLmNhbGxNb3ZlSGFuZGxlcnNBc3luYyhwYXRoTWFwcywgKCkgPT4ge1xuICAgICAgcGF0aE1hcHMuZm9yRWFjaCgocGF0aE1hcCkgPT4gdGhpcy5tb3ZlRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcikpO1xuXG4gICAgICBkb25lKCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRmlsZU5hbWVEcmFnRW50cnlJdGVtKGZpbGVOYW1lRHJhZ0VudHJ5SXRlbSkge1xuICAgIGNvbnN0IGZpbGVOYW1lRHJhZ0VudHJ5SXRlbVBhdGggPSBmaWxlTmFtZURyYWdFbnRyeUl0ZW0uZ2V0UGF0aCgpLFxuICAgICAgICAgIGZpbGVQYXRoID0gZmlsZU5hbWVEcmFnRW50cnlJdGVtUGF0aDsgLy8vXG5cbiAgICB0aGlzLmNhbGxPcGVuSGFuZGxlcnMoZmlsZVBhdGgpO1xuICB9XG5cbiAgbW92ZUZpbGVOYW1lRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcikge1xuICAgIGxldCBmaWxlUGF0aDtcblxuICAgIGNvbnN0IHsgc291cmNlRW50cnlQYXRoLCB0YXJnZXRFbnRyeVBhdGggfSA9IHBhdGhNYXA7XG5cbiAgICBpZiAoc291cmNlRW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmlsZVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7IC8vL1xuXG4gICAgZXhwbG9yZXIucmVtb3ZlRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgaWYgKHRhcmdldEVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpbGVQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAvLy9cblxuICAgIHRoaXMuYWRkRmlsZVBhdGgoZmlsZVBhdGgpO1xuICB9XG5cbiAgbW92ZURpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtKHBhdGhNYXAsIGV4cGxvcmVyKSB7XG4gICAgbGV0IGRpcmVjdG9yeVBhdGg7XG5cbiAgICBjb25zdCB7IHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoIH0gPSBwYXRoTWFwO1xuXG4gICAgaWYgKHNvdXJjZUVudHJ5UGF0aCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpcmVjdG9yeVBhdGggPSBzb3VyY2VFbnRyeVBhdGg7ICAvLy9cblxuICAgIGV4cGxvcmVyLnJlbW92ZURpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCk7XG5cbiAgICBpZiAodGFyZ2V0RW50cnlQYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2xsYXBzZWQgfSA9IHBhdGhNYXA7XG5cbiAgICBkaXJlY3RvcnlQYXRoID0gdGFyZ2V0RW50cnlQYXRoOyAgLy8vXG5cbiAgICB0aGlzLmFkZERpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCwgY29sbGFwc2VkKTtcbiAgfVxuXG4gIGNhbGxPcGVuSGFuZGxlcnMoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gICAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgICAgb3BlbkhhbmRsZXIgPSBoYW5kbGVyOyAgLy8vXG5cbiAgICAgIG9wZW5IYW5kbGVyLmNhbGwoZWxlbWVudCwgZmlsZVBhdGgsIHRoaXMpOyAgLy8vXG4gICAgfSk7XG4gIH1cblxuICBjYWxsTW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGRvbmUpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBNT1ZFX0VWRU5UX1RZUEUsXG4gICAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gICAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICAgIG1vdmVIYW5kbGVyID0gaGFuZGxlciwgIC8vL1xuICAgICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgICAgbW92ZUhhbmRsZXIuY2FsbChlbGVtZW50LCBwYXRoTWFwcywgZG9uZSk7XG4gICAgfSwgZG9uZSk7XG4gIH1cblxuICBvbk9wZW4ob3BlbkhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IG9wZW5IYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9mZk9wZW4ob3BlbkhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgICBjb25zdCBldmVudFR5cGUgPSBPUEVOX0VWRU5UX1RZUEUsXG4gICAgICAgICAgaGFuZGxlciA9IG9wZW5IYW5kbGVyOyAgLy8vXG5cbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIG9uTW92ZShtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IE1PVkVfRVZFTlRfVFlQRSxcbiAgICAgICAgICBoYW5kbGVyID0gbW92ZUhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgb2ZmTW92ZShtb3ZlSGFuZGxlciwgZWxlbWVudCkge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IE1PVkVfRVZFTlRfVFlQRSxcbiAgICAgICAgICBoYW5kbGVyID0gbW92ZUhhbmRsZXI7ICAvLy9cblxuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvbk1vdmUsIG9uT3BlbiB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1vdmVIYW5kbGVyID0gb25Nb3ZlLCAvLy9cbiAgICAgICAgICBvcGVuSGFuZGxlciA9IG9uT3BlbjsgLy8vXG5cbiAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9uRHJvcCh0aGlzLmRyb3BIYW5kbGVyLCB0aGlzKTtcblxuICAgIHRoaXMub25EcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlciwgdGhpcyk7XG5cbiAgICBtb3ZlSGFuZGxlciAmJiB0aGlzLm9uTW92ZShtb3ZlSGFuZGxlcik7XG4gICAgb3BlbkhhbmRsZXIgJiYgdGhpcy5vbk9wZW4ob3BlbkhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgY29uc3QgeyBvbk1vdmUsIG9uT3BlbiB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIG1vdmVIYW5kbGVyID0gb25Nb3ZlLCAvLy9cbiAgICAgICAgICBvcGVuSGFuZGxlciA9IG9uT3BlbjsgLy8vXG5cbiAgICB0aGlzLm1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuZGlzYWJsZURyb3AoKTtcblxuICAgIHRoaXMub2ZmRHJvcCh0aGlzLmRyb3BIYW5kbGVyLCB0aGlzKTtcblxuICAgIHRoaXMub2ZmRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIsIHRoaXMpO1xuXG4gICAgbW92ZUhhbmRsZXIgJiYgdGhpcy5vZmZNb3ZlKG1vdmVIYW5kbGVyKTtcbiAgICBvcGVuSGFuZGxlciAmJiB0aGlzLm9mZk9wZW4ob3BlbkhhbmRsZXIpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgXHRjb25zdCBleHBsb3JlciA9IHRoaXM7XG5cbiAgXHRyZXR1cm4gKFxuXG4gIFx0XHQ8RW50cmllc0xpc3QgZXhwbG9yZXI9e2V4cGxvcmVyfSB0b3Btb3N0IC8+XG5cblx0XHQpO1xuXHR9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgcmV0cmlldmVGaWxlUGF0aHMgPSB0aGlzLnJldHJpZXZlRmlsZVBhdGhzLmJpbmQodGhpcyksXG4gICAgICAgICAgcmV0cmlldmVEaXJlY3RvcnlQYXRocyA9IHRoaXMucmV0cmlldmVEaXJlY3RvcnlQYXRocy5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuICh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcmV0cmlldmVGaWxlUGF0aHMsXG4gICAgICByZXRyaWV2ZURpcmVjdG9yeVBhdGhzXG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICBcdHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXHR9XG5cblx0c3RhdGljIEVudHJpZXNMaXN0ID0gRW50cmllc0xpc3Q7XG5cbiAgc3RhdGljIEZpbGVOYW1lRHJhZ0VudHJ5SXRlbSA9IEZpbGVOYW1lRHJhZ0VudHJ5SXRlbTtcblxuICBzdGF0aWMgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gPSBGaWxlTmFtZU1hcmtlckVudHJ5SXRlbTtcblxuICBzdGF0aWMgRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0gPSBEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbTtcblxuICBzdGF0aWMgRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSA9IERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW07XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm9uTW92ZVwiLFxuICAgIFwib25PcGVuXCIsXG4gICAgXCJyZWZlcmVuY2VcIixcbiAgICBcImlnbm9yZWRSZWZlcmVuY2VzXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImV4cGxvcmVyXCJcbiAgfTtcblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgbW91bnRlZCA9IGZhbHNlLFxuICAgICAgICAgIGV4cGxvcmVyID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIG1vdW50ZWQpO1xuXG4gICAgcmV0dXJuIGV4cGxvcmVyO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRXhwbG9yZXIucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKEV4cGxvcmVyKWBcbiAgXG4gIHBhZGRpbmc6ICR7ZXhwbG9yZXJQYWRkaW5nfTsgXG4gIFxuYDtcbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiT1BFTl9FVkVOVF9UWVBFIiwiZXZlbnRUeXBlcyIsIk1PVkVfRVZFTlRfVFlQRSIsIkV4cGxvcmVyIiwic2VsZWN0b3IiLCJtb3VudGVkIiwiZHJvcEhhbmRsZXIiLCJkcmFnRWxlbWVudCIsImFib3J0ZWQiLCJlbGVtZW50IiwiZG9uZSIsImRyYWdFbGVtZW50RHJhZ0VudHJ5SXRlbSIsIkRyYWdFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJyZW1vdmVNYXJrZXIiLCJkcmFnRW50cnlJdGVtIiwiZHJvcERyYWdFbnRyeUl0ZW0iLCJkcmFnT3ZlckhhbmRsZXIiLCJkcmFnRW50cnlJdGVtRXhwbG9yZXIiLCJkcmFnRW50cnlJdGVtRXhwbG9yZXJJZ25vcmVkIiwiaXNFeHBsb3Jlcklnbm9yZWQiLCJkcmFnRW50cnlJdGVtTmFtZSIsImdldE5hbWUiLCJtYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0UGF0aCIsInByZXZpb3VzTWFya2VyRW50cnlJdGVtUGF0aCIsInByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIiLCJkcmFnRW50cnlJdGVtVHlwZSIsImdldFR5cGUiLCJhZGRNYXJrZXIiLCJpc01vdW50ZWQiLCJleHBsb3JlciIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJnZXRFbnRyaWVzTGlzdCIsIkVudHJpZXNMaXN0IiwiY29uc3RydWN0b3IiLCJpc0RpcmVjdG9yeUVtcHR5IiwiZGlyZWN0b3J5UGF0aCIsImRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwicmV0cmlldmVEaXJlY3RvcnlOYW1lRHJhZ0VudHJ5SXRlbSIsImRpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtRW1wdHkiLCJpc0VtcHR5IiwiZGlyZWN0b3J5RW1wdHkiLCJpZ25vcmVkUmVmZXJlbmNlcyIsImdldElnbm9yZWRSZWZlcmVuY2VzIiwiaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSIsImluY2x1ZGVzIiwiZXhwbG9yZXJJZ25vcmVkIiwiZ2V0RmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiRmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiZ2V0RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJGaWxlTmFtZU1hcmtlckVudHJ5SXRlbSIsImdldERpcmVjdG9yeU5hbWVEcmFnRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJnZXREaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsInJldHJpZXZlUGF0aHMiLCJ0eXBlIiwiZHJhZ0VudHJ5SXRlbXMiLCJyZXRyaWV2ZURyYWdFbnRyeUl0ZW1zIiwicGF0aHMiLCJyZWR1Y2UiLCJkcmFnRW50cnlJdGVtUGF0aCIsInBhdGgiLCJwdXNoIiwicmV0cmlldmVGaWxlUGF0aHMiLCJGSUxFX05BTUVfRFJBR19FTlRSWV9UWVBFIiwiZmlsZVBhdGhzIiwicmV0cmlldmVEaXJlY3RvcnlQYXRocyIsIkRJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImRpcmVjdG9yeVBhdGhzIiwic291cmNlRW50cnlQYXRoIiwic291cmNlRW50cnlQYXRoRnJvbURyYWdFbnRyeUl0ZW1QYXRoIiwidGFyZ2V0RW50cnlQYXRoIiwidGFyZ2V0RW50cnlQYXRoRnJvbU1hcmtlckVudHJ5SXRlbVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwibW92ZURyYWdFbnRyeUl0ZW1zIiwibW92ZURyYWdFbnRyeUl0ZW0iLCJwYXRoTWFwIiwiZW50cnlEaXJlY3RvcnkiLCJtb3ZlRGlyZWN0b3J5TmFtZURyYWdFbnRyeUl0ZW0iLCJtb3ZlRmlsZU5hbWVEcmFnRW50cnlJdGVtIiwiY2FsbE1vdmVIYW5kbGVyc0FzeW5jIiwib3BlbkZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsImZpbGVOYW1lRHJhZ0VudHJ5SXRlbSIsImZpbGVOYW1lRHJhZ0VudHJ5SXRlbVBhdGgiLCJmaWxlUGF0aCIsImNhbGxPcGVuSGFuZGxlcnMiLCJyZW1vdmVGaWxlUGF0aCIsImFkZEZpbGVQYXRoIiwicmVtb3ZlRGlyZWN0b3J5UGF0aCIsImNvbGxhcHNlZCIsImFkZERpcmVjdG9yeVBhdGgiLCJldmVudFR5cGUiLCJldmVudExpc3RlbmVycyIsImZpbmRFdmVudExpc3RlbmVycyIsImV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyIiwib3BlbkhhbmRsZXIiLCJjYWxsIiwibmV4dCIsIm1vdmVIYW5kbGVyIiwib25PcGVuIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZk9wZW4iLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25Nb3ZlIiwib2ZmTW92ZSIsImRpZE1vdW50IiwiZW5hYmxlRHJvcCIsIm9uRHJvcCIsIm9uRHJhZ092ZXIiLCJ3aWxsVW5tb3VudCIsImRpc2FibGVEcm9wIiwib2ZmRHJvcCIsIm9mZkRyYWdPdmVyIiwiY2hpbGRFbGVtZW50cyIsInRvcG1vc3QiLCJwYXJlbnRDb250ZXh0IiwiY29udGV4dCIsImdldENvbnRleHQiLCJiaW5kIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJmcm9tQ2xhc3MiLCJDbGFzcyIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImRyb3BNaXhpbnMiLCJ3aXRoU3R5bGUiLCJleHBsb3JlclBhZGRpbmciXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7OzsrQkF5YWIsU0FJRTs7O2VBSkYsUUFJRTs7O2tFQTNhb0IsaUJBQWlCOytCQUVaLG9CQUFvQjtvQkFDWCxNQUFNO3lCQUNKLFdBQVc7NERBRXpCLGdCQUFnQjt5REFDZCxtQkFBbUI7NkRBQ1gsNEJBQTRCOzhEQUMxQiw4QkFBOEI7a0VBQzNCLGlDQUFpQzttRUFDL0IsbUNBQW1DO3NCQUU1QyxVQUFVOzBCQUNnQyxjQUFjO3VCQUNLLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy-file-system",
3
3
  "author": "James Smith",
4
- "version": "1.3.134",
4
+ "version": "1.3.138",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy-file-system",
7
7
  "description": "A file system explorer and a rubbish bin.",
@@ -11,8 +11,8 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "easy": "^13.0.44",
14
- "easy-drag-and-drop": "^1.2.81",
15
- "easy-with-style": "^3.0.176",
14
+ "easy-drag-and-drop": "^1.2.83",
15
+ "easy-with-style": "^3.0.179",
16
16
  "necessary": "^11.0.40"
17
17
  },
18
18
  "devDependencies": {
package/src/explorer.js CHANGED
@@ -377,13 +377,13 @@ class Explorer extends Element {
377
377
  parentContext() {
378
378
  const context = this.getContext(),
379
379
  retrieveFilePaths = this.retrieveFilePaths.bind(this),
380
- retrieveDirectoryPaths = this.retrieveDirectoryPaths.bind(this),
381
- parentContext = Object.assign({}, context, {
382
- retrieveFilePaths,
383
- retrieveDirectoryPaths
384
- });
380
+ retrieveDirectoryPaths = this.retrieveDirectoryPaths.bind(this);
385
381
 
386
- return parentContext;
382
+ return ({
383
+ ...context,
384
+ retrieveFilePaths,
385
+ retrieveDirectoryPaths
386
+ });
387
387
  }
388
388
 
389
389
  initialise() {