Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appcd-response

Package Overview
Dependencies
Maintainers
3
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appcd-response - npm Package Compare versions

Comparing version 3.0.4 to 3.0.5

4

CHANGELOG.md

@@ -0,1 +1,5 @@

# v3.0.5 (Mar 3, 2021)
* chore: Updated dependencies.
# v3.0.4 (Jan 26, 2021)

@@ -2,0 +6,0 @@

2

dist/appcd-error.js

@@ -168,2 +168,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGNkLWVycm9yLmpzIl0sIm5hbWVzIjpbIkFwcGNkRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIk9iamVjdCIsImRlZmluZVByb3BlcnRpZXMiLCJuYW1lIiwid3JpdGFibGUiLCJ2YWx1ZSIsIm1zZyIsIk1lc3NhZ2UiLCJlcnIiLCJwcm9wIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInN0YWNrIiwicmVwbGFjZSIsImNhcHR1cmVTdGFja1RyYWNlIiwibWVzc2FnZSIsInRvU3RyaW5nIiwic3RhdHVzIiwic3RhdHVzQ29kZSIsImxvY2FsZSIsImNvZGUiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb2RlcyIsImNyZWF0ZUVycm9yQ2xhc3MiLCJjbGFzc05hbWUiLCJvcHRzIiwiVHlwZUVycm9yIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVmYXVsdFN0YXR1cyIsImRlZmF1bHRTdGF0dXNDb2RlIiwiQ3VzdG9tRXJyb3IiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O0FBRUE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDZSxNQUFNQSxVQUFOLFNBQXlCQyxLQUF6QixDQUErQjtBQUM3QztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLEVBQUFBLFdBQVcsQ0FBQyxHQUFHQyxJQUFKLEVBQVU7QUFDcEIsWUFEb0IsQ0FHcEI7QUFDQTs7QUFDQUMsSUFBQUEsTUFBTSxDQUFDQyxnQkFBUCxDQUF3QixJQUF4QixFQUE4QjtBQUM3QkMsTUFBQUEsSUFBSSxFQUFFO0FBQUVDLFFBQUFBLFFBQVEsRUFBRSxJQUFaO0FBQWtCQyxRQUFBQSxLQUFLLEVBQUUsS0FBS04sV0FBTCxDQUFpQkk7QUFBMUMsT0FEdUI7QUFFN0JHLE1BQUFBLEdBQUcsRUFBRTtBQUFFRixRQUFBQSxRQUFRLEVBQUUsSUFBWjtBQUFrQkMsUUFBQUEsS0FBSyxFQUFFLElBQUlFLGdCQUFKLENBQVksR0FBR1AsSUFBZjtBQUF6QjtBQUZ3QixLQUE5QjtBQUtBLFVBQU1RLEdBQUcsR0FBR1IsSUFBSSxDQUFDLENBQUQsQ0FBaEI7O0FBQ0EsUUFBSVEsR0FBRyxZQUFZVixLQUFuQixFQUEwQjtBQUN6QixXQUFLLE1BQU1XLElBQVgsSUFBbUJSLE1BQU0sQ0FBQ1MsbUJBQVAsQ0FBMkJGLEdBQTNCLENBQW5CLEVBQW9EO0FBQ25ELFlBQUlDLElBQUksS0FBSyxTQUFULElBQXNCQSxJQUFJLEtBQUssTUFBbkMsRUFBMkM7QUFDMUMsZUFBS0EsSUFBTCxJQUFhRCxHQUFHLENBQUNDLElBQUQsQ0FBaEI7QUFDQTtBQUNELE9BTHdCLENBT3pCOzs7QUFDQSxVQUFJLEtBQUtFLEtBQVQsRUFBZ0I7QUFDZixhQUFLQSxLQUFMLEdBQWEsS0FBS0EsS0FBTCxDQUFXQyxPQUFYLENBQW1CLGNBQW5CLEVBQW9DLEdBQUUsS0FBS1QsSUFBSyxHQUFoRCxDQUFiO0FBQ0E7QUFDRCxLQVhELE1BV087QUFDTkwsTUFBQUEsS0FBSyxDQUFDZSxpQkFBTixDQUF3QixJQUF4QixFQUE4QixLQUFLZCxXQUFuQztBQUNBO0FBQ0Q7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQyxNQUFJZSxPQUFKLEdBQWM7QUFDYixXQUFPLEtBQUtSLEdBQUwsQ0FBU1MsUUFBVCxDQUFrQixJQUFsQixFQUF3QixlQUF4QixDQUFQO0FBQ0E7O0FBRUQsTUFBSUQsT0FBSixDQUFZUixHQUFaLEVBQWlCO0FBQ2hCLFNBQUtBLEdBQUwsR0FBV0EsR0FBWDtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7OztBQUNDLE1BQUlVLE1BQUosR0FBYTtBQUNaLFdBQU8sS0FBS1YsR0FBTCxDQUFTVSxNQUFoQjtBQUNBOztBQUVELE1BQUlBLE1BQUosQ0FBV1gsS0FBWCxFQUFrQjtBQUNqQixTQUFLQyxHQUFMLENBQVNVLE1BQVQsR0FBa0JYLEtBQWxCO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTs7O0FBQ0MsTUFBSVksVUFBSixHQUFpQjtBQUNoQixXQUFPLEtBQUtYLEdBQUwsQ0FBU1csVUFBaEI7QUFDQTs7QUFFRCxNQUFJQSxVQUFKLENBQWVaLEtBQWYsRUFBc0I7QUFDckIsU0FBS0MsR0FBTCxDQUFTVyxVQUFULEdBQXNCWixLQUF0QjtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNDVSxFQUFBQSxRQUFRLENBQUNHLE1BQUQsRUFBUztBQUNoQixVQUFNQyxJQUFJLEdBQUcsS0FBS2IsR0FBTCxDQUFTVyxVQUFULEdBQXVCLFVBQVMsS0FBS1gsR0FBTCxDQUFTVyxVQUFXLEdBQXBELEdBQXlELEVBQXRFO0FBQ0EsV0FBUSxHQUFFLEtBQUtkLElBQUssS0FBSSxLQUFLRyxHQUFMLENBQVNTLFFBQVQsQ0FBa0JHLE1BQWxCLEVBQTBCLGVBQTFCLENBQTJDLEdBQUVDLElBQUssRUFBMUU7QUFDQTs7QUFoRjRDOzs7QUFtRjlDbEIsTUFBTSxDQUFDbUIsY0FBUCxDQUFzQnZCLFVBQXRCLEVBQWtDLE1BQWxDLEVBQTBDO0FBQ3pDd0IsRUFBQUEsVUFBVSxFQUFFLElBRDZCO0FBRXpDaEIsRUFBQUEsS0FBSyxFQUFFO0FBRmtDLENBQTFDO0FBS0FSLFVBQVUsQ0FBQ3lCLEtBQVgsR0FBbUJBLFlBQW5CO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ08sU0FBU0MsZ0JBQVQsQ0FBMEJDLFNBQTFCLEVBQXFDQyxJQUFJLEdBQUcsRUFBNUMsRUFBZ0Q7QUFDdEQsTUFBSSxDQUFDRCxTQUFELElBQWMsT0FBT0EsU0FBUCxLQUFxQixRQUF2QyxFQUFpRDtBQUNoRCxVQUFNLElBQUlFLFNBQUosQ0FBYywyREFBZCxDQUFOO0FBQ0E7O0FBRUQsTUFBSUQsSUFBSixFQUFVO0FBQ1QsUUFBSSxPQUFPQSxJQUFQLEtBQWdCLFFBQXBCLEVBQThCO0FBQzdCLFlBQU0sSUFBSUMsU0FBSixDQUFjLGtDQUFkLENBQU47QUFDQTs7QUFFRCxRQUFJekIsTUFBTSxDQUFDMEIsU0FBUCxDQUFpQkMsY0FBakIsQ0FBZ0NDLElBQWhDLENBQXFDSixJQUFyQyxFQUEyQyxlQUEzQyxLQUErRCxPQUFPQSxJQUFJLENBQUNLLGFBQVosS0FBOEIsUUFBakcsRUFBMkc7QUFDMUcsWUFBTSxJQUFJSixTQUFKLENBQWMsd0NBQWQsQ0FBTjtBQUNBOztBQUVELFFBQUl6QixNQUFNLENBQUMwQixTQUFQLENBQWlCQyxjQUFqQixDQUFnQ0MsSUFBaEMsQ0FBcUNKLElBQXJDLEVBQTJDLG1CQUEzQyxLQUFtRSxPQUFPQSxJQUFJLENBQUNNLGlCQUFaLEtBQWtDLFFBQXJHLElBQWlILE9BQU9OLElBQUksQ0FBQ00saUJBQVosS0FBa0MsUUFBdkosRUFBaUs7QUFDaEssWUFBTSxJQUFJTCxTQUFKLENBQWMsdURBQWQsQ0FBTjtBQUNBO0FBQ0Q7O0FBRUQsUUFBTU0sV0FBTixTQUEwQm5DLFVBQTFCLENBQXFDO0FBQ3BDRSxJQUFBQSxXQUFXLENBQUMsR0FBR0MsSUFBSixFQUFVO0FBQ3BCLFlBQU0sR0FBR0EsSUFBVDs7QUFFQSxVQUFJLEtBQUtNLEdBQUwsQ0FBU1UsTUFBVCxLQUFvQmlCLFNBQXBCLElBQWlDUixJQUFqQyxJQUF5Q0EsSUFBSSxDQUFDSyxhQUFsRCxFQUFpRTtBQUNoRSxhQUFLeEIsR0FBTCxDQUFTVSxNQUFULEdBQWtCUyxJQUFJLENBQUNLLGFBQXZCO0FBQ0E7O0FBRUQsVUFBSSxLQUFLeEIsR0FBTCxDQUFTVyxVQUFULEtBQXdCZ0IsU0FBeEIsSUFBcUNSLElBQXJDLElBQTZDQSxJQUFJLENBQUNNLGlCQUF0RCxFQUF5RTtBQUN4RSxhQUFLekIsR0FBTCxDQUFTVyxVQUFULEdBQXNCUSxJQUFJLENBQUNNLGlCQUEzQjtBQUNBO0FBQ0Q7O0FBWG1DOztBQWNyQzlCLEVBQUFBLE1BQU0sQ0FBQ21CLGNBQVAsQ0FBc0JZLFdBQXRCLEVBQW1DLE1BQW5DLEVBQTJDO0FBQzFDWCxJQUFBQSxVQUFVLEVBQUUsSUFEOEI7QUFFMUNoQixJQUFBQSxLQUFLLEVBQUVtQjtBQUZtQyxHQUEzQztBQUtBLFNBQU9RLFdBQVA7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNZXNzYWdlIGZyb20gJy4vbWVzc2FnZSc7XG5cbmltcG9ydCB7IGNvZGVzIH0gZnJvbSAnLi9jb2Rlcyc7XG5cbi8qKlxuICogQSBBcHBjIERhZW1vbiBlcnJvci4gVGhpcyBjbGFzcyBjYW4gYmUgZXh0ZW5kZWQgb3IgdXNlZCBhcyBpcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBwY2RFcnJvciBleHRlbmRzIEVycm9yIHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gZXJyb3IgaW5zdGFuY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7Li4uKn0gYXJncyAtIFRoZSBjb2RlLCBtZXNzYWdlLCBvciBlcnJvci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcblx0XHRzdXBlcigpO1xuXG5cdFx0Ly8gbXVzdCBkZWZpbmUgYG1zZ2AgYmVmb3JlIGNhcHR1cmluZyB0aGUgc3RhY2sgdHJhY2Ugc2luY2UgaXQgY2FsbHMgYHRvU3RyaW5nKClgIGFuZCB3ZVxuXHRcdC8vIG5lZWQgYSBtZXNzYWdlIHRvIHJlbmRlclxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMsIHtcblx0XHRcdG5hbWU6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSxcblx0XHRcdG1zZzogeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IG5ldyBNZXNzYWdlKC4uLmFyZ3MpIH1cblx0XHR9KTtcblxuXHRcdGNvbnN0IGVyciA9IGFyZ3NbMF07XG5cdFx0aWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0XHRmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZXJyKSkge1xuXHRcdFx0XHRpZiAocHJvcCAhPT0gJ21lc3NhZ2UnICYmIHByb3AgIT09ICduYW1lJykge1xuXHRcdFx0XHRcdHRoaXNbcHJvcF0gPSBlcnJbcHJvcF07XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gdGhlIHN0YWNrIG1heSBoYXZlIHRoZSB3cm9uZyBjbGFzcyBuYW1lLCBzbyBvdmVycmlkZSBpdFxuXHRcdFx0aWYgKHRoaXMuc3RhY2spIHtcblx0XHRcdFx0dGhpcy5zdGFjayA9IHRoaXMuc3RhY2sucmVwbGFjZSgvXihcXHcqRXJyb3I6KS8sIGAke3RoaXMubmFtZX06YCk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsIHRoaXMuY29uc3RydWN0b3IpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSAnZW4nIGxvY2FsZSBzcGVjaWZpYyBtZXNzYWdlLlxuXHQgKiBAdHlwZSB7U3RyaW5nfVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0Z2V0IG1lc3NhZ2UoKSB7XG5cdFx0cmV0dXJuIHRoaXMubXNnLnRvU3RyaW5nKG51bGwsICdVbmtub3duIEVycm9yJyk7XG5cdH1cblxuXHRzZXQgbWVzc2FnZShtc2cpIHtcblx0XHR0aGlzLm1zZyA9IG1zZztcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZXJyb3Igc3RhdHVzLlxuXHQgKiBAdHlwZSB7TnVtYmVyfVxuXHQgKi9cblx0Z2V0IHN0YXR1cygpIHtcblx0XHRyZXR1cm4gdGhpcy5tc2cuc3RhdHVzO1xuXHR9XG5cblx0c2V0IHN0YXR1cyh2YWx1ZSkge1xuXHRcdHRoaXMubXNnLnN0YXR1cyA9IHZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBlcnJvciBjb2RlLlxuXHQgKiBAdHlwZSB7U3RyaW5nfVxuXHQgKi9cblx0Z2V0IHN0YXR1c0NvZGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMubXNnLnN0YXR1c0NvZGU7XG5cdH1cblxuXHRzZXQgc3RhdHVzQ29kZSh2YWx1ZSkge1xuXHRcdHRoaXMubXNnLnN0YXR1c0NvZGUgPSB2YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGb3JtYXRzIGFuZCByZXR1cm5zIHRoZSBlcnJvciBtZXNzYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ30gW2xvY2FsZV0gLSBUaGUgbG9jYWxlIHVzZWQgdG8gdHJhbnNsYXRlIHRoZSBtZXNzYWdlLlxuXHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0dG9TdHJpbmcobG9jYWxlKSB7XG5cdFx0Y29uc3QgY29kZSA9IHRoaXMubXNnLnN0YXR1c0NvZGUgPyBgIChjb2RlICR7dGhpcy5tc2cuc3RhdHVzQ29kZX0pYCA6ICcnO1xuXHRcdHJldHVybiBgJHt0aGlzLm5hbWV9OiAke3RoaXMubXNnLnRvU3RyaW5nKGxvY2FsZSwgJ1Vua25vd24gRXJyb3InKX0ke2NvZGV9YDtcblx0fVxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoQXBwY2RFcnJvciwgJ25hbWUnLCB7XG5cdGVudW1lcmFibGU6IHRydWUsXG5cdHZhbHVlOiAnQXBwY2RFcnJvcidcbn0pO1xuXG5BcHBjZEVycm9yLmNvZGVzID0gY29kZXM7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBvbmUtb2ZmIGN1c3RvbSBlcnJvciBvYmplY3RzLiBJdCdzIGVxdWl2YWxlbnQgdG8gY3JlYXRpbmcgYSBjdXN0b21cbiAqIGVycm9yIGNsYXNzIHRoYXQgZXh0ZW5kcyBgQXBwY2RFcnJvcmAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGNsYXNzTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjdXN0b20gZXJyb3IuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdHNdIC0gQWRkaXRpb25hbCBvcHRpb25zLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLmRlZmF1bHRTdGF0dXNdIC0gQSBkZWZhdWx0IHN0YXR1cyBpZiB0aGUgZXJyb3IgZG9lc24ndCBleHBsaWNpdGx5IGhhdmUgb25lLlxuICogQHBhcmFtIHtOdW1iZXJ9IFtvcHRzLmRlZmF1bHRTdGF0dXNDb2RlXSAtIEEgZGVmYXVsdCBjb2RlIGlmIHRoZSBlcnJvciBkb2Vzbid0IGV4cGxpY2l0bHkgaGF2ZSBvbmUuXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFcnJvckNsYXNzKGNsYXNzTmFtZSwgb3B0cyA9IHt9KSB7XG5cdGlmICghY2xhc3NOYW1lIHx8IHR5cGVvZiBjbGFzc05hbWUgIT09ICdzdHJpbmcnKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgY3VzdG9tIGVycm9yIGNsYXNzIG5hbWUgdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG5cdH1cblxuXHRpZiAob3B0cykge1xuXHRcdGlmICh0eXBlb2Ygb3B0cyAhPT0gJ29iamVjdCcpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIG9wdGlvbnMgdG8gYmUgYW4gb2JqZWN0Jyk7XG5cdFx0fVxuXG5cdFx0aWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvcHRzLCAnZGVmYXVsdFN0YXR1cycpICYmIHR5cGVvZiBvcHRzLmRlZmF1bHRTdGF0dXMgIT09ICdudW1iZXInKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBkZWZhdWx0IHN0YXR1cyB0byBiZSBhIG51bWJlcicpO1xuXHRcdH1cblxuXHRcdGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob3B0cywgJ2RlZmF1bHRTdGF0dXNDb2RlJykgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1c0NvZGUgIT09ICdudW1iZXInICYmIHR5cGVvZiBvcHRzLmRlZmF1bHRTdGF0dXNDb2RlICE9PSAnc3RyaW5nJykge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgZGVmYXVsdCBzdGF0dXMgY29kZSB0byBiZSBhIHN0cmluZyBvciBudW1iZXInKTtcblx0XHR9XG5cdH1cblxuXHRjbGFzcyBDdXN0b21FcnJvciBleHRlbmRzIEFwcGNkRXJyb3Ige1xuXHRcdGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcblx0XHRcdHN1cGVyKC4uLmFyZ3MpO1xuXG5cdFx0XHRpZiAodGhpcy5tc2cuc3RhdHVzID09PSB1bmRlZmluZWQgJiYgb3B0cyAmJiBvcHRzLmRlZmF1bHRTdGF0dXMpIHtcblx0XHRcdFx0dGhpcy5tc2cuc3RhdHVzID0gb3B0cy5kZWZhdWx0U3RhdHVzO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodGhpcy5tc2cuc3RhdHVzQ29kZSA9PT0gdW5kZWZpbmVkICYmIG9wdHMgJiYgb3B0cy5kZWZhdWx0U3RhdHVzQ29kZSkge1xuXHRcdFx0XHR0aGlzLm1zZy5zdGF0dXNDb2RlID0gb3B0cy5kZWZhdWx0U3RhdHVzQ29kZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoQ3VzdG9tRXJyb3IsICduYW1lJywge1xuXHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0dmFsdWU6IGNsYXNzTmFtZVxuXHR9KTtcblxuXHRyZXR1cm4gQ3VzdG9tRXJyb3I7XG59XG4iXSwiZmlsZSI6ImFwcGNkLWVycm9yLmpzIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcGNkLWVycm9yLmpzIl0sIm5hbWVzIjpbIkFwcGNkRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIk9iamVjdCIsImRlZmluZVByb3BlcnRpZXMiLCJuYW1lIiwid3JpdGFibGUiLCJ2YWx1ZSIsIm1zZyIsIk1lc3NhZ2UiLCJlcnIiLCJwcm9wIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInN0YWNrIiwicmVwbGFjZSIsImNhcHR1cmVTdGFja1RyYWNlIiwibWVzc2FnZSIsInRvU3RyaW5nIiwic3RhdHVzIiwic3RhdHVzQ29kZSIsImxvY2FsZSIsImNvZGUiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb2RlcyIsImNyZWF0ZUVycm9yQ2xhc3MiLCJjbGFzc05hbWUiLCJvcHRzIiwiVHlwZUVycm9yIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVmYXVsdFN0YXR1cyIsImRlZmF1bHRTdGF0dXNDb2RlIiwiQ3VzdG9tRXJyb3IiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O0FBRUE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDZSxNQUFNQSxVQUFOLFNBQXlCQyxLQUF6QixDQUErQjtBQUM3QztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0NDLEVBQUFBLFdBQVcsQ0FBQyxHQUFHQyxJQUFKLEVBQVU7QUFDcEIsWUFEb0IsQ0FHcEI7QUFDQTs7QUFDQUMsSUFBQUEsTUFBTSxDQUFDQyxnQkFBUCxDQUF3QixJQUF4QixFQUE4QjtBQUM3QkMsTUFBQUEsSUFBSSxFQUFFO0FBQUVDLFFBQUFBLFFBQVEsRUFBRSxJQUFaO0FBQWtCQyxRQUFBQSxLQUFLLEVBQUUsS0FBS04sV0FBTCxDQUFpQkk7QUFBMUMsT0FEdUI7QUFFN0JHLE1BQUFBLEdBQUcsRUFBRTtBQUFFRixRQUFBQSxRQUFRLEVBQUUsSUFBWjtBQUFrQkMsUUFBQUEsS0FBSyxFQUFFLElBQUlFLGdCQUFKLENBQVksR0FBR1AsSUFBZjtBQUF6QjtBQUZ3QixLQUE5QjtBQUtBLFVBQU1RLEdBQUcsR0FBR1IsSUFBSSxDQUFDLENBQUQsQ0FBaEI7O0FBQ0EsUUFBSVEsR0FBRyxZQUFZVixLQUFuQixFQUEwQjtBQUN6QixXQUFLLE1BQU1XLElBQVgsSUFBbUJSLE1BQU0sQ0FBQ1MsbUJBQVAsQ0FBMkJGLEdBQTNCLENBQW5CLEVBQW9EO0FBQ25ELFlBQUlDLElBQUksS0FBSyxTQUFULElBQXNCQSxJQUFJLEtBQUssTUFBbkMsRUFBMkM7QUFDMUMsZUFBS0EsSUFBTCxJQUFhRCxHQUFHLENBQUNDLElBQUQsQ0FBaEI7QUFDQTtBQUNELE9BTHdCLENBT3pCOzs7QUFDQSxVQUFJLEtBQUtFLEtBQVQsRUFBZ0I7QUFDZixhQUFLQSxLQUFMLEdBQWEsS0FBS0EsS0FBTCxDQUFXQyxPQUFYLENBQW1CLGNBQW5CLEVBQW9DLEdBQUUsS0FBS1QsSUFBSyxHQUFoRCxDQUFiO0FBQ0E7QUFDRCxLQVhELE1BV087QUFDTkwsTUFBQUEsS0FBSyxDQUFDZSxpQkFBTixDQUF3QixJQUF4QixFQUE4QixLQUFLZCxXQUFuQztBQUNBO0FBQ0Q7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBOzs7QUFDWSxNQUFQZSxPQUFPLEdBQUc7QUFDYixXQUFPLEtBQUtSLEdBQUwsQ0FBU1MsUUFBVCxDQUFrQixJQUFsQixFQUF3QixlQUF4QixDQUFQO0FBQ0E7O0FBRVUsTUFBUEQsT0FBTyxDQUFDUixHQUFELEVBQU07QUFDaEIsU0FBS0EsR0FBTCxHQUFXQSxHQUFYO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTs7O0FBQ1csTUFBTlUsTUFBTSxHQUFHO0FBQ1osV0FBTyxLQUFLVixHQUFMLENBQVNVLE1BQWhCO0FBQ0E7O0FBRVMsTUFBTkEsTUFBTSxDQUFDWCxLQUFELEVBQVE7QUFDakIsU0FBS0MsR0FBTCxDQUFTVSxNQUFULEdBQWtCWCxLQUFsQjtBQUNBO0FBRUQ7QUFDRDtBQUNBO0FBQ0E7OztBQUNlLE1BQVZZLFVBQVUsR0FBRztBQUNoQixXQUFPLEtBQUtYLEdBQUwsQ0FBU1csVUFBaEI7QUFDQTs7QUFFYSxNQUFWQSxVQUFVLENBQUNaLEtBQUQsRUFBUTtBQUNyQixTQUFLQyxHQUFMLENBQVNXLFVBQVQsR0FBc0JaLEtBQXRCO0FBQ0E7QUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0NVLEVBQUFBLFFBQVEsQ0FBQ0csTUFBRCxFQUFTO0FBQ2hCLFVBQU1DLElBQUksR0FBRyxLQUFLYixHQUFMLENBQVNXLFVBQVQsR0FBdUIsVUFBUyxLQUFLWCxHQUFMLENBQVNXLFVBQVcsR0FBcEQsR0FBeUQsRUFBdEU7QUFDQSxXQUFRLEdBQUUsS0FBS2QsSUFBSyxLQUFJLEtBQUtHLEdBQUwsQ0FBU1MsUUFBVCxDQUFrQkcsTUFBbEIsRUFBMEIsZUFBMUIsQ0FBMkMsR0FBRUMsSUFBSyxFQUExRTtBQUNBOztBQWhGNEM7OztBQW1GOUNsQixNQUFNLENBQUNtQixjQUFQLENBQXNCdkIsVUFBdEIsRUFBa0MsTUFBbEMsRUFBMEM7QUFDekN3QixFQUFBQSxVQUFVLEVBQUUsSUFENkI7QUFFekNoQixFQUFBQSxLQUFLLEVBQUU7QUFGa0MsQ0FBMUM7QUFLQVIsVUFBVSxDQUFDeUIsS0FBWCxHQUFtQkEsWUFBbkI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDTyxTQUFTQyxnQkFBVCxDQUEwQkMsU0FBMUIsRUFBcUNDLElBQUksR0FBRyxFQUE1QyxFQUFnRDtBQUN0RCxNQUFJLENBQUNELFNBQUQsSUFBYyxPQUFPQSxTQUFQLEtBQXFCLFFBQXZDLEVBQWlEO0FBQ2hELFVBQU0sSUFBSUUsU0FBSixDQUFjLDJEQUFkLENBQU47QUFDQTs7QUFFRCxNQUFJRCxJQUFKLEVBQVU7QUFDVCxRQUFJLE9BQU9BLElBQVAsS0FBZ0IsUUFBcEIsRUFBOEI7QUFDN0IsWUFBTSxJQUFJQyxTQUFKLENBQWMsa0NBQWQsQ0FBTjtBQUNBOztBQUVELFFBQUl6QixNQUFNLENBQUMwQixTQUFQLENBQWlCQyxjQUFqQixDQUFnQ0MsSUFBaEMsQ0FBcUNKLElBQXJDLEVBQTJDLGVBQTNDLEtBQStELE9BQU9BLElBQUksQ0FBQ0ssYUFBWixLQUE4QixRQUFqRyxFQUEyRztBQUMxRyxZQUFNLElBQUlKLFNBQUosQ0FBYyx3Q0FBZCxDQUFOO0FBQ0E7O0FBRUQsUUFBSXpCLE1BQU0sQ0FBQzBCLFNBQVAsQ0FBaUJDLGNBQWpCLENBQWdDQyxJQUFoQyxDQUFxQ0osSUFBckMsRUFBMkMsbUJBQTNDLEtBQW1FLE9BQU9BLElBQUksQ0FBQ00saUJBQVosS0FBa0MsUUFBckcsSUFBaUgsT0FBT04sSUFBSSxDQUFDTSxpQkFBWixLQUFrQyxRQUF2SixFQUFpSztBQUNoSyxZQUFNLElBQUlMLFNBQUosQ0FBYyx1REFBZCxDQUFOO0FBQ0E7QUFDRDs7QUFFRCxRQUFNTSxXQUFOLFNBQTBCbkMsVUFBMUIsQ0FBcUM7QUFDcENFLElBQUFBLFdBQVcsQ0FBQyxHQUFHQyxJQUFKLEVBQVU7QUFDcEIsWUFBTSxHQUFHQSxJQUFUOztBQUVBLFVBQUksS0FBS00sR0FBTCxDQUFTVSxNQUFULEtBQW9CaUIsU0FBcEIsSUFBaUNSLElBQWpDLElBQXlDQSxJQUFJLENBQUNLLGFBQWxELEVBQWlFO0FBQ2hFLGFBQUt4QixHQUFMLENBQVNVLE1BQVQsR0FBa0JTLElBQUksQ0FBQ0ssYUFBdkI7QUFDQTs7QUFFRCxVQUFJLEtBQUt4QixHQUFMLENBQVNXLFVBQVQsS0FBd0JnQixTQUF4QixJQUFxQ1IsSUFBckMsSUFBNkNBLElBQUksQ0FBQ00saUJBQXRELEVBQXlFO0FBQ3hFLGFBQUt6QixHQUFMLENBQVNXLFVBQVQsR0FBc0JRLElBQUksQ0FBQ00saUJBQTNCO0FBQ0E7QUFDRDs7QUFYbUM7O0FBY3JDOUIsRUFBQUEsTUFBTSxDQUFDbUIsY0FBUCxDQUFzQlksV0FBdEIsRUFBbUMsTUFBbkMsRUFBMkM7QUFDMUNYLElBQUFBLFVBQVUsRUFBRSxJQUQ4QjtBQUUxQ2hCLElBQUFBLEtBQUssRUFBRW1CO0FBRm1DLEdBQTNDO0FBS0EsU0FBT1EsV0FBUDtBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1lc3NhZ2UgZnJvbSAnLi9tZXNzYWdlJztcblxuaW1wb3J0IHsgY29kZXMgfSBmcm9tICcuL2NvZGVzJztcblxuLyoqXG4gKiBBIEFwcGMgRGFlbW9uIGVycm9yLiBUaGlzIGNsYXNzIGNhbiBiZSBleHRlbmRlZCBvciB1c2VkIGFzIGlzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcHBjZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBlcnJvciBpbnN0YW5jZS5cblx0ICpcblx0ICogQHBhcmFtIHsuLi4qfSBhcmdzIC0gVGhlIGNvZGUsIG1lc3NhZ2UsIG9yIGVycm9yLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoLi4uYXJncykge1xuXHRcdHN1cGVyKCk7XG5cblx0XHQvLyBtdXN0IGRlZmluZSBgbXNnYCBiZWZvcmUgY2FwdHVyaW5nIHRoZSBzdGFjayB0cmFjZSBzaW5jZSBpdCBjYWxscyBgdG9TdHJpbmcoKWAgYW5kIHdlXG5cdFx0Ly8gbmVlZCBhIG1lc3NhZ2UgdG8gcmVuZGVyXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywge1xuXHRcdFx0bmFtZTogeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9LFxuXHRcdFx0bXNnOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogbmV3IE1lc3NhZ2UoLi4uYXJncykgfVxuXHRcdH0pO1xuXG5cdFx0Y29uc3QgZXJyID0gYXJnc1swXTtcblx0XHRpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdGZvciAoY29uc3QgcHJvcCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlcnIpKSB7XG5cdFx0XHRcdGlmIChwcm9wICE9PSAnbWVzc2FnZScgJiYgcHJvcCAhPT0gJ25hbWUnKSB7XG5cdFx0XHRcdFx0dGhpc1twcm9wXSA9IGVycltwcm9wXTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyB0aGUgc3RhY2sgbWF5IGhhdmUgdGhlIHdyb25nIGNsYXNzIG5hbWUsIHNvIG92ZXJyaWRlIGl0XG5cdFx0XHRpZiAodGhpcy5zdGFjaykge1xuXHRcdFx0XHR0aGlzLnN0YWNrID0gdGhpcy5zdGFjay5yZXBsYWNlKC9eKFxcdypFcnJvcjopLywgYCR7dGhpcy5uYW1lfTpgKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgdGhpcy5jb25zdHJ1Y3Rvcik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlICdlbicgbG9jYWxlIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEB0eXBlIHtTdHJpbmd9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRnZXQgbWVzc2FnZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5tc2cudG9TdHJpbmcobnVsbCwgJ1Vua25vd24gRXJyb3InKTtcblx0fVxuXG5cdHNldCBtZXNzYWdlKG1zZykge1xuXHRcdHRoaXMubXNnID0gbXNnO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBlcnJvciBzdGF0dXMuXG5cdCAqIEB0eXBlIHtOdW1iZXJ9XG5cdCAqL1xuXHRnZXQgc3RhdHVzKCkge1xuXHRcdHJldHVybiB0aGlzLm1zZy5zdGF0dXM7XG5cdH1cblxuXHRzZXQgc3RhdHVzKHZhbHVlKSB7XG5cdFx0dGhpcy5tc2cuc3RhdHVzID0gdmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGVycm9yIGNvZGUuXG5cdCAqIEB0eXBlIHtTdHJpbmd9XG5cdCAqL1xuXHRnZXQgc3RhdHVzQ29kZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5tc2cuc3RhdHVzQ29kZTtcblx0fVxuXG5cdHNldCBzdGF0dXNDb2RlKHZhbHVlKSB7XG5cdFx0dGhpcy5tc2cuc3RhdHVzQ29kZSA9IHZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZvcm1hdHMgYW5kIHJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfSBbbG9jYWxlXSAtIFRoZSBsb2NhbGUgdXNlZCB0byB0cmFuc2xhdGUgdGhlIG1lc3NhZ2UuXG5cdCAqIEByZXR1cm5zIHtTdHJpbmd9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHR0b1N0cmluZyhsb2NhbGUpIHtcblx0XHRjb25zdCBjb2RlID0gdGhpcy5tc2cuc3RhdHVzQ29kZSA/IGAgKGNvZGUgJHt0aGlzLm1zZy5zdGF0dXNDb2RlfSlgIDogJyc7XG5cdFx0cmV0dXJuIGAke3RoaXMubmFtZX06ICR7dGhpcy5tc2cudG9TdHJpbmcobG9jYWxlLCAnVW5rbm93biBFcnJvcicpfSR7Y29kZX1gO1xuXHR9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcHBjZEVycm9yLCAnbmFtZScsIHtcblx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0dmFsdWU6ICdBcHBjZEVycm9yJ1xufSk7XG5cbkFwcGNkRXJyb3IuY29kZXMgPSBjb2RlcztcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIG9uZS1vZmYgY3VzdG9tIGVycm9yIG9iamVjdHMuIEl0J3MgZXF1aXZhbGVudCB0byBjcmVhdGluZyBhIGN1c3RvbVxuICogZXJyb3IgY2xhc3MgdGhhdCBleHRlbmRzIGBBcHBjZEVycm9yYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gY2xhc3NOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGN1c3RvbSBlcnJvci5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZGVmYXVsdFN0YXR1c10gLSBBIGRlZmF1bHQgc3RhdHVzIGlmIHRoZSBlcnJvciBkb2Vzbid0IGV4cGxpY2l0bHkgaGF2ZSBvbmUuXG4gKiBAcGFyYW0ge051bWJlcn0gW29wdHMuZGVmYXVsdFN0YXR1c0NvZGVdIC0gQSBkZWZhdWx0IGNvZGUgaWYgdGhlIGVycm9yIGRvZXNuJ3QgZXhwbGljaXRseSBoYXZlIG9uZS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVycm9yQ2xhc3MoY2xhc3NOYW1lLCBvcHRzID0ge30pIHtcblx0aWYgKCFjbGFzc05hbWUgfHwgdHlwZW9mIGNsYXNzTmFtZSAhPT0gJ3N0cmluZycpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBjdXN0b20gZXJyb3IgY2xhc3MgbmFtZSB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcblx0fVxuXG5cdGlmIChvcHRzKSB7XG5cdFx0aWYgKHR5cGVvZiBvcHRzICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgb3B0aW9ucyB0byBiZSBhbiBvYmplY3QnKTtcblx0XHR9XG5cblx0XHRpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9wdHMsICdkZWZhdWx0U3RhdHVzJykgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1cyAhPT0gJ251bWJlcicpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGRlZmF1bHQgc3RhdHVzIHRvIGJlIGEgbnVtYmVyJyk7XG5cdFx0fVxuXG5cdFx0aWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvcHRzLCAnZGVmYXVsdFN0YXR1c0NvZGUnKSAmJiB0eXBlb2Ygb3B0cy5kZWZhdWx0U3RhdHVzQ29kZSAhPT0gJ251bWJlcicgJiYgdHlwZW9mIG9wdHMuZGVmYXVsdFN0YXR1c0NvZGUgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBkZWZhdWx0IHN0YXR1cyBjb2RlIHRvIGJlIGEgc3RyaW5nIG9yIG51bWJlcicpO1xuXHRcdH1cblx0fVxuXG5cdGNsYXNzIEN1c3RvbUVycm9yIGV4dGVuZHMgQXBwY2RFcnJvciB7XG5cdFx0Y29uc3RydWN0b3IoLi4uYXJncykge1xuXHRcdFx0c3VwZXIoLi4uYXJncyk7XG5cblx0XHRcdGlmICh0aGlzLm1zZy5zdGF0dXMgPT09IHVuZGVmaW5lZCAmJiBvcHRzICYmIG9wdHMuZGVmYXVsdFN0YXR1cykge1xuXHRcdFx0XHR0aGlzLm1zZy5zdGF0dXMgPSBvcHRzLmRlZmF1bHRTdGF0dXM7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLm1zZy5zdGF0dXNDb2RlID09PSB1bmRlZmluZWQgJiYgb3B0cyAmJiBvcHRzLmRlZmF1bHRTdGF0dXNDb2RlKSB7XG5cdFx0XHRcdHRoaXMubXNnLnN0YXR1c0NvZGUgPSBvcHRzLmRlZmF1bHRTdGF0dXNDb2RlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDdXN0b21FcnJvciwgJ25hbWUnLCB7XG5cdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHR2YWx1ZTogY2xhc3NOYW1lXG5cdH0pO1xuXG5cdHJldHVybiBDdXN0b21FcnJvcjtcbn1cbiJdLCJmaWxlIjoiYXBwY2QtZXJyb3IuanMifQ==

@@ -366,2 +366,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY29kZXNDYWNoZSIsInN0cmluZ3NDYWNoZSIsIm1lc3NhZ2VzRGlyIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJjb2RlUmVnRXhwIiwiZmlyc3RMaW5lUmVnRXhwIiwibG9jYWxlUmVnRXhwIiwiTWVzc2FnZSIsImNvbnN0cnVjdG9yIiwiY29kZU9yTWVzc2FnZSIsImFyZ3MiLCJwYXJzZWQiLCJFcnJvciIsIm1lc3NhZ2UiLCJwYXJzZVN0YXR1c0NvZGUiLCJzdGF0dXMiLCJzdGF0dXNDb2RlIiwidW5kZWZpbmVkIiwiZm9ybWF0IiwidW5zaGlmdCIsInNoaWZ0Iiwic2VyaWFsaXplQXJncyIsIl9zdGF0dXMiLCJ2YWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJNYXRoIiwibWF4IiwidG9TdHJpbmciLCJsb2NhbGVzIiwiZGVmYXVsdE1zZyIsIm1zZyIsImxvYWRNZXNzYWdlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwidXRpbCIsImkxOG4iLCJwcm9jZXNzTG9jYWxlcyIsIl9fIiwibG9hZFN0cmluZyIsIl9fbiIsImNvdW50Iiwic2luZ3VsYXIiLCJwbHVyYWwiLCJpbmRleE9mIiwibG9hZENvZGVGaWxlIiwiY2xzIiwiY29kZSIsImxvY2FsZSIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIm5hbWUiLCJsb29rdXAiLCJmaWxlIiwiam9pbiIsIm0iLCJmcyIsInJlYWRGaWxlU3luYyIsIm1hdGNoIiwiZSIsIlN0cmluZyIsInN0ciIsIkpTT04iLCJwYXJzZSIsImV4cGFuZGVkTG9jYWxlcyIsInB1c2giLCJtYXAiLCJzIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUVBLE1BQU1BLFVBQVUsR0FBRyxFQUFuQjtBQUNBLE1BQU1DLFlBQVksR0FBRyxFQUFyQjs7QUFDQSxNQUFN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YjtBQUNBOztBQUVELE9BQUssTUFBTW5CLE1BQVgsSUFBcUJwQixPQUFyQixFQUE4QjtBQUM3QixVQUFNNkIsQ0FBQyxHQUFHVCxNQUFNLElBQUlBLE1BQU0sQ0FBQ1ksS0FBUCxDQUFhdkQsWUFBYixDQUFwQjs7QUFDQSxRQUFJb0QsQ0FBSixFQUFPO0FBQ047QUFDQVMsTUFBQUEsZUFBZSxDQUFDQyxJQUFoQixDQUFxQm5CLE1BQXJCLEVBRk0sQ0FJTjs7QUFDQSxVQUFJUyxDQUFDLENBQUMsQ0FBRCxDQUFMLEVBQVU7QUFDVFMsUUFBQUEsZUFBZSxDQUFDQyxJQUFoQixDQUFxQlYsQ0FBQyxDQUFDLENBQUQsQ0FBdEI7QUFDQTtBQUNEO0FBQ0Q7O0FBRUQsU0FBT1MsZUFBUDtBQUNBO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTOUMsYUFBVCxDQUF1QlgsSUFBdkIsRUFBNkI7QUFDNUIsU0FBT0EsSUFBSSxDQUFDMkQsR0FBTCxDQUFTQyxDQUFDLElBQUk7QUFDcEIsV0FBTyxPQUFPQSxDQUFQLEtBQWEsUUFBYixHQUF3QkwsSUFBSSxDQUFDTSxTQUFMLENBQWVELENBQWYsQ0FBeEIsR0FBNENBLENBQW5EO0FBQ0EsR0FGTSxDQUFQO0FBR0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdXRpbCBmcm9tICd1dGlsJztcblxuaW1wb3J0IHsgbG9va3VwIH0gZnJvbSAnLi9jb2Rlcyc7XG5pbXBvcnQgeyBzcHJpbnRmIH0gZnJvbSAnc3ByaW50Zi1qcyc7XG5cbmNvbnN0IGNvZGVzQ2FjaGUgPSB7fTtcbmNvbnN0IHN0cmluZ3NDYWNoZSA9IHt9O1xuY29uc3QgbWVzc2FnZXNEaXIgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnbWVzc2FnZXMnKTtcbmNvbnN0IGNvZGVSZWdFeHAgPSAvXigoXFxkKVxcZCopKD86XFwuKFxcZCspPyk/JC87XG5jb25zdCBmaXJzdExpbmVSZWdFeHAgPSAvXiM/XFxzKiguKj8pXFxzKiQvbTtcbmNvbnN0IGxvY2FsZVJlZ0V4cCA9IC9eKFthLXpdezJ9KSg/OlstX10oPzpcXHcrWy1fXSk/KFtBLVpdezJ9KSk/JC87XG5cbi8qKlxuICogQW4gaW50ZXJuYWwgbWVzc2FnZSBjb250YWluZXIuIEl0IGlzIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgdmFyaW91cyByZXNwb25zZSBvYmplY3RzIGFuZCBub3RcbiAqIGRpcmVjdGx5LlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXNzYWdlIHtcblx0LyoqXG5cdCAqIExvYWRzIGEgbG9jYWxpemVkIG1lc3NhZ2UgYmFzZWQgb24gdGhlIGNvZGUgb3IgbWVzc2FnZS5cblx0ICpcblx0ICogQHBhcmFtIHsqfSBbY29kZU9yTWVzc2FnZV0gLSBUaGUgY29kZSBvciBtZXNzYWdlLlxuXHQgKiBAcGFyYW0gey4uLip9IFthcmdzXSAtIEFkZGl0aW9uYWwgdmFsdWVzIHRvIGVtYmVkIGluIHRoZSBtZXNzYWdlLlxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0Y29uc3RydWN0b3IoY29kZU9yTWVzc2FnZSwgLi4uYXJncykge1xuXHRcdGxldCBwYXJzZWQ7XG5cblx0XHRpZiAoY29kZU9yTWVzc2FnZSBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0XHRwYXJzZWQgPSBjb2RlT3JNZXNzYWdlO1xuXHRcdFx0Y29kZU9yTWVzc2FnZSA9IGNvZGVPck1lc3NhZ2UubWVzc2FnZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cGFyc2VkID0gcGFyc2VTdGF0dXNDb2RlKGNvZGVPck1lc3NhZ2UpO1xuXHRcdH1cblxuXHRcdHRoaXMuc3RhdHVzICAgICA9IHBhcnNlZC5zdGF0dXM7XG5cdFx0dGhpcy5zdGF0dXNDb2RlID0gcGFyc2VkLnN0YXR1c0NvZGU7XG5cblx0XHRpZiAocGFyc2VkLnN0YXR1cyA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRpZiAodHlwZW9mIGNvZGVPck1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdHRoaXMuZm9ybWF0ID0gY29kZU9yTWVzc2FnZTtcblx0XHRcdH0gZWxzZSBpZiAoY29kZU9yTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGFyZ3MudW5zaGlmdChjb2RlT3JNZXNzYWdlKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5mb3JtYXQgPSBhcmdzLnNoaWZ0KCk7XG5cblx0XHRcdGlmICh0aGlzLmZvcm1hdCBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0XHRcdHRoaXMuZm9ybWF0ID0gdGhpcy5mb3JtYXQubWVzc2FnZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLmFyZ3MgPSBzZXJpYWxpemVBcmdzKGFyZ3MpO1xuXG5cdFx0Ly8gY29uc29sZS5sb2codGhpcyk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIG1lc3NhZ2UncyBzdGF0dXMuIFRoZSB2YWx1ZSBtdXN0IGJlIGVpdGhlciBhIHBvc2l0aXZlIGludGVnZXIgb3IgYHVuZGVmaW5lZGAuXG5cdCAqXG5cdCAqIEB0eXBlIHtOdW1iZXJ9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRnZXQgc3RhdHVzKCkge1xuXHRcdHJldHVybiB0aGlzLl9zdGF0dXMgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHRoaXMuX3N0YXR1cztcblx0fVxuXG5cdHNldCBzdGF0dXModmFsdWUpIHtcblx0XHR2YWx1ZSA9IHBhcnNlSW50KHZhbHVlKTtcblx0XHR0aGlzLl9zdGF0dXMgPSBpc05hTih2YWx1ZSkgPyB1bmRlZmluZWQgOiBNYXRoLm1heCh2YWx1ZSwgMCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoaXMgZXJyb3IncyBtZXNzYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gQSBsaXN0IG9mIHByZWZlcnJlZCBsb2NhbGVzIHRvIGZvcm1hdCB0aGUgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtTdHJpbmc/fSBbZGVmYXVsdE1zZ10gLSBUaGUgZGVmYXVsdCBtZXNzYWdlIHRvIHVzZSB3aGVuIHRoZSBtZXNzYWdlIGlzIG51bGwsXG5cdCAqIHVuZGVmaW5lZCwgb3IgYW4gb2JqZWN0LlxuXHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHQgKiBAYWNjZXNzIHB1YmxpY1xuXHQgKi9cblx0dG9TdHJpbmcobG9jYWxlcywgZGVmYXVsdE1zZykge1xuXHRcdGxldCBtc2c7XG5cblx0XHQvLyBjb25zb2xlLmxvZygnXFxuZm9ybWF0JywgdGhpcy5mb3JtYXQpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdhcmdzJywgdGhpcy5hcmdzKTtcblx0XHQvLyBjb25zb2xlLmxvZygnc3RhdHVzJywgdGhpcy5zdGF0dXMpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdzdGF0dXNDb2RlJywgdGhpcy5zdGF0dXNDb2RlKTtcblxuXHRcdGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0ID8gKG1zZyA9IGxvYWRNZXNzYWdlKHRoaXMuZm9ybWF0LCBsb2NhbGVzKSkgOiBudWxsO1xuXG5cdFx0Ly8gY29uc29sZS5sb2coJ21zZycsIG1zZyk7XG5cdFx0Ly8gY29uc29sZS5sb2coJ2Zvcm1hdCcsIGZvcm1hdCk7XG5cblx0XHRpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmFyZ3MpICYmIHRoaXMuYXJncy5sZW5ndGgpIHtcblx0XHRcdGlmIChmb3JtYXQpIHtcblx0XHRcdFx0bXNnID0gdXRpbC5mb3JtYXQoZm9ybWF0LCAuLi50aGlzLmFyZ3MpO1xuXHRcdFx0fSBlbHNlIGlmIChkZWZhdWx0TXNnKSB7XG5cdFx0XHRcdG1zZyA9IHV0aWwuZm9ybWF0KCclczogJXMnLCBsb2FkTWVzc2FnZShkZWZhdWx0TXNnLCBsb2NhbGVzKSwgLi4udGhpcy5hcmdzKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG1zZyA9IHV0aWwuZm9ybWF0KCclcycsIC4uLnRoaXMuYXJncyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKG1zZyA9PT0gdW5kZWZpbmVkICYmIHRoaXMuc3RhdHVzQ29kZSkge1xuXHRcdFx0bXNnID0gbG9hZE1lc3NhZ2UodGhpcy5zdGF0dXNDb2RlLCBsb2NhbGVzKTtcblx0XHR9XG5cblx0XHRpZiAobXNnID09PSB1bmRlZmluZWQpIHtcblx0XHRcdG1zZyA9IGxvYWRNZXNzYWdlKGRlZmF1bHRNc2csIGxvY2FsZXMpO1xuXHRcdH1cblxuXHRcdC8vIGNvbnNvbGUubG9nKG1zZywgdHlwZW9mIG1zZyk7XG5cblx0XHRyZXR1cm4gbXNnID09PSB1bmRlZmluZWQgPyAnJyA6IG1zZztcblx0fVxufVxuXG4vKipcbiAqIENyZWF0ZXMgaW50ZXJuYXRpb25hbGl6ZWQgbWVzc2FnZSBmdW5jdGlvbnMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8QXJyYXkuPFN0cmluZz59IFtsb2NhbGVzXSAtIE9uZSBvciBtb3JlIGxvY2FsZXMgdGhhdCB0aGUgaTE4biBmdW5jdGlvbnMgc2hvdWxkXG4gKiB0cnkgdG8gbG9hZCB0aGUgc3RyaW5ncyBmcm9tLlxuICogQHJldHVybnMge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGkxOG4obG9jYWxlcykge1xuXHRsb2NhbGVzID0gcHJvY2Vzc0xvY2FsZXMobG9jYWxlcyk7XG5cblx0cmV0dXJuIHtcblx0XHQvKipcblx0XHQgKiBUcmFuc2xhdGVzIGEgc2luZ2xlIG1lc3NhZ2UuXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge1N0cmluZ30gZm9ybWF0IC0gVGhlIG1lc3NhZ2UuXG5cdFx0ICogQHBhcmFtIHsuLi4qfSBhcmdzIC0gWmVybyBvciBtb3JlIGFyZ3MgdG8gaW5qZWN0IGludG8gdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHJldHVybnMge1N0cmluZ31cblx0XHQgKi9cblx0XHRfXyhmb3JtYXQsIC4uLmFyZ3MpIHtcblx0XHRcdHJldHVybiB1dGlsLmZvcm1hdChsb2FkU3RyaW5nKGZvcm1hdCwgbG9jYWxlcyksIC4uLmFyZ3MpO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBUcmFuc2xhdGVzIHRoZSBzaW5ndWxhciBvciBwbHVyYWwgdmVyc2lvbiBvZiBhIG1lc3NhZ2UgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBjb3VudC5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7TnVtYmVyfSBjb3VudCAtIFRoZSBudW1iZXIgdG8gY2hlY2sgaWYgdGhlIHNpbmd1bGFyIG9yIHBsdXJhbCBtZXNzYWdlIHNob3VsZCBiZVxuXHRcdCAqIHJldHVybmVkLlxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBzaW5ndWxhciAtIFRoZSBzaW5ndWxhciB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlLlxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBwbHVyYWwgLSBUaGUgcGx1cmFsIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHBhcmFtIHsuLi4qfSBhcmdzIC0gWmVybyBvciBtb3JlIGFyZ3MgdG8gaW5qZWN0IGludG8gdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHJldHVybnMge1N0cmluZ31cblx0XHQgKi9cblx0XHRfX24oY291bnQsIHNpbmd1bGFyLCBwbHVyYWwsIC4uLmFyZ3MpIHtcblx0XHRcdGxldCBmb3JtYXQgPSBsb2FkU3RyaW5nKGNvdW50ID09PSAxID8gc2luZ3VsYXIgOiBwbHVyYWwsIGxvY2FsZXMpO1xuXHRcdFx0aWYgKCFmb3JtYXQpIHtcblx0XHRcdFx0cmV0dXJuICcnO1xuXHRcdFx0fVxuXHRcdFx0Zm9ybWF0ID0gc3ByaW50Zihmb3JtYXQsIGNvdW50KTtcblx0XHRcdGlmIChmb3JtYXQuaW5kZXhPZignJScpICE9PSAtMSkge1xuXHRcdFx0XHRmb3JtYXQgPSBzcHJpbnRmKGZvcm1hdCwgLi4uYXJncyk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZm9ybWF0O1xuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBBdHRlbXB0cyB0byBsb2FkIGEgZmlsZSBiYXNlZCBvbiB0aGUgY29kZS4gSWYgdGhlIGxvY2FsZXMgZG9lcyBub3QgY29udGFpbiAnZW4nLCB0aGVuIGl0IHdpbGwgdHJ5XG4gKiB0byBsb2FkIHRoZSAnZW4nIHZlcnNpb24uXG4gKlxuICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gbG9jYWxlcyAtIFRoZSBsb2NhbGVzIHRvIHRyeSB0byBsb29rIHVwIHRoZSBjb2RlLlxuICogQHBhcmFtIHtTdHJpbmd9IGNscyAtIFRoZSBjb2RlIGNsYXNzLlxuICogQHBhcmFtIHtTdHJpbmd9IGNvZGUgLSBUaGUgY29kZS5cbiAqIEByZXR1cm5zIHtTdHJpbmd8dW5kZWZpbmVkfVxuICovXG5mdW5jdGlvbiBsb2FkQ29kZUZpbGUobG9jYWxlcywgY2xzLCBjb2RlKSB7XG5cdGZvciAobGV0IGxvY2FsZSBvZiBsb2NhbGVzKSB7XG5cdFx0aWYgKGNvZGVzQ2FjaGVbbG9jYWxlXSAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY29kZXNDYWNoZVtsb2NhbGVdLCBjb2RlKSkge1xuXHRcdFx0cmV0dXJuIGNvZGVzQ2FjaGVbbG9jYWxlXVtjb2RlXTtcblx0XHR9XG5cblx0XHQvLyBjYWNoZSBtaXNzXG5cblx0XHRjb25zdCBuYW1lID0gbG9va3VwW2NvZGVdO1xuXHRcdGNvbnN0IGZpbGUgPSBwYXRoLmpvaW4obWVzc2FnZXNEaXIsIGxvY2FsZSwgYCR7Y2xzfXh4YCwgbmFtZSA/IGAke2NvZGV9LSR7bmFtZX0ubWRgIDogYCR7Y29kZX0ubWRgKTtcblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBtID0gZnMucmVhZEZpbGVTeW5jKGZpbGUsICd1dGY4JykubWF0Y2goZmlyc3RMaW5lUmVnRXhwKTtcblx0XHRcdGlmIChtKSB7XG5cdFx0XHRcdGNvZGVzQ2FjaGVbbG9jYWxlc10gfHwgKGNvZGVzQ2FjaGVbbG9jYWxlc10gPSB7fSk7XG5cdFx0XHRcdGNvZGVzQ2FjaGVbbG9jYWxlc11bY29kZV0gPSBtWzFdO1xuXHRcdFx0XHRyZXR1cm4gbVsxXTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyBmaWxlIHByb2JhYmx5IGRvZXNuJ3QgZXhpc3QgZm9yIHRoaXMgbG9jYWxlXG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gbG9hZCBhIG1lc3NhZ2UgZm9yIHRoZSBnaXZlbiB0aGUgc3BlY2lmaWMgY29kZSBvciBtZXNzYWdlIGFuZCB0aGUgbG9jYWxlLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfE51bWJlcn0gY29kZU9yTWVzc2FnZSAtIFRoZSBjb2RlIG9yIG1lc3NhZ2UgdG8gbG9vayB1cC5cbiAqIEBwYXJhbSB7U3RyaW5nfEFycmF5LjxTdHJpbmc+fSBbbG9jYWxlc10gLSBUaGUgbWVzc2FnZSBsb2NhbGUgdG8gcmV0cmlldmUuIEZhbGxzIGJhY2sgdG8gYGVuYFxuICogKEVuZ2xpc2gpIGlmIG5vdCBmb3VuZC5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkTWVzc2FnZShjb2RlT3JNZXNzYWdlLCBsb2NhbGVzKSB7XG5cdGlmIChjb2RlT3JNZXNzYWdlID09PSAnJXMnIHx8ICh0eXBlb2YgY29kZU9yTWVzc2FnZSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIGNvZGVPck1lc3NhZ2UgIT09ICdudW1iZXInKSkge1xuXHRcdHJldHVybiBjb2RlT3JNZXNzYWdlO1xuXHR9XG5cblx0bG9jYWxlcyA9IHByb2Nlc3NMb2NhbGVzKGxvY2FsZXMpO1xuXG5cdGNvbnN0IG0gPSBTdHJpbmcoY29kZU9yTWVzc2FnZSkubWF0Y2goY29kZVJlZ0V4cCk7XG5cdGxldCBzdHI7XG5cblx0aWYgKG0gJiYgbVsyXSkge1xuXHRcdGlmIChtWzNdKSB7XG5cdFx0XHQvLyBjb2RlIGFuZCBzdWJjb2RlXG5cdFx0XHRzdHIgPSBsb2FkQ29kZUZpbGUobG9jYWxlcywgbVsyXSwgbVswXSk7XG5cdFx0fVxuXG5cdFx0aWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHQvLyBjb2RlIG9ubHlcblx0XHRcdHN0ciA9IGxvYWRDb2RlRmlsZShsb2NhbGVzLCBtWzJdLCBtWzFdKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gc3RyO1xuXHR9XG5cblx0Ly8gbXVzdCBiZSBhIHN0cmluZ1xuXHRyZXR1cm4gbG9hZFN0cmluZyhjb2RlT3JNZXNzYWdlLCBsb2NhbGVzKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHRyYW5zbGF0ZWQgc3RyaW5nIGJhc2VkIG9uIHRoZSBsaXN0IG9mIHByZWZlcnJlZCBsb2NhbGVzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gbG9hZC5cbiAqIEBwYXJhbSB7QXJyYXkuPFN0cmluZz59IGxvY2FsZXMgLSBBbiBhcnJheSBvZiBvbmUgb3IgbW9yZSBsb2NhbGVzIHRvIHRyeSB0byBsb2FkIHRoZSBzdHJpbmcgZnJvbS5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIGxvYWRTdHJpbmcobWVzc2FnZSwgbG9jYWxlcykge1xuXHRpZiAoIW1lc3NhZ2UpIHtcblx0XHRyZXR1cm4gJyc7XG5cdH1cblxuXHRmb3IgKGxldCBsb2NhbGUgb2YgbG9jYWxlcykge1xuXHRcdGlmICghc3RyaW5nc0NhY2hlW2xvY2FsZV0pIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHN0cmluZ3NDYWNoZVtsb2NhbGVdID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKG1lc3NhZ2VzRGlyLCBsb2NhbGUsICdzdHJpbmdzLmpzb24nKSwgJ3V0ZjgnKSk7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIGZpbGUgcHJvYmFibHkgZG9lc24ndCBleGlzdCBmb3IgdGhpcyBsb2NhbGVcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoc3RyaW5nc0NhY2hlW2xvY2FsZV0pIHtcblx0XHRcdGNvbnN0IHN0ciA9IHN0cmluZ3NDYWNoZVtsb2NhbGVdW21lc3NhZ2VdO1xuXHRcdFx0aWYgKHN0ciAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHJldHVybiBzdHI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIG1lc3NhZ2U7XG59XG5cbi8qKlxuICogVHJpZXMgdG8gcGFyc2VzIHRoZSBzdGF0dXMgYW5kIHN0YXR1cyBjb2RlIGZyb20gdGhlIHN1cHBsaWVkIHZhcmlhYmxlLlxuICpcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgLSBUaGUgdmFyaWFibGUgdG8gcGFyc2UuXG4gKiBAcmV0dXJucyB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBwYXJzZVN0YXR1c0NvZGUodmFsdWUpIHtcblx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcblx0XHRpZiAoIWlzTmFOKHZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3RhdHVzOiB2YWx1ZSxcblx0XHRcdFx0c3RhdHVzQ29kZTogdmFsdWVcblx0XHRcdH07XG5cdFx0fVxuXHR9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUpIHtcblx0XHRjb25zdCBtID0gdmFsdWUubWF0Y2goY29kZVJlZ0V4cCk7XG5cdFx0aWYgKG0pIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN0YXR1czogcGFyc2VJbnQobVsxXSksXG5cdFx0XHRcdHN0YXR1c0NvZGU6IHZhbHVlXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiB7fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGV4cGFuZGVkIGFycmF5IG9mIGxvY2FsZXMuIElmIGBlbi1VU2AgaXMgcGFzc2VkIGluLCB0aGVuIGl0IHJldHVybnMgYFsnZW4tVVMnLCAnZW4nXWAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8QXJyYXkuPFN0cmluZz59IFtsb2NhbGVzXSAtIE9uZSBvciBtb3JlIGxvY2FsZXMgdG8gZXhwYW5kLlxuICogQHJldHVybiB7QXJyYXkuPFN0cmluZz59XG4gKi9cbmZ1bmN0aW9uIHByb2Nlc3NMb2NhbGVzKGxvY2FsZXMpIHtcblx0Ly8gY3JlYXRlIHRoZSBsaXN0IG9mIHByZWZlcnJlZCBsb2NhbGVzIHRvIHRyeVxuXHRjb25zdCBleHBhbmRlZExvY2FsZXMgPSBbXTtcblxuXHRpZiAoIWxvY2FsZXMpIHtcblx0XHRsb2NhbGVzID0gW107XG5cdH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkobG9jYWxlcykpIHtcblx0XHRsb2NhbGVzID0gWyBsb2NhbGVzIF07XG5cdH1cblx0aWYgKGxvY2FsZXMuaW5kZXhPZignZW4nKSA9PT0gLTEpIHtcblx0XHRsb2NhbGVzLnB1c2goJ2VuJyk7XG5cdH1cblxuXHRmb3IgKGNvbnN0IGxvY2FsZSBvZiBsb2NhbGVzKSB7XG5cdFx0Y29uc3QgbSA9IGxvY2FsZSAmJiBsb2NhbGUubWF0Y2gobG9jYWxlUmVnRXhwKTtcblx0XHRpZiAobSkge1xuXHRcdFx0Ly8gYWRkIHRoZSBvcmlnaW5hbCBsb2NhbGVcblx0XHRcdGV4cGFuZGVkTG9jYWxlcy5wdXNoKGxvY2FsZSk7XG5cblx0XHRcdC8vIGlmIHdlIGhhdmUgYSB0ZXJyaXRvcnksIHRoZW4gYWRkIGp1c3QgdGhlIGxhbmd1YWdlXG5cdFx0XHRpZiAobVsyXSkge1xuXHRcdFx0XHRleHBhbmRlZExvY2FsZXMucHVzaChtWzFdKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gZXhwYW5kZWRMb2NhbGVzO1xufVxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgb2JqZWN0IGFuZCBhcnJheSBlbGVtZW50cyBvZiB0aGUgYXJncyBhcnJheSB0byBzdHJpbmdzLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgLSBUaGUgYXJyYXkgb2YgYXJndW1lbnRzIHRvIHNlcmlhbGl6ZS5cbiAqIEByZXR1cm4ge0FycmF5fVxuICovXG5mdW5jdGlvbiBzZXJpYWxpemVBcmdzKGFyZ3MpIHtcblx0cmV0dXJuIGFyZ3MubWFwKHMgPT4ge1xuXHRcdHJldHVybiB0eXBlb2YgcyA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShzKSA6IHM7XG5cdH0pO1xufVxuIl0sImZpbGUiOiJtZXNzYWdlLmpzIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UuanMiXSwibmFtZXMiOlsiY29kZXNDYWNoZSIsInN0cmluZ3NDYWNoZSIsIm1lc3NhZ2VzRGlyIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJjb2RlUmVnRXhwIiwiZmlyc3RMaW5lUmVnRXhwIiwibG9jYWxlUmVnRXhwIiwiTWVzc2FnZSIsImNvbnN0cnVjdG9yIiwiY29kZU9yTWVzc2FnZSIsImFyZ3MiLCJwYXJzZWQiLCJFcnJvciIsIm1lc3NhZ2UiLCJwYXJzZVN0YXR1c0NvZGUiLCJzdGF0dXMiLCJzdGF0dXNDb2RlIiwidW5kZWZpbmVkIiwiZm9ybWF0IiwidW5zaGlmdCIsInNoaWZ0Iiwic2VyaWFsaXplQXJncyIsIl9zdGF0dXMiLCJ2YWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJNYXRoIiwibWF4IiwidG9TdHJpbmciLCJsb2NhbGVzIiwiZGVmYXVsdE1zZyIsIm1zZyIsImxvYWRNZXNzYWdlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwidXRpbCIsImkxOG4iLCJwcm9jZXNzTG9jYWxlcyIsIl9fIiwibG9hZFN0cmluZyIsIl9fbiIsImNvdW50Iiwic2luZ3VsYXIiLCJwbHVyYWwiLCJpbmRleE9mIiwibG9hZENvZGVGaWxlIiwiY2xzIiwiY29kZSIsImxvY2FsZSIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIm5hbWUiLCJsb29rdXAiLCJmaWxlIiwiam9pbiIsIm0iLCJmcyIsInJlYWRGaWxlU3luYyIsIm1hdGNoIiwiZSIsIlN0cmluZyIsInN0ciIsIkpTT04iLCJwYXJzZSIsImV4cGFuZGVkTG9jYWxlcyIsInB1c2giLCJtYXAiLCJzIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUVBLE1BQU1BLFVBQVUsR0FBRyxFQUFuQjtBQUNBLE1BQU1DLFlBQVksR0FBRyxFQUFyQjs7QUFDQSxNQUFN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O0FBQ0E7O0FBRUQsT0FBSyxNQUFNbkIsTUFBWCxJQUFxQnBCLE9BQXJCLEVBQThCO0FBQzdCLFVBQU02QixDQUFDLEdBQUdULE1BQU0sSUFBSUEsTUFBTSxDQUFDWSxLQUFQLENBQWF2RCxZQUFiLENBQXBCOztBQUNBLFFBQUlvRCxDQUFKLEVBQU87QUFDTjtBQUNBUyxNQUFBQSxlQUFlLENBQUNDLElBQWhCLENBQXFCbkIsTUFBckIsRUFGTSxDQUlOOztBQUNBLFVBQUlTLENBQUMsQ0FBQyxDQUFELENBQUwsRUFBVTtBQUNUUyxRQUFBQSxlQUFlLENBQUNDLElBQWhCLENBQXFCVixDQUFDLENBQUMsQ0FBRCxDQUF0QjtBQUNBO0FBQ0Q7QUFDRDs7QUFFRCxTQUFPUyxlQUFQO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVM5QyxhQUFULENBQXVCWCxJQUF2QixFQUE2QjtBQUM1QixTQUFPQSxJQUFJLENBQUMyRCxHQUFMLENBQVNDLENBQUMsSUFBSTtBQUNwQixXQUFPLE9BQU9BLENBQVAsS0FBYSxRQUFiLEdBQXdCTCxJQUFJLENBQUNNLFNBQUwsQ0FBZUQsQ0FBZixDQUF4QixHQUE0Q0EsQ0FBbkQ7QUFDQSxHQUZNLENBQVA7QUFHQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB1dGlsIGZyb20gJ3V0aWwnO1xuXG5pbXBvcnQgeyBsb29rdXAgfSBmcm9tICcuL2NvZGVzJztcbmltcG9ydCB7IHNwcmludGYgfSBmcm9tICdzcHJpbnRmLWpzJztcblxuY29uc3QgY29kZXNDYWNoZSA9IHt9O1xuY29uc3Qgc3RyaW5nc0NhY2hlID0ge307XG5jb25zdCBtZXNzYWdlc0RpciA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdtZXNzYWdlcycpO1xuY29uc3QgY29kZVJlZ0V4cCA9IC9eKChcXGQpXFxkKikoPzpcXC4oXFxkKyk/KT8kLztcbmNvbnN0IGZpcnN0TGluZVJlZ0V4cCA9IC9eIz9cXHMqKC4qPylcXHMqJC9tO1xuY29uc3QgbG9jYWxlUmVnRXhwID0gL14oW2Etel17Mn0pKD86Wy1fXSg/OlxcdytbLV9dKT8oW0EtWl17Mn0pKT8kLztcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCBtZXNzYWdlIGNvbnRhaW5lci4gSXQgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBieSB2YXJpb3VzIHJlc3BvbnNlIG9iamVjdHMgYW5kIG5vdFxuICogZGlyZWN0bHkuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lc3NhZ2Uge1xuXHQvKipcblx0ICogTG9hZHMgYSBsb2NhbGl6ZWQgbWVzc2FnZSBiYXNlZCBvbiB0aGUgY29kZSBvciBtZXNzYWdlLlxuXHQgKlxuXHQgKiBAcGFyYW0geyp9IFtjb2RlT3JNZXNzYWdlXSAtIFRoZSBjb2RlIG9yIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIC0gQWRkaXRpb25hbCB2YWx1ZXMgdG8gZW1iZWQgaW4gdGhlIG1lc3NhZ2UuXG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihjb2RlT3JNZXNzYWdlLCAuLi5hcmdzKSB7XG5cdFx0bGV0IHBhcnNlZDtcblxuXHRcdGlmIChjb2RlT3JNZXNzYWdlIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdHBhcnNlZCA9IGNvZGVPck1lc3NhZ2U7XG5cdFx0XHRjb2RlT3JNZXNzYWdlID0gY29kZU9yTWVzc2FnZS5tZXNzYWdlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRwYXJzZWQgPSBwYXJzZVN0YXR1c0NvZGUoY29kZU9yTWVzc2FnZSk7XG5cdFx0fVxuXG5cdFx0dGhpcy5zdGF0dXMgICAgID0gcGFyc2VkLnN0YXR1cztcblx0XHR0aGlzLnN0YXR1c0NvZGUgPSBwYXJzZWQuc3RhdHVzQ29kZTtcblxuXHRcdGlmIChwYXJzZWQuc3RhdHVzID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGlmICh0eXBlb2YgY29kZU9yTWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdFx0dGhpcy5mb3JtYXQgPSBjb2RlT3JNZXNzYWdlO1xuXHRcdFx0fSBlbHNlIGlmIChjb2RlT3JNZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0YXJncy51bnNoaWZ0KGNvZGVPck1lc3NhZ2UpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmZvcm1hdCA9IGFyZ3Muc2hpZnQoKTtcblxuXHRcdFx0aWYgKHRoaXMuZm9ybWF0IGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdFx0dGhpcy5mb3JtYXQgPSB0aGlzLmZvcm1hdC5tZXNzYWdlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRoaXMuYXJncyA9IHNlcmlhbGl6ZUFyZ3MoYXJncyk7XG5cblx0XHQvLyBjb25zb2xlLmxvZyh0aGlzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgbWVzc2FnZSdzIHN0YXR1cy4gVGhlIHZhbHVlIG11c3QgYmUgZWl0aGVyIGEgcG9zaXRpdmUgaW50ZWdlciBvciBgdW5kZWZpbmVkYC5cblx0ICpcblx0ICogQHR5cGUge051bWJlcn1cblx0ICogQGFjY2VzcyBwdWJsaWNcblx0ICovXG5cdGdldCBzdGF0dXMoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3N0YXR1cyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogdGhpcy5fc3RhdHVzO1xuXHR9XG5cblx0c2V0IHN0YXR1cyh2YWx1ZSkge1xuXHRcdHZhbHVlID0gcGFyc2VJbnQodmFsdWUpO1xuXHRcdHRoaXMuX3N0YXR1cyA9IGlzTmFOKHZhbHVlKSA/IHVuZGVmaW5lZCA6IE1hdGgubWF4KHZhbHVlLCAwKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhpcyBlcnJvcidzIG1lc3NhZ2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7U3RyaW5nfEFycmF5LjxTdHJpbmc+fSBbbG9jYWxlc10gLSBBIGxpc3Qgb2YgcHJlZmVycmVkIGxvY2FsZXMgdG8gZm9ybWF0IHRoZSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1N0cmluZz99IFtkZWZhdWx0TXNnXSAtIFRoZSBkZWZhdWx0IG1lc3NhZ2UgdG8gdXNlIHdoZW4gdGhlIG1lc3NhZ2UgaXMgbnVsbCxcblx0ICogdW5kZWZpbmVkLCBvciBhbiBvYmplY3QuXG5cdCAqIEByZXR1cm5zIHtTdHJpbmd9XG5cdCAqIEBhY2Nlc3MgcHVibGljXG5cdCAqL1xuXHR0b1N0cmluZyhsb2NhbGVzLCBkZWZhdWx0TXNnKSB7XG5cdFx0bGV0IG1zZztcblxuXHRcdC8vIGNvbnNvbGUubG9nKCdcXG5mb3JtYXQnLCB0aGlzLmZvcm1hdCk7XG5cdFx0Ly8gY29uc29sZS5sb2coJ2FyZ3MnLCB0aGlzLmFyZ3MpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdzdGF0dXMnLCB0aGlzLnN0YXR1cyk7XG5cdFx0Ly8gY29uc29sZS5sb2coJ3N0YXR1c0NvZGUnLCB0aGlzLnN0YXR1c0NvZGUpO1xuXG5cdFx0Y29uc3QgZm9ybWF0ID0gdGhpcy5mb3JtYXQgPyAobXNnID0gbG9hZE1lc3NhZ2UodGhpcy5mb3JtYXQsIGxvY2FsZXMpKSA6IG51bGw7XG5cblx0XHQvLyBjb25zb2xlLmxvZygnbXNnJywgbXNnKTtcblx0XHQvLyBjb25zb2xlLmxvZygnZm9ybWF0JywgZm9ybWF0KTtcblxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuYXJncykgJiYgdGhpcy5hcmdzLmxlbmd0aCkge1xuXHRcdFx0aWYgKGZvcm1hdCkge1xuXHRcdFx0XHRtc2cgPSB1dGlsLmZvcm1hdChmb3JtYXQsIC4uLnRoaXMuYXJncyk7XG5cdFx0XHR9IGVsc2UgaWYgKGRlZmF1bHRNc2cpIHtcblx0XHRcdFx0bXNnID0gdXRpbC5mb3JtYXQoJyVzOiAlcycsIGxvYWRNZXNzYWdlKGRlZmF1bHRNc2csIGxvY2FsZXMpLCAuLi50aGlzLmFyZ3MpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0bXNnID0gdXRpbC5mb3JtYXQoJyVzJywgLi4udGhpcy5hcmdzKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAobXNnID09PSB1bmRlZmluZWQgJiYgdGhpcy5zdGF0dXNDb2RlKSB7XG5cdFx0XHRtc2cgPSBsb2FkTWVzc2FnZSh0aGlzLnN0YXR1c0NvZGUsIGxvY2FsZXMpO1xuXHRcdH1cblxuXHRcdGlmIChtc2cgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0bXNnID0gbG9hZE1lc3NhZ2UoZGVmYXVsdE1zZywgbG9jYWxlcyk7XG5cdFx0fVxuXG5cdFx0Ly8gY29uc29sZS5sb2cobXNnLCB0eXBlb2YgbXNnKTtcblxuXHRcdHJldHVybiBtc2cgPT09IHVuZGVmaW5lZCA/ICcnIDogbXNnO1xuXHR9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBpbnRlcm5hdGlvbmFsaXplZCBtZXNzYWdlIGZ1bmN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gT25lIG9yIG1vcmUgbG9jYWxlcyB0aGF0IHRoZSBpMThuIGZ1bmN0aW9ucyBzaG91bGRcbiAqIHRyeSB0byBsb2FkIHRoZSBzdHJpbmdzIGZyb20uXG4gKiBAcmV0dXJucyB7T2JqZWN0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gaTE4bihsb2NhbGVzKSB7XG5cdGxvY2FsZXMgPSBwcm9jZXNzTG9jYWxlcyhsb2NhbGVzKTtcblxuXHRyZXR1cm4ge1xuXHRcdC8qKlxuXHRcdCAqIFRyYW5zbGF0ZXMgYSBzaW5nbGUgbWVzc2FnZS5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7U3RyaW5nfSBmb3JtYXQgLSBUaGUgbWVzc2FnZS5cblx0XHQgKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBaZXJvIG9yIG1vcmUgYXJncyB0byBpbmplY3QgaW50byB0aGUgbWVzc2FnZS5cblx0XHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdF9fKGZvcm1hdCwgLi4uYXJncykge1xuXHRcdFx0cmV0dXJuIHV0aWwuZm9ybWF0KGxvYWRTdHJpbmcoZm9ybWF0LCBsb2NhbGVzKSwgLi4uYXJncyk7XG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIFRyYW5zbGF0ZXMgdGhlIHNpbmd1bGFyIG9yIHBsdXJhbCB2ZXJzaW9uIG9mIGEgbWVzc2FnZSBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIGNvdW50LlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtOdW1iZXJ9IGNvdW50IC0gVGhlIG51bWJlciB0byBjaGVjayBpZiB0aGUgc2luZ3VsYXIgb3IgcGx1cmFsIG1lc3NhZ2Ugc2hvdWxkIGJlXG5cdFx0ICogcmV0dXJuZWQuXG5cdFx0ICogQHBhcmFtIHtTdHJpbmd9IHNpbmd1bGFyIC0gVGhlIHNpbmd1bGFyIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UuXG5cdFx0ICogQHBhcmFtIHtTdHJpbmd9IHBsdXJhbCAtIFRoZSBwbHVyYWwgdmVyc2lvbiBvZiB0aGUgbWVzc2FnZS5cblx0XHQgKiBAcGFyYW0gey4uLip9IGFyZ3MgLSBaZXJvIG9yIG1vcmUgYXJncyB0byBpbmplY3QgaW50byB0aGUgbWVzc2FnZS5cblx0XHQgKiBAcmV0dXJucyB7U3RyaW5nfVxuXHRcdCAqL1xuXHRcdF9fbihjb3VudCwgc2luZ3VsYXIsIHBsdXJhbCwgLi4uYXJncykge1xuXHRcdFx0bGV0IGZvcm1hdCA9IGxvYWRTdHJpbmcoY291bnQgPT09IDEgPyBzaW5ndWxhciA6IHBsdXJhbCwgbG9jYWxlcyk7XG5cdFx0XHRpZiAoIWZvcm1hdCkge1xuXHRcdFx0XHRyZXR1cm4gJyc7XG5cdFx0XHR9XG5cdFx0XHRmb3JtYXQgPSBzcHJpbnRmKGZvcm1hdCwgY291bnQpO1xuXHRcdFx0aWYgKGZvcm1hdC5pbmRleE9mKCclJykgIT09IC0xKSB7XG5cdFx0XHRcdGZvcm1hdCA9IHNwcmludGYoZm9ybWF0LCAuLi5hcmdzKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmb3JtYXQ7XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIEF0dGVtcHRzIHRvIGxvYWQgYSBmaWxlIGJhc2VkIG9uIHRoZSBjb2RlLiBJZiB0aGUgbG9jYWxlcyBkb2VzIG5vdCBjb250YWluICdlbicsIHRoZW4gaXQgd2lsbCB0cnlcbiAqIHRvIGxvYWQgdGhlICdlbicgdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0ge0FycmF5LjxTdHJpbmc+fSBsb2NhbGVzIC0gVGhlIGxvY2FsZXMgdG8gdHJ5IHRvIGxvb2sgdXAgdGhlIGNvZGUuXG4gKiBAcGFyYW0ge1N0cmluZ30gY2xzIC0gVGhlIGNvZGUgY2xhc3MuXG4gKiBAcGFyYW0ge1N0cmluZ30gY29kZSAtIFRoZSBjb2RlLlxuICogQHJldHVybnMge1N0cmluZ3x1bmRlZmluZWR9XG4gKi9cbmZ1bmN0aW9uIGxvYWRDb2RlRmlsZShsb2NhbGVzLCBjbHMsIGNvZGUpIHtcblx0Zm9yIChsZXQgbG9jYWxlIG9mIGxvY2FsZXMpIHtcblx0XHRpZiAoY29kZXNDYWNoZVtsb2NhbGVdICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb2Rlc0NhY2hlW2xvY2FsZV0sIGNvZGUpKSB7XG5cdFx0XHRyZXR1cm4gY29kZXNDYWNoZVtsb2NhbGVdW2NvZGVdO1xuXHRcdH1cblxuXHRcdC8vIGNhY2hlIG1pc3NcblxuXHRcdGNvbnN0IG5hbWUgPSBsb29rdXBbY29kZV07XG5cdFx0Y29uc3QgZmlsZSA9IHBhdGguam9pbihtZXNzYWdlc0RpciwgbG9jYWxlLCBgJHtjbHN9eHhgLCBuYW1lID8gYCR7Y29kZX0tJHtuYW1lfS5tZGAgOiBgJHtjb2RlfS5tZGApO1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG0gPSBmcy5yZWFkRmlsZVN5bmMoZmlsZSwgJ3V0ZjgnKS5tYXRjaChmaXJzdExpbmVSZWdFeHApO1xuXHRcdFx0aWYgKG0pIHtcblx0XHRcdFx0Y29kZXNDYWNoZVtsb2NhbGVzXSB8fCAoY29kZXNDYWNoZVtsb2NhbGVzXSA9IHt9KTtcblx0XHRcdFx0Y29kZXNDYWNoZVtsb2NhbGVzXVtjb2RlXSA9IG1bMV07XG5cdFx0XHRcdHJldHVybiBtWzFdO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdC8vIGZpbGUgcHJvYmFibHkgZG9lc24ndCBleGlzdCBmb3IgdGhpcyBsb2NhbGVcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0cyB0byBsb2FkIGEgbWVzc2FnZSBmb3IgdGhlIGdpdmVuIHRoZSBzcGVjaWZpYyBjb2RlIG9yIG1lc3NhZ2UgYW5kIHRoZSBsb2NhbGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8TnVtYmVyfSBjb2RlT3JNZXNzYWdlIC0gVGhlIGNvZGUgb3IgbWVzc2FnZSB0byBsb29rIHVwLlxuICogQHBhcmFtIHtTdHJpbmd8QXJyYXkuPFN0cmluZz59IFtsb2NhbGVzXSAtIFRoZSBtZXNzYWdlIGxvY2FsZSB0byByZXRyaWV2ZS4gRmFsbHMgYmFjayB0byBgZW5gXG4gKiAoRW5nbGlzaCkgaWYgbm90IGZvdW5kLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRNZXNzYWdlKGNvZGVPck1lc3NhZ2UsIGxvY2FsZXMpIHtcblx0aWYgKGNvZGVPck1lc3NhZ2UgPT09ICclcycgfHwgKHR5cGVvZiBjb2RlT3JNZXNzYWdlICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgY29kZU9yTWVzc2FnZSAhPT0gJ251bWJlcicpKSB7XG5cdFx0cmV0dXJuIGNvZGVPck1lc3NhZ2U7XG5cdH1cblxuXHRsb2NhbGVzID0gcHJvY2Vzc0xvY2FsZXMobG9jYWxlcyk7XG5cblx0Y29uc3QgbSA9IFN0cmluZyhjb2RlT3JNZXNzYWdlKS5tYXRjaChjb2RlUmVnRXhwKTtcblx0bGV0IHN0cjtcblxuXHRpZiAobSAmJiBtWzJdKSB7XG5cdFx0aWYgKG1bM10pIHtcblx0XHRcdC8vIGNvZGUgYW5kIHN1YmNvZGVcblx0XHRcdHN0ciA9IGxvYWRDb2RlRmlsZShsb2NhbGVzLCBtWzJdLCBtWzBdKTtcblx0XHR9XG5cblx0XHRpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vIGNvZGUgb25seVxuXHRcdFx0c3RyID0gbG9hZENvZGVGaWxlKGxvY2FsZXMsIG1bMl0sIG1bMV0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBzdHI7XG5cdH1cblxuXHQvLyBtdXN0IGJlIGEgc3RyaW5nXG5cdHJldHVybiBsb2FkU3RyaW5nKGNvZGVPck1lc3NhZ2UsIGxvY2FsZXMpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdHJhbnNsYXRlZCBzdHJpbmcgYmFzZWQgb24gdGhlIGxpc3Qgb2YgcHJlZmVycmVkIGxvY2FsZXMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBsb2FkLlxuICogQHBhcmFtIHtBcnJheS48U3RyaW5nPn0gbG9jYWxlcyAtIEFuIGFycmF5IG9mIG9uZSBvciBtb3JlIGxvY2FsZXMgdG8gdHJ5IHRvIGxvYWQgdGhlIHN0cmluZyBmcm9tLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gbG9hZFN0cmluZyhtZXNzYWdlLCBsb2NhbGVzKSB7XG5cdGlmICghbWVzc2FnZSkge1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdGZvciAobGV0IGxvY2FsZSBvZiBsb2NhbGVzKSB7XG5cdFx0aWYgKCFzdHJpbmdzQ2FjaGVbbG9jYWxlXSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0c3RyaW5nc0NhY2hlW2xvY2FsZV0gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4obWVzc2FnZXNEaXIsIGxvY2FsZSwgJ3N0cmluZ3MuanNvbicpLCAndXRmOCcpKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Ly8gZmlsZSBwcm9iYWJseSBkb2Vzbid0IGV4aXN0IGZvciB0aGlzIGxvY2FsZVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChzdHJpbmdzQ2FjaGVbbG9jYWxlXSkge1xuXHRcdFx0Y29uc3Qgc3RyID0gc3RyaW5nc0NhY2hlW2xvY2FsZV1bbWVzc2FnZV07XG5cdFx0XHRpZiAoc3RyICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0cmV0dXJuIHN0cjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gbWVzc2FnZTtcbn1cblxuLyoqXG4gKiBUcmllcyB0byBwYXJzZXMgdGhlIHN0YXR1cyBhbmQgc3RhdHVzIGNvZGUgZnJvbSB0aGUgc3VwcGxpZWQgdmFyaWFibGUuXG4gKlxuICogQHBhcmFtIHsqfSB2YWx1ZSAtIFRoZSB2YXJpYWJsZSB0byBwYXJzZS5cbiAqIEByZXR1cm5zIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBhcnNlU3RhdHVzQ29kZSh2YWx1ZSkge1xuXHRpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuXHRcdGlmICghaXNOYU4odmFsdWUpKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdGF0dXM6IHZhbHVlLFxuXHRcdFx0XHRzdGF0dXNDb2RlOiB2YWx1ZVxuXHRcdFx0fTtcblx0XHR9XG5cdH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSkge1xuXHRcdGNvbnN0IG0gPSB2YWx1ZS5tYXRjaChjb2RlUmVnRXhwKTtcblx0XHRpZiAobSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3RhdHVzOiBwYXJzZUludChtWzFdKSxcblx0XHRcdFx0c3RhdHVzQ29kZTogdmFsdWVcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHt9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gZXhwYW5kZWQgYXJyYXkgb2YgbG9jYWxlcy4gSWYgYGVuLVVTYCBpcyBwYXNzZWQgaW4sIHRoZW4gaXQgcmV0dXJucyBgWydlbi1VUycsICdlbiddYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xBcnJheS48U3RyaW5nPn0gW2xvY2FsZXNdIC0gT25lIG9yIG1vcmUgbG9jYWxlcyB0byBleHBhbmQuXG4gKiBAcmV0dXJuIHtBcnJheS48U3RyaW5nPn1cbiAqL1xuZnVuY3Rpb24gcHJvY2Vzc0xvY2FsZXMobG9jYWxlcykge1xuXHQvLyBjcmVhdGUgdGhlIGxpc3Qgb2YgcHJlZmVycmVkIGxvY2FsZXMgdG8gdHJ5XG5cdGNvbnN0IGV4cGFuZGVkTG9jYWxlcyA9IFtdO1xuXG5cdGlmICghbG9jYWxlcykge1xuXHRcdGxvY2FsZXMgPSBbXTtcblx0fSBlbHNlIGlmICghQXJyYXkuaXNBcnJheShsb2NhbGVzKSkge1xuXHRcdGxvY2FsZXMgPSBbIGxvY2FsZXMgXTtcblx0fVxuXHRpZiAobG9jYWxlcy5pbmRleE9mKCdlbicpID09PSAtMSkge1xuXHRcdGxvY2FsZXMucHVzaCgnZW4nKTtcblx0fVxuXG5cdGZvciAoY29uc3QgbG9jYWxlIG9mIGxvY2FsZXMpIHtcblx0XHRjb25zdCBtID0gbG9jYWxlICYmIGxvY2FsZS5tYXRjaChsb2NhbGVSZWdFeHApO1xuXHRcdGlmIChtKSB7XG5cdFx0XHQvLyBhZGQgdGhlIG9yaWdpbmFsIGxvY2FsZVxuXHRcdFx0ZXhwYW5kZWRMb2NhbGVzLnB1c2gobG9jYWxlKTtcblxuXHRcdFx0Ly8gaWYgd2UgaGF2ZSBhIHRlcnJpdG9yeSwgdGhlbiBhZGQganVzdCB0aGUgbGFuZ3VhZ2Vcblx0XHRcdGlmIChtWzJdKSB7XG5cdFx0XHRcdGV4cGFuZGVkTG9jYWxlcy5wdXNoKG1bMV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBleHBhbmRlZExvY2FsZXM7XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBvYmplY3QgYW5kIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBhcmdzIGFycmF5IHRvIHN0cmluZ3MuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gYXJncyAtIFRoZSBhcnJheSBvZiBhcmd1bWVudHMgdG8gc2VyaWFsaXplLlxuICogQHJldHVybiB7QXJyYXl9XG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZUFyZ3MoYXJncykge1xuXHRyZXR1cm4gYXJncy5tYXAocyA9PiB7XG5cdFx0cmV0dXJuIHR5cGVvZiBzID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHMpIDogcztcblx0fSk7XG59XG4iXSwiZmlsZSI6Im1lc3NhZ2UuanMifQ==
{
"name": "appcd-response",
"version": "3.0.4",
"version": "3.0.5",
"description": "Library for responses and errors with i18n support and error codes.",

@@ -19,4 +19,4 @@ "main": "./dist/index",

"dependencies": {
"appcd-fs": "^2.0.4",
"appcd-path": "^2.0.5",
"appcd-fs": "^2.0.5",
"appcd-path": "^2.0.6",
"source-map-support": "^0.5.19",

@@ -26,3 +26,3 @@ "sprintf-js": "^1.1.2"

"devDependencies": {
"appcd-gulp": "^3.1.3"
"appcd-gulp": "^3.1.4"
},

@@ -35,3 +35,3 @@ "homepage": "https://github.com/appcelerator/appc-daemon",

},
"gitHead": "87423a5b2703f4ce7e34abcb9713b88cb9e81f27"
"gitHead": "d25f619f40060bc794408300bf516b822c637902"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc