verdaccio 5.4.0 → 5.6.0
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/CHANGELOG.md +56 -0
- package/CODE_OF_CONDUCT.md +10 -10
- package/CONTRIBUTING.md +28 -27
- package/SECURITY.md +8 -9
- package/build/api/debug/index.js +1 -1
- package/build/api/endpoint/api/dist-tags.js +4 -4
- package/build/api/endpoint/api/package.js +3 -3
- package/build/api/endpoint/api/ping.js +1 -1
- package/build/api/endpoint/api/publish.js +11 -11
- package/build/api/endpoint/api/star.js +5 -5
- package/build/api/endpoint/api/stars.js +1 -1
- package/build/api/endpoint/api/user.js +6 -6
- package/build/api/endpoint/api/v1/index.js +1 -1
- package/build/api/endpoint/api/v1/profile.js +4 -4
- package/build/api/endpoint/api/v1/search.js +4 -4
- package/build/api/endpoint/api/v1/token.js +8 -8
- package/build/api/endpoint/api/whoami.js +1 -1
- package/build/api/endpoint/index.js +9 -9
- package/build/api/index.js +13 -13
- package/build/api/middleware.js +6 -6
- package/build/api/rate-limiter.js +3 -3
- package/build/api/web/api.js +3 -3
- package/build/api/web/endpoint/index.js +10 -4
- package/build/api/web/endpoint/package.js +9 -9
- package/build/api/web/endpoint/search.js +3 -3
- package/build/api/web/endpoint/user.js +4 -4
- package/build/api/web/html/renderHTML.js +13 -9
- package/build/api/web/html/template.js +1 -1
- package/build/api/web/index.js +10 -10
- package/build/config/env.js +1 -1
- package/build/index.js +1 -1
- package/build/lib/auth-utils.js +5 -5
- package/build/lib/auth.js +7 -17
- package/build/lib/bootstrap.js +8 -8
- package/build/lib/cli/cli.js +3 -3
- package/build/lib/cli/commands/info.js +3 -3
- package/build/lib/cli/commands/init.js +3 -3
- package/build/lib/cli/commands/version.js +1 -1
- package/build/lib/cli/utils.js +3 -3
- package/build/lib/config-path.js +3 -3
- package/build/lib/config-utils.js +3 -3
- package/build/lib/config.js +8 -32
- package/build/lib/crypto-utils.js +3 -3
- package/build/lib/local-storage.js +7 -15
- package/build/lib/logger/formatter/index.js +1 -1
- package/build/lib/logger/formatter/prettifier.js +3 -3
- package/build/lib/logger/levels.js +1 -1
- package/build/lib/logger/logger.js +10 -6
- package/build/lib/logger/utils.js +1 -1
- package/build/lib/metadata-utils.js +3 -3
- package/build/lib/notify/index.js +3 -3
- package/build/lib/notify/notify-request.js +5 -5
- package/build/lib/plugin-loader.js +4 -4
- package/build/lib/search.js +2 -6
- package/build/lib/storage-utils.js +3 -3
- package/build/lib/storage.js +10 -22
- package/build/lib/up-storage.js +9 -43
- package/build/lib/uplink-util.js +1 -1
- package/build/lib/utils.js +22 -13
- package/build/utils/user.js +1 -1
- package/conf/README.md +3 -3
- package/eslintrc.js +92 -92
- package/index.js +1 -1
- package/package.json +64 -63
- package/prettier.config.js +15 -0
- package/tsconfig.json +3 -10
- package/yarn-plugins/plugin-postinstall.js +10 -10
package/build/api/index.js
CHANGED
|
@@ -5,38 +5,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
|
|
10
|
-
var _express = _interopRequireDefault(require("express"));
|
|
11
|
-
|
|
12
8
|
var _compression = _interopRequireDefault(require("compression"));
|
|
13
9
|
|
|
14
10
|
var _cors = _interopRequireDefault(require("cors"));
|
|
15
11
|
|
|
16
|
-
var
|
|
12
|
+
var _express = _interopRequireDefault(require("express"));
|
|
17
13
|
|
|
18
|
-
var
|
|
14
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
19
15
|
|
|
20
16
|
var _auth = _interopRequireDefault(require("../lib/auth"));
|
|
21
17
|
|
|
22
|
-
var
|
|
18
|
+
var _config = _interopRequireDefault(require("../lib/config"));
|
|
23
19
|
|
|
24
20
|
var _constants = require("../lib/constants");
|
|
25
21
|
|
|
26
|
-
var _config = _interopRequireDefault(require("../lib/config"));
|
|
27
|
-
|
|
28
22
|
var _logger = require("../lib/logger");
|
|
29
23
|
|
|
30
|
-
var
|
|
24
|
+
var _pluginLoader = _interopRequireDefault(require("../lib/plugin-loader"));
|
|
31
25
|
|
|
32
|
-
var
|
|
26
|
+
var _storage = _interopRequireDefault(require("../lib/storage"));
|
|
33
27
|
|
|
34
|
-
var
|
|
28
|
+
var _utils = require("../lib/utils");
|
|
35
29
|
|
|
36
30
|
var _debug = _interopRequireDefault(require("./debug"));
|
|
37
31
|
|
|
32
|
+
var _endpoint = _interopRequireDefault(require("./endpoint"));
|
|
33
|
+
|
|
38
34
|
var _middleware = require("./middleware");
|
|
39
35
|
|
|
36
|
+
var _web = _interopRequireDefault(require("./web"));
|
|
37
|
+
|
|
38
|
+
var _api = _interopRequireDefault(require("./web/api"));
|
|
39
|
+
|
|
40
40
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
41
41
|
|
|
42
42
|
const defineAPI = function (config, storage) {
|
|
@@ -131,4 +131,4 @@ var _default = async function _default(configHash) {
|
|
|
131
131
|
};
|
|
132
132
|
|
|
133
133
|
exports.default = _default;
|
|
134
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvaW5kZXgudHMiXSwibmFtZXMiOlsiZGVmaW5lQVBJIiwiY29uZmlnIiwic3RvcmFnZSIsImF1dGgiLCJBdXRoIiwiYXBwIiwic2V0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXNlIiwiZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlIiwidXNlcl9hZ2VudCIsInJlcSIsInJlcyIsIm5leHQiLCJzZXRIZWFkZXIiLCJkaXNhYmxlIiwiZ2V0IiwiX2RlYnVnIiwic2VsZl9wYXRoIiwicGx1Z2luX3BhcmFtcyIsImxvZ2dlciIsInBsdWdpbnMiLCJtaWRkbGV3YXJlcyIsInBsdWdpbiIsInJlZ2lzdGVyX21pZGRsZXdhcmVzIiwiZm9yRWFjaCIsIl8iLCJFcnJvckNvZGUiLCJnZXROb3RGb3VuZCIsIkFQSV9FUlJPUiIsIldFQl9ESVNBQkxFRCIsIkZJTEVfTk9UX0ZPVU5EIiwiZXJyIiwiaXNFcnJvciIsImNvZGUiLCJzdGF0dXNDb2RlIiwiSFRUUF9TVEFUVVMiLCJOT1RfTU9ESUZJRUQiLCJpc0Z1bmN0aW9uIiwibG9jYWxzIiwicmVwb3J0X2Vycm9yIiwibm9vcCIsImZpbmFsIiwiY29uZmlnSGFzaCIsImxvZ3MiLCJBcHBDb25maWciLCJjbG9uZURlZXAiLCJmaWx0ZXJzIiwiZmlsdGVyX21ldGFkYXRhIiwiU3RvcmFnZSIsImluaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLFNBQVMsR0FBRyxVQUFVQyxNQUFWLEVBQTJCQyxPQUEzQixFQUEwRDtBQUMxRSxRQUFNQyxJQUFXLEdBQUcsSUFBSUMsYUFBSixDQUFTSCxNQUFULENBQXBCO0FBQ0EsUUFBTUksR0FBZ0IsR0FBRyx1QkFBekIsQ0FGMEUsQ0FJMUU7QUFDQTs7QUFDQUEs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QTJDQSxNQUFNLENBQUN5QixlQUExRyxDQUFoQjtBQUNBLFFBQU1oRCxPQUF3QixHQUFHLElBQUlpRCxnQkFBSixDQUFZbEQsTUFBWixDQUFqQyxDQVQ2RCxDQVU3RDs7QUFDQSxRQUFNQyxPQUFPLENBQUNrRCxJQUFSLENBQWFuRCxNQUFiLEVBQXFCZ0QsT0FBckIsQ0FBTjtBQUNBLFNBQU9qRCxTQUFTLENBQUNDLE1BQUQsRUFBU0MsT0FBVCxDQUFoQjtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGV4cHJlc3MsIHsgQXBwbGljYXRpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBjb21wcmVzc2lvbiBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgY29ycyBmcm9tICdjb3JzJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJ2h0dHAtZXJyb3JzJztcbmltcG9ydCB7IENvbmZpZyBhcyBJQ29uZmlnLCBJUGx1Z2luTWlkZGxld2FyZSwgSVBsdWdpblN0b3JhZ2VGaWx0ZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCBsb2FkUGx1Z2luIGZyb20gJy4uL2xpYi9wbHVnaW4tbG9hZGVyJztcbmltcG9ydCBBdXRoIGZyb20gJy4uL2xpYi9hdXRoJztcbmltcG9ydCB7IEVycm9yQ29kZSwgZ2V0VXNlckFnZW50IH0gZnJvbSAnLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCBBcHBDb25maWcgZnJvbSAnLi4vbGliL2NvbmZpZyc7XG5pbXBvcnQgeyAkUmVzcG9uc2VFeHRlbmQsICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJU3RvcmFnZUhhbmRsZXIsIElBdXRoIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgc2V0dXAsIGxvZ2dlciB9IGZyb20gJy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHdlYkFQSSBmcm9tICcuL3dlYi9hcGknO1xuaW1wb3J0IHdlYiBmcm9tICcuL3dlYic7XG5pbXBvcnQgYXBpRW5kcG9pbnQgZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgaG9va0RlYnVnIGZyb20gJy4vZGVidWcnO1xuaW1wb3J0IHsgbG9nLCBmaW5hbCwgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlLCBzZXJ2ZUZhdmljb24gfSBmcm9tICcuL21pZGRsZXdhcmUnO1xuXG5jb25zdCBkZWZpbmVBUEkgPSBmdW5jdGlvbiAoY29uZmlnOiBJQ29uZmlnLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpOiBhbnkge1xuICBjb25zdCBhdXRoOiBJQXV0aCA9IG5ldyBBdXRoKGNvbmZpZyk7XG4gIGNvbnN0IGFwcDogQXBwbGljYXRpb24gPSBleHByZXNzKCk7XG5cbiAgLy8gcnVuIGluIHByb2R1Y3Rpb24gbW9kZSBieSBkZWZhdWx0LCBqdXN0IGluIGNhc2VcbiAgLy8gaXQgc2hvdWxkbid0IG1ha2UgYW55IGRpZmZlcmVuY2UgYW55d2F5XG4gIGFwcC5zZXQoJ2VudicsIHByb2Nlc3MuZW52Lk5PREVfRU5WIHx8ICdwcm9kdWN0aW9uJyk7XG4gIGFwcC51c2UoY29ycygpKTtcblxuICAvLyBSb3V0ZXIgc2V0dXBcbiAgYXBwLnVzZShsb2coY29uZmlnKSk7XG4gIGFwcC51c2UoZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKTtcbiAgaWYgKGNvbmZpZy51c2VyX2FnZW50KSB7XG4gICAgYXBwLnVzZShmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHJlcy5zZXRIZWFkZXIoJ1gtUG93ZXJlZC1CeScsIGdldFVzZXJBZ2VudChjb25maWcudXNlcl9hZ2VudCkpO1xuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGFwcC5kaXNhYmxlKCd4LXBvd2VyZWQtYnknKTtcbiAgfVxuXG4gIGFwcC51c2UoY29tcHJlc3Npb24oKSk7XG5cbiAgYXBwLmdldCgnLy0vc3RhdGljL2Zhdmljb24uaWNvJywgc2VydmVGYXZpY29uKGNvbmZpZykpO1xuXG4gIC8vIEhvb2sgZm9yIHRlc3RzIG9ubHlcbiAgaWYgKGNvbmZpZy5fZGVidWcpIHtcbiAgICBob29rRGVidWcoYXBwLCBjb25maWcuc2VsZl9wYXRoKTtcbiAgfVxuXG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuXG4gIGNvbnN0IHBsdWdpbnM6IElQbHVnaW5NaWRkbGV3YXJlPElDb25maWc+W10gPSBsb2FkUGx1Z2luKGNvbmZpZywgY29uZmlnLm1pZGRsZXdhcmVzLCBwbHVnaW5fcGFyYW1zLCBmdW5jdGlvbiAocGx1Z2luOiBJUGx1Z2luTWlkZGxld2FyZTxJQ29uZmlnPikge1xuICAgIHJldHVybiBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXM7XG4gIH0pO1xuICBwbHVnaW5zLmZvckVhY2goKHBsdWdpbjogSVBsdWdpbk1pZGRsZXdhcmU8SUNvbmZpZz4pID0+IHtcbiAgICBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXMoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgfSk7XG5cbiAgLy8gRm9yICBucG0gcmVxdWVzdFxuICBhcHAudXNlKGFwaUVuZHBvaW50KGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuXG4gIC8vIEZvciBXZWJVSSAmIFdlYlVJIEFQSVxuICBpZiAoXy5nZXQoY29uZmlnLCAnd2ViLmVuYWJsZScsIHRydWUpKSB7XG4gICAgYXBwLnVzZSgnLycsIHdlYihjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcbiAgICBhcHAudXNlKCcvLS92ZXJkYWNjaW8vJywgd2ViQVBJKGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuICB9IGVsc2Uge1xuICAgIGFwcC5nZXQoJy8nLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5XRUJfRElTQUJMRUQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENhdGNoIDQwNFxuICBhcHAuZ2V0KCcvKicsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5GSUxFX05PVF9GT1VORCkpO1xuICB9KTtcblxuICBhcHAudXNlKGZ1bmN0aW9uIChlcnI6IEh0dHBFcnJvciwgcmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBpZiAoXy5pc0Vycm9yKGVycikpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VDT05OQUJPUlQnICYmIHJlcy5zdGF0dXNDb2RlID09PSBIVFRQX1NUQVRVUy5OT1RfTU9ESUZJRUQpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChfLmlzRnVuY3Rpb24ocmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IpID09PSBmYWxzZSkge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIHZlcnkgZWFybHkgZXJyb3IgdGhpcyBtaWRkbGV3YXJlIG1heSBub3QgYmUgbG9hZGVkIGJlZm9yZSBlcnJvciBpcyBnZW5lcmF0ZWRcbiAgICAgICAgLy8gZml4aW5nIHRoYXRcbiAgICAgICAgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKHJlcSwgcmVzLCBfLm5vb3ApO1xuICAgICAgfVxuICAgICAgcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbCB0byBNaWRkbGV3YXJlLmZpbmFsXG4gICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgIH1cbiAgfSk7XG5cbiAgYXBwLnVzZShmaW5hbCk7XG5cbiAgcmV0dXJuIGFwcDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChhc3luYyBmdW5jdGlvbiAoY29uZmlnSGFzaDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgc2V0dXAoY29uZmlnSGFzaC5sb2dzKTtcbiAgY29uc3QgY29uZmlnOiBJQ29uZmlnID0gbmV3IEFwcENvbmZpZyhfLmNsb25lRGVlcChjb25maWdIYXNoKSk7XG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuICBjb25zdCBmaWx0ZXJzID0gbG9hZFBsdWdpbihjb25maWcsIGNvbmZpZy5maWx0ZXJzIHx8IHt9LCBwbHVnaW5fcGFyYW1zLCAocGx1Z2luOiBJUGx1Z2luU3RvcmFnZUZpbHRlcjxJQ29uZmlnPikgPT4gcGx1Z2luLmZpbHRlcl9tZXRhZGF0YSk7XG4gIGNvbnN0IHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciA9IG5ldyBTdG9yYWdlKGNvbmZpZyk7XG4gIC8vIHdhaXRzIHVudGlsIGluaXQgY2FsbHMgaGF2ZSBiZWVuIGluaXRpYWxpemVkXG4gIGF3YWl0IHN0b3JhZ2UuaW5pdChjb25maWcsIGZpbHRlcnMpO1xuICByZXR1cm4gZGVmaW5lQVBJKGNvbmZpZywgc3RvcmFnZSk7XG59KTtcbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvaW5kZXgudHMiXSwibmFtZXMiOlsiZGVmaW5lQVBJIiwiY29uZmlnIiwic3RvcmFnZSIsImF1dGgiLCJBdXRoIiwiYXBwIiwic2V0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXNlIiwiZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlIiwidXNlcl9hZ2VudCIsInJlcSIsInJlcyIsIm5leHQiLCJzZXRIZWFkZXIiLCJkaXNhYmxlIiwiZ2V0IiwiX2RlYnVnIiwic2VsZl9wYXRoIiwicGx1Z2luX3BhcmFtcyIsImxvZ2dlciIsInBsdWdpbnMiLCJtaWRkbGV3YXJlcyIsInBsdWdpbiIsInJlZ2lzdGVyX21pZGRsZXdhcmVzIiwiZm9yRWFjaCIsIl8iLCJFcnJvckNvZGUiLCJnZXROb3RGb3VuZCIsIkFQSV9FUlJPUiIsIldFQl9ESVNBQkxFRCIsIkZJTEVfTk9UX0ZPVU5EIiwiZXJyIiwiaXNFcnJvciIsImNvZGUiLCJzdGF0dXNDb2RlIiwiSFRUUF9TVEFUVVMiLCJOT1RfTU9ESUZJRUQiLCJpc0Z1bmN0aW9uIiwibG9jYWxzIiwicmVwb3J0X2Vycm9yIiwibm9vcCIsImZpbmFsIiwiY29uZmlnSGFzaCIsImxvZ3MiLCJBcHBDb25maWciLCJjbG9uZURlZXAiLCJmaWx0ZXJzIiwiZmlsdGVyX21ldGFkYXRhIiwiU3RvcmFnZSIsImluaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLFNBQVMsR0FBRyxVQUFVQyxNQUFWLEVBQTJCQyxPQUEzQixFQUEwRDtBQUMxRSxRQUFNQyxJQUFXLEdBQUcsSUFBSUMsYUFBSixDQUFTSCxNQUFULENBQXBCO0FBQ0EsUUFBTUksR0FBZ0IsR0FBRyx1QkFBekIsQ0FGMEUsQ0FJMUU7QUFDQTs7QUFDQUEs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QTJDQSxNQUFNLENBQUN5QixlQUExRyxDQUFoQjtBQUNBLFFBQU1oRCxPQUF3QixHQUFHLElBQUlpRCxnQkFBSixDQUFZbEQsTUFBWixDQUFqQyxDQVQ2RCxDQVU3RDs7QUFDQSxRQUFNQyxPQUFPLENBQUNrRCxJQUFSLENBQWFuRCxNQUFiLEVBQXFCZ0QsT0FBckIsQ0FBTjtBQUNBLFNBQU9qRCxTQUFTLENBQUNDLE1BQUQsRUFBU0MsT0FBVCxDQUFoQjtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcHJlc3Npb24gZnJvbSAnY29tcHJlc3Npb24nO1xuaW1wb3J0IGNvcnMgZnJvbSAnY29ycyc7XG5pbXBvcnQgZXhwcmVzcywgeyBBcHBsaWNhdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgSHR0cEVycm9yIH0gZnJvbSAnaHR0cC1lcnJvcnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQ29uZmlnIGFzIElDb25maWcsIElQbHVnaW5NaWRkbGV3YXJlLCBJUGx1Z2luU3RvcmFnZUZpbHRlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCBJQXV0aCwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IEF1dGggZnJvbSAnLi4vbGliL2F1dGgnO1xuaW1wb3J0IEFwcENvbmZpZyBmcm9tICcuLi9saWIvY29uZmlnJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciwgc2V0dXAgfSBmcm9tICcuLi9saWIvbG9nZ2VyJztcbmltcG9ydCBsb2FkUGx1Z2luIGZyb20gJy4uL2xpYi9wbHVnaW4tbG9hZGVyJztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCB7IEVycm9yQ29kZSwgZ2V0VXNlckFnZW50IH0gZnJvbSAnLi4vbGliL3V0aWxzJztcbmltcG9ydCBob29rRGVidWcgZnJvbSAnLi9kZWJ1Zyc7XG5pbXBvcnQgYXBpRW5kcG9pbnQgZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgeyBlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUsIGZpbmFsLCBsb2csIHNlcnZlRmF2aWNvbiB9IGZyb20gJy4vbWlkZGxld2FyZSc7XG5pbXBvcnQgd2ViIGZyb20gJy4vd2ViJztcbmltcG9ydCB3ZWJBUEkgZnJvbSAnLi93ZWIvYXBpJztcblxuY29uc3QgZGVmaW5lQVBJID0gZnVuY3Rpb24gKGNvbmZpZzogSUNvbmZpZywgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyKTogYW55IHtcbiAgY29uc3QgYXV0aDogSUF1dGggPSBuZXcgQXV0aChjb25maWcpO1xuICBjb25zdCBhcHA6IEFwcGxpY2F0aW9uID0gZXhwcmVzcygpO1xuXG4gIC8vIHJ1biBpbiBwcm9kdWN0aW9uIG1vZGUgYnkgZGVmYXVsdCwganVzdCBpbiBjYXNlXG4gIC8vIGl0IHNob3VsZG4ndCBtYWtlIGFueSBkaWZmZXJlbmNlIGFueXdheVxuICBhcHAuc2V0KCdlbnYnLCBwcm9jZXNzLmVudi5OT0RFX0VOViB8fCAncHJvZHVjdGlvbicpO1xuICBhcHAudXNlKGNvcnMoKSk7XG5cbiAgLy8gUm91dGVyIHNldHVwXG4gIGFwcC51c2UobG9nKGNvbmZpZykpO1xuICBhcHAudXNlKGVycm9yUmVwb3J0aW5nTWlkZGxld2FyZSk7XG4gIGlmIChjb25maWcudXNlcl9hZ2VudCkge1xuICAgIGFwcC51c2UoZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICByZXMuc2V0SGVhZGVyKCdYLVBvd2VyZWQtQnknLCBnZXRVc2VyQWdlbnQoY29uZmlnLnVzZXJfYWdlbnQpKTtcbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBhcHAuZGlzYWJsZSgneC1wb3dlcmVkLWJ5Jyk7XG4gIH1cblxuICBhcHAudXNlKGNvbXByZXNzaW9uKCkpO1xuXG4gIGFwcC5nZXQoJy8tL3N0YXRpYy9mYXZpY29uLmljbycsIHNlcnZlRmF2aWNvbihjb25maWcpKTtcblxuICAvLyBIb29rIGZvciB0ZXN0cyBvbmx5XG4gIGlmIChjb25maWcuX2RlYnVnKSB7XG4gICAgaG9va0RlYnVnKGFwcCwgY29uZmlnLnNlbGZfcGF0aCk7XG4gIH1cblxuICAvLyByZWdpc3RlciBtaWRkbGV3YXJlIHBsdWdpbnNcbiAgY29uc3QgcGx1Z2luX3BhcmFtcyA9IHtcbiAgICBjb25maWc6IGNvbmZpZyxcbiAgICBsb2dnZXI6IGxvZ2dlcixcbiAgfTtcblxuICBjb25zdCBwbHVnaW5zOiBJUGx1Z2luTWlkZGxld2FyZTxJQ29uZmlnPltdID0gbG9hZFBsdWdpbihjb25maWcsIGNvbmZpZy5taWRkbGV3YXJlcywgcGx1Z2luX3BhcmFtcywgZnVuY3Rpb24gKHBsdWdpbjogSVBsdWdpbk1pZGRsZXdhcmU8SUNvbmZpZz4pIHtcbiAgICByZXR1cm4gcGx1Z2luLnJlZ2lzdGVyX21pZGRsZXdhcmVzO1xuICB9KTtcbiAgcGx1Z2lucy5mb3JFYWNoKChwbHVnaW46IElQbHVnaW5NaWRkbGV3YXJlPElDb25maWc+KSA9PiB7XG4gICAgcGx1Z2luLnJlZ2lzdGVyX21pZGRsZXdhcmVzKGFwcCwgYXV0aCwgc3RvcmFnZSk7XG4gIH0pO1xuXG4gIC8vIEZvciAgbnBtIHJlcXVlc3RcbiAgYXBwLnVzZShhcGlFbmRwb2ludChjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcblxuICAvLyBGb3IgV2ViVUkgJiBXZWJVSSBBUElcbiAgaWYgKF8uZ2V0KGNvbmZpZywgJ3dlYi5lbmFibGUnLCB0cnVlKSkge1xuICAgIGFwcC51c2UoJy8nLCB3ZWIoY29uZmlnLCBhdXRoLCBzdG9yYWdlKSk7XG4gICAgYXBwLnVzZSgnLy0vdmVyZGFjY2lvLycsIHdlYkFQSShjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcbiAgfSBlbHNlIHtcbiAgICBhcHAuZ2V0KCcvJywgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBuZXh0KEVycm9yQ29kZS5nZXROb3RGb3VuZChBUElfRVJST1IuV0VCX0RJU0FCTEVEKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBDYXRjaCA0MDRcbiAgYXBwLmdldCgnLyonLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBuZXh0KEVycm9yQ29kZS5nZXROb3RGb3VuZChBUElfRVJST1IuRklMRV9OT1RfRk9VTkQpKTtcbiAgfSk7XG5cbiAgYXBwLnVzZShmdW5jdGlvbiAoZXJyOiBIdHRwRXJyb3IsIHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgaWYgKF8uaXNFcnJvcihlcnIpKSB7XG4gICAgICBpZiAoZXJyLmNvZGUgPT09ICdFQ09OTkFCT1JUJyAmJiByZXMuc3RhdHVzQ29kZSA9PT0gSFRUUF9TVEFUVVMuTk9UX01PRElGSUVEKSB7XG4gICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICB9XG4gICAgICBpZiAoXy5pc0Z1bmN0aW9uKHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgLy8gaW4gY2FzZSBvZiB2ZXJ5IGVhcmx5IGVycm9yIHRoaXMgbWlkZGxld2FyZSBtYXkgbm90IGJlIGxvYWRlZCBiZWZvcmUgZXJyb3IgaXMgZ2VuZXJhdGVkXG4gICAgICAgIC8vIGZpeGluZyB0aGF0XG4gICAgICAgIGVycm9yUmVwb3J0aW5nTWlkZGxld2FyZShyZXEsIHJlcywgXy5ub29wKTtcbiAgICAgIH1cbiAgICAgIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZhbGwgdG8gTWlkZGxld2FyZS5maW5hbFxuICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICB9XG4gIH0pO1xuXG4gIGFwcC51c2UoZmluYWwpO1xuXG4gIHJldHVybiBhcHA7XG59O1xuXG5leHBvcnQgZGVmYXVsdCAoYXN5bmMgZnVuY3Rpb24gKGNvbmZpZ0hhc2g6IGFueSk6IFByb21pc2U8YW55PiB7XG4gIHNldHVwKGNvbmZpZ0hhc2gubG9ncyk7XG4gIGNvbnN0IGNvbmZpZzogSUNvbmZpZyA9IG5ldyBBcHBDb25maWcoXy5jbG9uZURlZXAoY29uZmlnSGFzaCkpO1xuICAvLyByZWdpc3RlciBtaWRkbGV3YXJlIHBsdWdpbnNcbiAgY29uc3QgcGx1Z2luX3BhcmFtcyA9IHtcbiAgICBjb25maWc6IGNvbmZpZyxcbiAgICBsb2dnZXI6IGxvZ2dlcixcbiAgfTtcbiAgY29uc3QgZmlsdGVycyA9IGxvYWRQbHVnaW4oY29uZmlnLCBjb25maWcuZmlsdGVycyB8fCB7fSwgcGx1Z2luX3BhcmFtcywgKHBsdWdpbjogSVBsdWdpblN0b3JhZ2VGaWx0ZXI8SUNvbmZpZz4pID0+IHBsdWdpbi5maWx0ZXJfbWV0YWRhdGEpO1xuICBjb25zdCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIgPSBuZXcgU3RvcmFnZShjb25maWcpO1xuICAvLyB3YWl0cyB1bnRpbCBpbml0IGNhbGxzIGhhdmUgYmVlbiBpbml0aWFsaXplZFxuICBhd2FpdCBzdG9yYWdlLmluaXQoY29uZmlnLCBmaWx0ZXJzKTtcbiAgcmV0dXJuIGRlZmluZUFQSShjb25maWcsIHN0b3JhZ2UpO1xufSk7XG4iXX0=
|
package/build/api/middleware.js
CHANGED
|
@@ -18,24 +18,24 @@ exports.setSecurityWebHeaders = setSecurityWebHeaders;
|
|
|
18
18
|
exports.validateName = validateName;
|
|
19
19
|
exports.validatePackage = validatePackage;
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
24
24
|
|
|
25
25
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _path = _interopRequireDefault(require("path"));
|
|
28
28
|
|
|
29
29
|
var _validator = _interopRequireDefault(require("validator"));
|
|
30
30
|
|
|
31
|
-
var _utils = require("../lib/utils");
|
|
32
|
-
|
|
33
31
|
var _constants = require("../lib/constants");
|
|
34
32
|
|
|
35
33
|
var _cryptoUtils = require("../lib/crypto-utils");
|
|
36
34
|
|
|
37
35
|
var _logger = require("../lib/logger");
|
|
38
36
|
|
|
37
|
+
var _utils = require("../lib/utils");
|
|
38
|
+
|
|
39
39
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
40
40
|
|
|
41
41
|
const debug = (0, _debug.default)('verdaccio');
|
|
@@ -424,4 +424,4 @@ function errorReportingMiddleware(req, res, next) {
|
|
|
424
424
|
|
|
425
425
|
next();
|
|
426
426
|
}
|
|
427
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIm1hdGNoIiwicmVnZXhwIiwicmVxIiwicmVzIiwibmV4dCIsInZhbHVlIiwiZXhlYyIsInNlcnZlRmF2aWNvbiIsImNvbmZpZyIsImxvZ29Db25mIiwid2ViIiwiZmF2aWNvbiIsInN0YXR1cyIsIl8iLCJpc0VtcHR5IiwidmFsaWRhdG9yIiwiaXNVUkwiLCJyZXF1aXJlX2hvc3QiLCJyZXF1aXJlX3ZhbGlkX3Byb3RvY29sIiwicmVkaXJlY3QiLCJmYXZpY29uUGF0aCIsInBhdGgiLCJub3JtYWxpemUiLCJmcyIsImFjY2VzcyIsImNvbnN0YW50cyIsIlJfT0siLCJlcnIiLCJtZXNzYWdlIiwiSFRUUF9TVEFUVVMiLCJOT1RfRk9VTkQiLCJlbmQiLCJzZXRIZWFkZXIiLCJjcmVhdGVSZWFkU3RyZWFtIiwicGlwZSIsInBvc2l4Iiwiam9pbiIsIl9fZGlybmFtZSIsInNldFNlY3VyaXR5V2ViSGVhZGVycyIsImhlYWRlciIsIkhFQURFUlMiLCJGUkFNRVNfT1BUSU9OUyIsIkNTUCIsIkNUTyIsIlhTUyIsInZhbGlkYXRlTmFtZSIsIm5hbWUiLCJFcnJvckNvZGUiLCJnZXRGb3JiaWRkZW4iLCJ2YWxpZGF0ZVBhY2thZ2UiLCJtZWRpYSIsImV4cGVjdCIsImhlYWRlcnMiLCJIRUFERVJfVFlQRSIsIkNPTlRFTlRfVFlQRSIsImdldENvZGUiLCJVTlNVUFBPUlRFRF9NRURJQSIsImdldCIsImVuY29kZVNjb3BlUGFja2FnZSIsInVybCIsImluZGV4T2YiLCJyZXBsYWNlIiwiZXhwZWN0SnNvbiIsImJvZHkiLCJnZXRCYWRSZXF1ZXN0IiwiYW50aUxvb3AiLCJ2aWEiLCJhcnIiLCJzcGxpdCIsImkiLCJsZW5ndGgiLCJtIiwic2VydmVyX2lkIiwiTE9PUF9ERVRFQ1RFRCIsImFsbG93IiwiYXV0aCIsImFjdGlvbiIsInBhdXNlIiwicGFja2FnZU5hbWUiLCJwYXJhbXMiLCJzY29wZSIsInBhY2thZ2UiLCJwYWNrYWdlVmVyc2lvbiIsInVuZGVmaW5lZCIsImZpbGVuYW1lIiwidmVyc2lvbnMiLCJPYmplY3QiLCJrZXlzIiwicmVtb3RlIiwicmVtb3RlX3VzZXIiLCJlcnJvciIsImFsbG93ZWQiLCJyZXN1bWUiLCJnZXRJbnRlcm5hbEVycm9yIiwiQVBJX0VSUk9SIiwiUExVR0lOX0VSUk9SIiwiZmluYWwiLCJzdGF0dXNDb2RlIiwiVU5BVVRIT1JJWkVEIiwiZ2V0SGVhZGVyIiwiV1dXX0FVVEgiLCJUT0tFTl9CQVNJQyIsIlRPS0VOX0JFQVJFUiIsImlzU3RyaW5nIiwiaXNPYmplY3QiLCJKU09OIiwiaXNOaWwiLCJsb2NhbHMiLCJfdmVyZGFjY2lvX2Vycm9yIiwic3RyaW5naWZ5IiwiT0siLCJNVUxUSVBMRV9DSE9JQ0VTIiwiRVRBRyIsInNvY2tldCIsImRlc3Ryb3kiLCJzZW5kIiwiTE9HX1NUQVRVU19NRVNTQUdFIiwiTE9HX1ZFUkRBQ0NJT19FUlJPUiIsIkxPR19WRVJEQUNDSU9fQllURVMiLCJsb2ciLCJfYXV0aCIsImF1dGhvcml6YXRpb24iLCJfY29va2llIiwiY29va2llIiwib3JpZ2luYWxVcmwiLCJsb2dnZXIiLCJodHRwIiwiaXAiLCJieXRlc2luIiwiZXhwZXJpbWVudHMiLCJieXRlc2luX29mZiIsIm9uIiwiY2h1bmsiLCJieXRlc291dCIsIl93cml0ZSIsIndyaXRlIiwiYnVmIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJsb2dIYXNCZWVuQ2FsbGVkIiwiZm9yd2FyZGVkRm9yIiwicmVtb3RlQWRkcmVzcyIsImNvbm5lY3Rpb24iLCJyZW1vdGVJUCIsInJlcXVlc3QiLCJtZXRob2QiLCJ1c2VyIiwiYnl0ZXMiLCJpbiIsIm91dCIsIl9lbmQiLCJlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUiLCJyZXBvcnRfZXJyb3IiLCJCQURfUkVRVUVTVCIsImhlYWRlcnNTZW50IiwiVU5LTk9XTl9FUlJPUiIsIklOVEVSTkFMX0VSUk9SIiwiSU5URVJOQUxfU0VSVkVS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QUcsQ0FBQytHLE9BQUo7QUFDRCxPQUhELE1BR08sSUFBSSxDQUFDL0csR0FBRyxDQUFDdUosV0FBVCxFQUFzQjtBQUMzQnZKLFFBQUFBLEdBQUcsQ0FBQ1MsTUFBSixDQUFXaUIsdUJBQVkrSCxjQUF2QjtBQUNBeEosUUFBQUEsSUFBSSxDQUFDO0FBQUVzRixVQUFBQSxLQUFLLEVBQUVJLHFCQUFVK0Q7QUFBbkIsU0FBRCxDQUFKO0FBQ0QsT0FITSxNQUdBLENBQ0w7QUFDRDtBQUNGO0FBQ0YsR0FwQkg7O0FBc0JBekosRUFBQUEsSUFBSTtBQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB2YWxpZGF0b3IgZnJvbSAndmFsaWRhdG9yJztcblxuaW1wb3J0IHsgQ29uZmlnLCBQYWNrYWdlLCBSZW1vdGVVc2VyIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5pbXBvcnQgeyBWZXJkYWNjaW9FcnJvciB9IGZyb20gJ0B2ZXJkYWNjaW8vY29tbW9ucy1hcGknO1xuaW1wb3J0IHsgdmFsaWRhdGVOYW1lIGFzIHV0aWxWYWxpZGF0ZU5hbWUsIHZhbGlkYXRlUGFja2FnZSBhcyB1dGlsVmFsaWRhdGVQYWNrYWdlLCBnZXRWZXJzaW9uRnJvbVRhcmJhbGwsIGlzT2JqZWN0LCBFcnJvckNvZGUgfSBmcm9tICcuLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBIRUFERVJfVFlQRSwgSEVBREVSUywgSFRUUF9TVEFUVVMsIFRPS0VOX0JBU0lDLCBUT0tFTl9CRUFSRVIgfSBmcm9tICcuLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IHN0cmluZ1RvTUQ1IH0gZnJvbSAnLi4vbGliL2NyeXB0by11dGlscyc7XG5pbXBvcnQgeyAkUmVzcG9uc2VFeHRlbmQsICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJQXV0aCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2xpYi9sb2dnZXInO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2NpbycpO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2gocmVnZXhwOiBSZWdFeHApOiBhbnkge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHJlZ2V4cC5leGVjKHZhbHVlKSkge1xuICAgICAgbmV4dCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0KCdyb3V0ZScpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcnZlRmF2aWNvbihjb25maWc6IENvbmZpZykge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IGxvZ29Db25mOiBzdHJpbmcgPSBjb25maWc/LndlYj8uZmF2aWNvbiBhcyBzdHJpbmc7XG4gICAgICBpZiAobG9nb0NvbmYgPT09ICcnKSB7XG4gICAgICAgIGRlYnVnKCdmYXZpY29uIGRpc2FibGVkJyk7XG4gICAgICAgIHJlcy5zdGF0dXMoNDA0KTtcbiAgICAgIH0gZWxzZSBpZiAoIV8uaXNFbXB0eShsb2dvQ29uZikpIHtcbiAgICAgICAgZGVidWcoJ2N1c3RvbSBmYXZpY29uJyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB2YWxpZGF0b3IuaXNVUkwobG9nb0NvbmYsIHtcbiAgICAgICAgICAgIHJlcXVpcmVfaG9zdDogdHJ1ZSxcbiAgICAgICAgICAgIHJlcXVpcmVfdmFsaWRfcHJvdG9jb2w6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgZGVidWcoJ3JlZGlyZWN0IHRvICVvJywgbG9nb0NvbmYpO1xuICAgICAgICAgIHJlcy5yZWRpcmVjdChsb2dvQ29uZik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGZhdmljb25QYXRoID0gcGF0aC5ub3JtYWxpemUobG9nb0NvbmYpO1xuICAgICAgICAgIGRlYnVnKCdzZXJ2aW5nIGZhdmljb24gZnJvbSAlbycsIGZhdmljb25QYXRoKTtcbiAgICAgICAgICBmcy5hY2Nlc3MoZmF2aWNvblBhdGgsIGZzLmNvbnN0YW50cy5SX09LLCAoZXJyKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgIGRlYnVnKCdubyByZWFkIHBlcm1pc3Npb25zIHRvIHJlYWQ6ICVvLCByZWFzb246JywgbG9nb0NvbmYsIGVycj8ubWVzc2FnZSk7XG4gICAgICAgICAgICAgIHJldHVybiByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk5PVF9GT1VORCkuZW5kKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKCdjb250ZW50LXR5cGUnLCAnaW1hZ2UveC1pY29uJyk7XG4gICAgICAgICAgICAgIGZzLmNyZWF0ZVJlYWRTdHJlYW0oZmF2aWNvblBhdGgpLnBpcGUocmVzKTtcbiAgICAgICAgICAgICAgZGVidWcoJ3JlbmRlcmVkIGN1c3RvbSBpY28nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzLnNldEhlYWRlcignY29udGVudC10eXBlJywgJ2ltYWdlL3gtaWNvbicpO1xuICAgICAgICBmcy5jcmVhdGVSZWFkU3RyZWFtKHBhdGgucG9zaXguam9pbihfX2Rpcm5hbWUsICcuL3dlYi9odG1sL2Zhdmljb24uaWNvJykpLnBpcGUocmVzKTtcbiAgICAgICAgZGVidWcoJ3JlbmRlcmVkIGljbycpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgZGVidWcoJ2Vycm9yIHRyaWdnZXJlZCwgZmF2aWNvbiBub3QgZm91bmQnKTtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKS5lbmQoKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZWN1cml0eVdlYkhlYWRlcnMocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgLy8gZGlzYWJsZSBsb2FkaW5nIGluIGZyYW1lcyAoY2xpY2tqYWNraW5nLCBldGMuKVxuICByZXMuaGVhZGVyKEhFQURFUlMuRlJBTUVTX09QVElPTlMsICdkZW55Jyk7XG4gIC8vIGF2b2lkIHN0YWJsaXNoIGNvbm5lY3Rpb25zIG91dHNpZGUgb2YgZG9tYWluXG4gIHJlcy5oZWFkZXIoSEVBREVSUy5DU1AsIFwiY29ubmVjdC1zcmMgJ3NlbGYnXCIpO1xuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODMzNzYzMC93aGF0LWlzLXgtY29udGVudC10eXBlLW9wdGlvbnMtbm9zbmlmZlxuICByZXMuaGVhZGVyKEhFQURFUlMuQ1RPLCAnbm9zbmlmZicpO1xuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy85MDkwNTc3L3doYXQtaXMtdGhlLWh0dHAtaGVhZGVyLXgteHNzLXByb3RlY3Rpb25cbiAgcmVzLmhlYWRlcihIRUFERVJTLlhTUywgJzE7IG1vZGU9YmxvY2snKTtcbiAgbmV4dCgpO1xufVxuXG4vLyBmbG93OiBleHByZXNzIGRvZXMgbm90IG1hdGNoIHByb3Blcmx5XG4vLyBmbG93IGluZm8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb3d0eXBlL2Zsb3ctdHlwZWQvaXNzdWVzP3V0Zjg9JUUyJTlDJTkzJnE9aXMlM0Fpc3N1ZStpcyUzQW9wZW4rZXhwcmVzc1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTmFtZShyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlciwgdmFsdWU6IHN0cmluZywgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmICh2YWx1ZSA9PT0gJy0nKSB7XG4gICAgLy8gc3BlY2lhbCBjYXNlIGluIGNvdWNoZGIgdXN1YWxseVxuICAgIG5leHQoJ3JvdXRlJyk7XG4gIH0gZWxzZSBpZiAodXRpbFZhbGlkYXRlTmFtZSh2YWx1ZSkpIHtcbiAgICBuZXh0KCk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dChFcnJvckNvZGUuZ2V0Rm9yYmlkZGVuKCdpbnZhbGlkICcgKyBuYW1lKSk7XG4gIH1cbn1cblxuLy8gZmxvdzogZXhwcmVzcyBkb2VzIG5vdCBtYXRjaCBwcm9wZXJseVxuLy8gZmxvdyBpbmZvIGh0dHBzOi8vZ2l0aHViLmNvbS9mbG93dHlwZS9mbG93LXR5cGVkL2lzc3Vlcz91dGY4PSVFMiU5QyU5MyZxPWlzJTNBaXNzdWUraXMlM0FvcGVuK2V4cHJlc3NcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVBhY2thZ2UocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIsIHZhbHVlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICBpZiAodmFsdWUgPT09ICctJykge1xuICAgIC8vIHNwZWNpYWwgY2FzZSBpbiBjb3VjaGRiIHVzdWFsbHlcbiAgICBuZXh0KCdyb3V0ZScpO1xuICB9IGVsc2UgaWYgKHV0aWxWYWxpZGF0ZVBhY2thZ2UodmFsdWUpKSB7XG4gICAgbmV4dCgpO1xuICB9IGVsc2Uge1xuICAgIG5leHQoRXJyb3JDb2RlLmdldEZvcmJpZGRlbignaW52YWxpZCAnICsgbmFtZSkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZWRpYShleHBlY3Q6IHN0cmluZyB8IG51bGwpOiBhbnkge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgaWYgKHJlcS5oZWFkZXJzW0hFQURFUl9UWVBFLkNPTlRFTlRfVFlQRV0gIT09IGV4cGVjdCkge1xuICAgICAgbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTlNVUFBPUlRFRF9NRURJQSwgJ3dyb25nIGNvbnRlbnQtdHlwZSwgZXhwZWN0OiAnICsgZXhwZWN0ICsgJywgZ290OiAnICsgcmVxLmdldChIRUFERVJfVFlQRS5DT05URU5UX1RZUEUpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHQoKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVTY29wZVBhY2thZ2UocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgaWYgKHJlcS51cmwuaW5kZXhPZignQCcpICE9PSAtMSkge1xuICAgIC8vIGUuZy46IC9Ab3JnL3BrZy8xLjIuMyAtPiAvQG9yZyUyRnBrZy8xLjIuMywgL0BvcmclMkZwa2cvMS4yLjMgLT4gL0BvcmclMkZwa2cvMS4yLjNcbiAgICByZXEudXJsID0gcmVxLnVybC5yZXBsYWNlKC9eKFxcL0BbXlxcLyVdKylcXC8oPyEkKS8sICckMSUyRicpO1xuICB9XG4gIG5leHQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEpzb24ocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgaWYgKCFpc09iamVjdChyZXEuYm9keSkpIHtcbiAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkUmVxdWVzdChcImNhbid0IHBhcnNlIGluY29taW5nIGpzb25cIikpO1xuICB9XG4gIG5leHQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFudGlMb29wKGNvbmZpZzogQ29uZmlnKTogRnVuY3Rpb24ge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgaWYgKHJlcT8uaGVhZGVycz8udmlhICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGFyciA9IHJlcS5oZWFkZXJzLnZpYS5zcGxpdCgnLCcpO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBtID0gYXJyW2ldLm1hdGNoKC9cXHMqKFxcUyspXFxzKyhcXFMrKS8pO1xuICAgICAgICBpZiAobSAmJiBtWzJdID09PSBjb25maWcuc2VydmVyX2lkKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuTE9PUF9ERVRFQ1RFRCwgJ2xvb3AgZGV0ZWN0ZWQnKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgbmV4dCgpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsb3coYXV0aDogSUF1dGgpOiBGdW5jdGlvbiB7XG4gIHJldHVybiBmdW5jdGlvbiAoYWN0aW9uOiBzdHJpbmcpOiBGdW5jdGlvbiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgcmVxLnBhdXNlKCk7XG4gICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMuc2NvcGUgPyBgQCR7cmVxLnBhcmFtcy5zY29wZX0vJHtyZXEucGFyYW1zLnBhY2thZ2V9YCA6IHJlcS5wYXJhbXMucGFja2FnZTtcbiAgICAgIGxldCBwYWNrYWdlVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKHJlcS5wYXJhbXMuZmlsZW5hbWUpIHtcbiAgICAgICAgcGFja2FnZVZlcnNpb24gPSBnZXRWZXJzaW9uRnJvbVRhcmJhbGwocmVxLnBhcmFtcy5maWxlbmFtZSkgfHwgdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVxLmJvZHkudmVyc2lvbnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHBhY2thZ2VWZXJzaW9uID0gT2JqZWN0LmtleXMocmVxLmJvZHkudmVyc2lvbnMpWzBdO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVtb3RlOiBSZW1vdGVVc2VyID0gcmVxLnJlbW90ZV91c2VyO1xuICAgICAgZGVidWcoJ1ttaWRkbGV3YXJlL2FsbG93XVslb10gYWxsb3cgZm9yICVvJywgYWN0aW9uLCByZW1vdGU/Lm5hbWUpO1xuICAgICAgYXV0aFsnYWxsb3dfJyArIGFjdGlvbl0oeyBwYWNrYWdlTmFtZSwgcGFja2FnZVZlcnNpb24gfSwgcmVtb3RlLCBmdW5jdGlvbiAoZXJyb3IsIGFsbG93ZWQpOiB2b2lkIHtcbiAgICAgICAgcmVxLnJlc3VtZSgpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICBuZXh0KGVycm9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChhbGxvd2VkKSB7XG4gICAgICAgICAgbmV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGxhc3QgcGx1Z2luICh0aGF0J3Mgb3VyIGJ1aWx0LWluIG9uZSkgcmV0dXJucyBlaXRoZXJcbiAgICAgICAgICAvLyBjYihlcnIpIG9yIGNiKG51bGwsIHRydWUpLCBzbyB0aGlzIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgICAgICAgICB0aHJvdyBFcnJvckNvZGUuZ2V0SW50ZXJuYWxFcnJvcihBUElfRVJST1IuUExVR0lOX0VSUk9SKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlRXJyb3Ige1xuICBlcnJvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBGaW5hbEJvZHkgPSBQYWNrYWdlIHwgTWlkZGxld2FyZUVycm9yIHwgc3RyaW5nO1xuXG5leHBvcnQgZnVuY3Rpb24gZmluYWwoYm9keTogRmluYWxCb2R5LCByZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICBpZiAocmVzLnN0YXR1c0NvZGUgPT09IEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCAmJiAhcmVzLmdldEhlYWRlcihIRUFERVJTLldXV19BVVRIKSkge1xuICAgIC8vIHRoZXkgc2F5IGl0J3MgcmVxdWlyZWQgZm9yIDQwMSwgc28uLi5cbiAgICByZXMuaGVhZGVyKEhFQURFUlMuV1dXX0FVVEgsIGAke1RPS0VOX0JBU0lDfSwgJHtUT0tFTl9CRUFSRVJ9YCk7XG4gIH1cblxuICB0cnkge1xuICAgIGlmIChfLmlzU3RyaW5nKGJvZHkpIHx8IF8uaXNPYmplY3QoYm9keSkpIHtcbiAgICAgIGlmICghcmVzLmdldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSkpIHtcbiAgICAgICAgcmVzLmhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyAmJiBfLmlzTmlsKGJvZHkpID09PSBmYWxzZSkge1xuICAgICAgICBpZiAodHlwZW9mIChib2R5IGFzIE1pZGRsZXdhcmVFcnJvcikuZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmVzLmxvY2Fscy5fdmVyZGFjY2lvX2Vycm9yID0gKGJvZHkgYXMgTWlkZGxld2FyZUVycm9yKS5lcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSwgdW5kZWZpbmVkLCAnICAnKSArICdcXG4nO1xuICAgICAgfVxuXG4gICAgICAvLyBkb24ndCBzZW5kIGV0YWdzIHdpdGggZXJyb3JzXG4gICAgICBpZiAoIXJlcy5zdGF0dXNDb2RlIHx8IChyZXMuc3RhdHVzQ29kZSA+PSBIVFRQX1NUQVRVUy5PSyAmJiByZXMuc3RhdHVzQ29kZSA8IEhUVFBfU1RBVFVTLk1VTFRJUExFX0NIT0lDRVMpKSB7XG4gICAgICAgIHJlcy5oZWFkZXIoSEVBREVSUy5FVEFHLCAnXCInICsgc3RyaW5nVG9NRDUoYm9keSBhcyBzdHJpbmcpICsgJ1wiJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHNlbmQobnVsbCksIHNlbmQoMjA0KSwgZXRjLlxuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgLy8gaWYgdmVyZGFjY2lvIHNlbmRzIGhlYWRlcnMgZmlyc3QsIGFuZCB0aGVuIGNhbGxzIHJlcy5zZW5kKClcbiAgICAvLyBhcyBhbiBlcnJvciBoYW5kbGVyLCB3ZSBjYW4ndCByZXBvcnQgZXJyb3IgcHJvcGVybHksXG4gICAgLy8gYW5kIHNob3VsZCBqdXN0IGNsb3NlIHNvY2tldFxuICAgIGlmIChlcnIubWVzc2FnZS5tYXRjaCgvc2V0IGhlYWRlcnMgYWZ0ZXIgdGhleSBhcmUgc2VudC8pKSB7XG4gICAgICBpZiAoXy5pc05pbChyZXMuc29ja2V0KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXMuc29ja2V0LmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgZXJyO1xuICB9XG5cbiAgcmVzLnNlbmQoYm9keSk7XG59XG5cbmV4cG9ydCBjb25zdCBMT0dfU1RBVFVTX01FU1NBR0UgPSBcIkB7c3RhdHVzfSwgdXNlcjogQHt1c2VyfShAe3JlbW90ZUlQfSksIHJlcTogJ0B7cmVxdWVzdC5tZXRob2R9IEB7cmVxdWVzdC51cmx9J1wiO1xuZXhwb3J0IGNvbnN0IExPR19WRVJEQUNDSU9fRVJST1IgPSBgJHtMT0dfU1RBVFVTX01FU1NBR0V9LCBlcnJvcjogQHshZXJyb3J9YDtcbmV4cG9ydCBjb25zdCBMT0dfVkVSREFDQ0lPX0JZVEVTID0gYCR7TE9HX1NUQVRVU19NRVNTQUdFfSwgYnl0ZXM6IEB7Ynl0ZXMuaW59L0B7Ynl0ZXMub3V0fWA7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2coY29uZmlnOiBDb25maWcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IF9hdXRoID0gcmVxLmhlYWRlcnMuYXV0aG9yaXphdGlvbjtcbiAgICBpZiAoXy5pc05pbChfYXV0aCkgPT09IGZhbHNlKSB7XG4gICAgICByZXEuaGVhZGVycy5hdXRob3JpemF0aW9uID0gJzxDbGFzc2lmaWVkPic7XG4gICAgfVxuXG4gICAgY29uc3QgX2Nvb2tpZSA9IHJlcS5nZXQoJ2Nvb2tpZScpO1xuICAgIGlmIChfLmlzTmlsKF9jb29raWUpID09PSBmYWxzZSkge1xuICAgICAgcmVxLmhlYWRlcnMuY29va2llID0gJzxDbGFzc2lmaWVkPic7XG4gICAgfVxuXG4gICAgcmVxLnVybCA9IHJlcS5vcmlnaW5hbFVybDtcbiAgICAvLyBhdm9pZCBsb2cgbm9pc2UgZGF0YSBmcm9tIHN0YXRpYyBjb250ZW50XG4gICAgaWYgKHJlcS5vcmlnaW5hbFVybC5tYXRjaCgvc3RhdGljLykgPT09IG51bGwpIHtcbiAgICAgIGxvZ2dlci5odHRwKHsgcmVxOiByZXEsIGlwOiByZXEuaXAgfSwgXCJAe2lwfSByZXF1ZXN0ZWQgJ0B7cmVxLm1ldGhvZH0gQHtyZXEudXJsfSdcIik7XG4gICAgfVxuICAgIHJlcS5vcmlnaW5hbFVybCA9IHJlcS51cmw7XG5cbiAgICBpZiAoXy5pc05pbChfYXV0aCkgPT09IGZhbHNlKSB7XG4gICAgICByZXEuaGVhZGVycy5hdXRob3JpemF0aW9uID0gX2F1dGg7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNOaWwoX2Nvb2tpZSkgPT09IGZhbHNlKSB7XG4gICAgICByZXEuaGVhZGVycy5jb29raWUgPSBfY29va2llO1xuICAgIH1cblxuICAgIGxldCBieXRlc2luID0gMDtcbiAgICBpZiAoY29uZmlnPy5leHBlcmltZW50cz8uYnl0ZXNpbl9vZmYgIT09IHRydWUpIHtcbiAgICAgIHJlcS5vbignZGF0YScsIGZ1bmN0aW9uIChjaHVuayk6IHZvaWQge1xuICAgICAgICBieXRlc2luICs9IGNodW5rLmxlbmd0aDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCBieXRlc291dCA9IDA7XG4gICAgY29uc3QgX3dyaXRlID0gcmVzLndyaXRlO1xuICAgIC8vIEZJWE1FOiByZXMud3JpdGUgc2hvdWxkIHJldHVybiBib29sZWFuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJlcy53cml0ZSA9IGZ1bmN0aW9uIChidWYpOiBib29sZWFuIHtcbiAgICAgIGJ5dGVzb3V0ICs9IGJ1Zi5sZW5ndGg7XG4gICAgICAvKiBlc2xpbnQgcHJlZmVyLXJlc3QtcGFyYW1zOiBcIm9mZlwiICovXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBfd3JpdGUuYXBwbHkocmVzLCBhcmd1bWVudHMpO1xuICAgIH07XG5cbiAgICBsZXQgbG9nSGFzQmVlbkNhbGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGxvZyA9IGZ1bmN0aW9uICgpOiB2b2lkIHtcbiAgICAgIGlmIChsb2dIYXNCZWVuQ2FsbGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxvZ0hhc0JlZW5DYWxsZWQgPSB0cnVlO1xuXG4gICAgICBjb25zdCBmb3J3YXJkZWRGb3IgPSByZXEuZ2V0KCd4LWZvcndhcmRlZC1mb3InKTtcbiAgICAgIGNvbnN0IHJlbW90ZUFkZHJlc3MgPSByZXEuY29ubmVjdGlvbi5yZW1vdGVBZGRyZXNzO1xuICAgICAgY29uc3QgcmVtb3RlSVAgPSBmb3J3YXJkZWRGb3IgPyBgJHtmb3J3YXJkZWRGb3J9IHZpYSAke3JlbW90ZUFkZHJlc3N9YCA6IHJlbW90ZUFkZHJlc3M7XG4gICAgICBsZXQgbWVzc2FnZTtcbiAgICAgIGlmIChyZXMubG9jYWxzLl92ZXJkYWNjaW9fZXJyb3IpIHtcbiAgICAgICAgbWVzc2FnZSA9IExPR19WRVJEQUNDSU9fRVJST1I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlID0gTE9HX1ZFUkRBQ0NJT19CWVRFUztcbiAgICAgIH1cblxuICAgICAgcmVxLnVybCA9IHJlcS5vcmlnaW5hbFVybDtcbiAgICAgIC8vIGF2b2lkIGxvZyBub2lzZSBkYXRhIGZyb20gc3RhdGljIGNvbnRlbnRcbiAgICAgIGlmIChyZXEudXJsLm1hdGNoKC9zdGF0aWMvKSA9PT0gbnVsbCkge1xuICAgICAgICBsb2dnZXIuaHR0cChcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZXF1ZXN0OiB7XG4gICAgICAgICAgICAgIG1ldGhvZDogcmVxLm1ldGhvZCxcbiAgICAgICAgICAgICAgdXJsOiByZXEudXJsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXI6IChyZXEucmVtb3RlX3VzZXIgJiYgcmVxLnJlbW90ZV91c2VyLm5hbWUpIHx8IG51bGwsXG4gICAgICAgICAgICByZW1vdGVJUCxcbiAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1c0NvZGUsXG4gICAgICAgICAgICBlcnJvcjogcmVzLmxvY2Fscy5fdmVyZGFjY2lvX2Vycm9yLFxuICAgICAgICAgICAgYnl0ZXM6IHtcbiAgICAgICAgICAgICAgaW46IGJ5dGVzaW4sXG4gICAgICAgICAgICAgIG91dDogYnl0ZXNvdXQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVzc2FnZVxuICAgICAgICApO1xuICAgICAgICByZXEub3JpZ2luYWxVcmwgPSByZXEudXJsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXEub24oJ2Nsb3NlJywgZnVuY3Rpb24gKCk6IHZvaWQge1xuICAgICAgbG9nKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBfZW5kID0gcmVzLmVuZDtcbiAgICByZXMuZW5kID0gZnVuY3Rpb24gKGJ1Zik6IHZvaWQge1xuICAgICAgaWYgKGJ1Zikge1xuICAgICAgICBieXRlc291dCArPSBidWYubGVuZ3RoO1xuICAgICAgfVxuICAgICAgLyogZXNsaW50IHByZWZlci1yZXN0LXBhcmFtczogXCJvZmZcIiAqL1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgX2VuZC5hcHBseShyZXMsIGFyZ3VtZW50cyk7XG4gICAgICBsb2coKTtcbiAgICB9O1xuICAgIG5leHQoKTtcbiAgfTtcbn1cblxuLy8gTWlkZGxld2FyZVxuZXhwb3J0IGZ1bmN0aW9uIGVycm9yUmVwb3J0aW5nTWlkZGxld2FyZShyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICByZXMubG9jYWxzLnJlcG9ydF9lcnJvciA9XG4gICAgcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IgfHxcbiAgICBmdW5jdGlvbiAoZXJyOiBWZXJkYWNjaW9FcnJvcik6IHZvaWQge1xuICAgICAgaWYgKGVyci5zdGF0dXMgJiYgZXJyLnN0YXR1cyA+PSBIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCAmJiBlcnIuc3RhdHVzIDwgNjAwKSB7XG4gICAgICAgIGlmICghcmVzLmhlYWRlcnNTZW50KSB7XG4gICAgICAgICAgcmVzLnN0YXR1cyhlcnIuc3RhdHVzKTtcbiAgICAgICAgICBuZXh0KHsgZXJyb3I6IGVyci5tZXNzYWdlIHx8IEFQSV9FUlJPUi5VTktOT1dOX0VSUk9SIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnI6IGVyciB9LCAndW5leHBlY3RlZCBlcnJvcjogQHshZXJyLm1lc3NhZ2V9XFxuQHtlcnIuc3RhY2t9Jyk7XG4gICAgICAgIGlmICghcmVzLnN0YXR1cyB8fCAhcmVzLnNlbmQpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoJ3RoaXMgaXMgYW4gZXJyb3IgaW4gZXhwcmVzcy5qcywgcGxlYXNlIHJlcG9ydCB0aGlzJyk7XG4gICAgICAgICAgcmVzLmRlc3Ryb3koKTtcbiAgICAgICAgfSBlbHNlIGlmICghcmVzLmhlYWRlcnNTZW50KSB7XG4gICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUik7XG4gICAgICAgICAgbmV4dCh7IGVycm9yOiBBUElfRVJST1IuSU5URVJOQUxfU0VSVkVSX0VSUk9SIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHNvY2tldCBzaG91bGQgYmUgYWxyZWFkeSBjbG9zZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgbmV4dCgpO1xufVxuIl19
|
|
427
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIm1hdGNoIiwicmVnZXhwIiwicmVxIiwicmVzIiwibmV4dCIsInZhbHVlIiwiZXhlYyIsInNlcnZlRmF2aWNvbiIsImNvbmZpZyIsImxvZ29Db25mIiwid2ViIiwiZmF2aWNvbiIsInN0YXR1cyIsIl8iLCJpc0VtcHR5IiwidmFsaWRhdG9yIiwiaXNVUkwiLCJyZXF1aXJlX2hvc3QiLCJyZXF1aXJlX3ZhbGlkX3Byb3RvY29sIiwicmVkaXJlY3QiLCJmYXZpY29uUGF0aCIsInBhdGgiLCJub3JtYWxpemUiLCJmcyIsImFjY2VzcyIsImNvbnN0YW50cyIsIlJfT0siLCJlcnIiLCJtZXNzYWdlIiwiSFRUUF9TVEFUVVMiLCJOT1RfRk9VTkQiLCJlbmQiLCJzZXRIZWFkZXIiLCJjcmVhdGVSZWFkU3RyZWFtIiwicGlwZSIsInBvc2l4Iiwiam9pbiIsIl9fZGlybmFtZSIsInNldFNlY3VyaXR5V2ViSGVhZGVycyIsImhlYWRlciIsIkhFQURFUlMiLCJGUkFNRVNfT1BUSU9OUyIsIkNTUCIsIkNUTyIsIlhTUyIsInZhbGlkYXRlTmFtZSIsIm5hbWUiLCJFcnJvckNvZGUiLCJnZXRGb3JiaWRkZW4iLCJ2YWxpZGF0ZVBhY2thZ2UiLCJtZWRpYSIsImV4cGVjdCIsImhlYWRlcnMiLCJIRUFERVJfVFlQRSIsIkNPTlRFTlRfVFlQRSIsImdldENvZGUiLCJVTlNVUFBPUlRFRF9NRURJQSIsImdldCIsImVuY29kZVNjb3BlUGFja2FnZSIsInVybCIsImluZGV4T2YiLCJyZXBsYWNlIiwiZXhwZWN0SnNvbiIsImJvZHkiLCJnZXRCYWRSZXF1ZXN0IiwiYW50aUxvb3AiLCJ2aWEiLCJhcnIiLCJzcGxpdCIsImkiLCJsZW5ndGgiLCJtIiwic2VydmVyX2lkIiwiTE9PUF9ERVRFQ1RFRCIsImFsbG93IiwiYXV0aCIsImFjdGlvbiIsInBhdXNlIiwicGFja2FnZU5hbWUiLCJwYXJhbXMiLCJzY29wZSIsInBhY2thZ2UiLCJwYWNrYWdlVmVyc2lvbiIsInVuZGVmaW5lZCIsImZpbGVuYW1lIiwidmVyc2lvbnMiLCJPYmplY3QiLCJrZXlzIiwicmVtb3RlIiwicmVtb3RlX3VzZXIiLCJlcnJvciIsImFsbG93ZWQiLCJyZXN1bWUiLCJnZXRJbnRlcm5hbEVycm9yIiwiQVBJX0VSUk9SIiwiUExVR0lOX0VSUk9SIiwiZmluYWwiLCJzdGF0dXNDb2RlIiwiVU5BVVRIT1JJWkVEIiwiZ2V0SGVhZGVyIiwiV1dXX0FVVEgiLCJUT0tFTl9CQVNJQyIsIlRPS0VOX0JFQVJFUiIsImlzU3RyaW5nIiwiaXNPYmplY3QiLCJKU09OIiwiaXNOaWwiLCJsb2NhbHMiLCJfdmVyZGFjY2lvX2Vycm9yIiwic3RyaW5naWZ5IiwiT0siLCJNVUxUSVBMRV9DSE9JQ0VTIiwiRVRBRyIsInNvY2tldCIsImRlc3Ryb3kiLCJzZW5kIiwiTE9HX1NUQVRVU19NRVNTQUdFIiwiTE9HX1ZFUkRBQ0NJT19FUlJPUiIsIkxPR19WRVJEQUNDSU9fQllURVMiLCJsb2ciLCJfYXV0aCIsImF1dGhvcml6YXRpb24iLCJfY29va2llIiwiY29va2llIiwib3JpZ2luYWxVcmwiLCJsb2dnZXIiLCJodHRwIiwiaXAiLCJieXRlc2luIiwiZXhwZXJpbWVudHMiLCJieXRlc2luX29mZiIsIm9uIiwiY2h1bmsiLCJieXRlc291dCIsIl93cml0ZSIsIndyaXRlIiwiYnVmIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJsb2dIYXNCZWVuQ2FsbGVkIiwiZm9yd2FyZGVkRm9yIiwicmVtb3RlQWRkcmVzcyIsImNvbm5lY3Rpb24iLCJyZW1vdGVJUCIsInJlcXVlc3QiLCJtZXRob2QiLCJ1c2VyIiwiYnl0ZXMiLCJpbiIsIm91dCIsIl9lbmQiLCJlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUiLCJyZXBvcnRfZXJyb3IiLCJCQURfUkVRVUVTVCIsImhlYWRlcnNTZW50IiwiVU5LTk9XTl9FUlJPUiIsIklOVEVSTkFMX0VSUk9SIiwiSU5URVJOQUxfU0VSVkVS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QUcsQ0FBQytHLE9BQUo7QUFDRCxPQUhELE1BR08sSUFBSSxDQUFDL0csR0FBRyxDQUFDdUosV0FBVCxFQUFzQjtBQUMzQnZKLFFBQUFBLEdBQUcsQ0FBQ1MsTUFBSixDQUFXaUIsdUJBQVkrSCxjQUF2QjtBQUNBeEosUUFBQUEsSUFBSSxDQUFDO0FBQUVzRixVQUFBQSxLQUFLLEVBQUVJLHFCQUFVK0Q7QUFBbkIsU0FBRCxDQUFKO0FBQ0QsT0FITSxNQUdBLENBQ0w7QUFDRDtBQUNGO0FBQ0YsR0FwQkg7O0FBc0JBekosRUFBQUEsSUFBSTtBQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB2YWxpZGF0b3IgZnJvbSAndmFsaWRhdG9yJztcblxuaW1wb3J0IHsgVmVyZGFjY2lvRXJyb3IgfSBmcm9tICdAdmVyZGFjY2lvL2NvbW1vbnMtYXBpJztcbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSwgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCBJQXV0aCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgSEVBREVSUywgSEVBREVSX1RZUEUsIEhUVFBfU1RBVFVTLCBUT0tFTl9CQVNJQywgVE9LRU5fQkVBUkVSIH0gZnJvbSAnLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzdHJpbmdUb01ENSB9IGZyb20gJy4uL2xpYi9jcnlwdG8tdXRpbHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBFcnJvckNvZGUsIGdldFZlcnNpb25Gcm9tVGFyYmFsbCwgaXNPYmplY3QsIHZhbGlkYXRlTmFtZSBhcyB1dGlsVmFsaWRhdGVOYW1lLCB2YWxpZGF0ZVBhY2thZ2UgYXMgdXRpbFZhbGlkYXRlUGFja2FnZSB9IGZyb20gJy4uL2xpYi91dGlscyc7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygndmVyZGFjY2lvJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaChyZWdleHA6IFJlZ0V4cCk6IGFueSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocmVnZXhwLmV4ZWModmFsdWUpKSB7XG4gICAgICBuZXh0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHQoJ3JvdXRlJyk7XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VydmVGYXZpY29uKGNvbmZpZzogQ29uZmlnKSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICB0cnkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgbG9nb0NvbmY6IHN0cmluZyA9IGNvbmZpZz8ud2ViPy5mYXZpY29uIGFzIHN0cmluZztcbiAgICAgIGlmIChsb2dvQ29uZiA9PT0gJycpIHtcbiAgICAgICAgZGVidWcoJ2Zhdmljb24gZGlzYWJsZWQnKTtcbiAgICAgICAgcmVzLnN0YXR1cyg0MDQpO1xuICAgICAgfSBlbHNlIGlmICghXy5pc0VtcHR5KGxvZ29Db25mKSkge1xuICAgICAgICBkZWJ1ZygnY3VzdG9tIGZhdmljb24nKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZhbGlkYXRvci5pc1VSTChsb2dvQ29uZiwge1xuICAgICAgICAgICAgcmVxdWlyZV9ob3N0OiB0cnVlLFxuICAgICAgICAgICAgcmVxdWlyZV92YWxpZF9wcm90b2NvbDogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICApIHtcbiAgICAgICAgICBkZWJ1ZygncmVkaXJlY3QgdG8gJW8nLCBsb2dvQ29uZik7XG4gICAgICAgICAgcmVzLnJlZGlyZWN0KGxvZ29Db25mKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZmF2aWNvblBhdGggPSBwYXRoLm5vcm1hbGl6ZShsb2dvQ29uZik7XG4gICAgICAgICAgZGVidWcoJ3NlcnZpbmcgZmF2aWNvbiBmcm9tICVvJywgZmF2aWNvblBhdGgpO1xuICAgICAgICAgIGZzLmFjY2VzcyhmYXZpY29uUGF0aCwgZnMuY29uc3RhbnRzLlJfT0ssIChlcnIpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgZGVidWcoJ25vIHJlYWQgcGVybWlzc2lvbnMgdG8gcmVhZDogJW8sIHJlYXNvbjonLCBsb2dvQ29uZiwgZXJyPy5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKS5lbmQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ2NvbnRlbnQtdHlwZScsICdpbWFnZS94LWljb24nKTtcbiAgICAgICAgICAgICAgZnMuY3JlYXRlUmVhZFN0cmVhbShmYXZpY29uUGF0aCkucGlwZShyZXMpO1xuICAgICAgICAgICAgICBkZWJ1ZygncmVuZGVyZWQgY3VzdG9tIGljbycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXMuc2V0SGVhZGVyKCdjb250ZW50LXR5cGUnLCAnaW1hZ2UveC1pY29uJyk7XG4gICAgICAgIGZzLmNyZWF0ZVJlYWRTdHJlYW0ocGF0aC5wb3NpeC5qb2luKF9fZGlybmFtZSwgJy4vd2ViL2h0bWwvZmF2aWNvbi5pY28nKSkucGlwZShyZXMpO1xuICAgICAgICBkZWJ1ZygncmVuZGVyZWQgaWNvJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBkZWJ1ZygnZXJyb3IgdHJpZ2dlcmVkLCBmYXZpY29uIG5vdCBmb3VuZCcpO1xuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5OT1RfRk9VTkQpLmVuZCgpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlY3VyaXR5V2ViSGVhZGVycyhyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAvLyBkaXNhYmxlIGxvYWRpbmcgaW4gZnJhbWVzIChjbGlja2phY2tpbmcsIGV0Yy4pXG4gIHJlcy5oZWFkZXIoSEVBREVSUy5GUkFNRVNfT1BUSU9OUywgJ2RlbnknKTtcbiAgLy8gYXZvaWQgc3RhYmxpc2ggY29ubmVjdGlvbnMgb3V0c2lkZSBvZiBkb21haW5cbiAgcmVzLmhlYWRlcihIRUFERVJTLkNTUCwgXCJjb25uZWN0LXNyYyAnc2VsZidcIik7XG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4MzM3NjMwL3doYXQtaXMteC1jb250ZW50LXR5cGUtb3B0aW9ucy1ub3NuaWZmXG4gIHJlcy5oZWFkZXIoSEVBREVSUy5DVE8sICdub3NuaWZmJyk7XG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzkwOTA1Nzcvd2hhdC1pcy10aGUtaHR0cC1oZWFkZXIteC14c3MtcHJvdGVjdGlvblxuICByZXMuaGVhZGVyKEhFQURFUlMuWFNTLCAnMTsgbW9kZT1ibG9jaycpO1xuICBuZXh0KCk7XG59XG5cbi8vIGZsb3c6IGV4cHJlc3MgZG9lcyBub3QgbWF0Y2ggcHJvcGVybHlcbi8vIGZsb3cgaW5mbyBodHRwczovL2dpdGh1Yi5jb20vZmxvd3R5cGUvZmxvdy10eXBlZC9pc3N1ZXM/dXRmOD0lRTIlOUMlOTMmcT1pcyUzQWlzc3VlK2lzJTNBb3BlbitleHByZXNzXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOYW1lKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyLCB2YWx1ZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKHZhbHVlID09PSAnLScpIHtcbiAgICAvLyBzcGVjaWFsIGNhc2UgaW4gY291Y2hkYiB1c3VhbGx5XG4gICAgbmV4dCgncm91dGUnKTtcbiAgfSBlbHNlIGlmICh1dGlsVmFsaWRhdGVOYW1lKHZhbHVlKSkge1xuICAgIG5leHQoKTtcbiAgfSBlbHNlIHtcbiAgICBuZXh0KEVycm9yQ29kZS5nZXRGb3JiaWRkZW4oJ2ludmFsaWQgJyArIG5hbWUpKTtcbiAgfVxufVxuXG4vLyBmbG93OiBleHByZXNzIGRvZXMgbm90IG1hdGNoIHByb3Blcmx5XG4vLyBmbG93IGluZm8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb3d0eXBlL2Zsb3ctdHlwZWQvaXNzdWVzP3V0Zjg9JUUyJTlDJTkzJnE9aXMlM0Fpc3N1ZStpcyUzQW9wZW4rZXhwcmVzc1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGFja2FnZShyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlciwgdmFsdWU6IHN0cmluZywgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmICh2YWx1ZSA9PT0gJy0nKSB7XG4gICAgLy8gc3BlY2lhbCBjYXNlIGluIGNvdWNoZGIgdXN1YWxseVxuICAgIG5leHQoJ3JvdXRlJyk7XG4gIH0gZWxzZSBpZiAodXRpbFZhbGlkYXRlUGFja2FnZSh2YWx1ZSkpIHtcbiAgICBuZXh0KCk7XG4gIH0gZWxzZSB7XG4gICAgbmV4dChFcnJvckNvZGUuZ2V0Rm9yYmlkZGVuKCdpbnZhbGlkICcgKyBuYW1lKSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lZGlhKGV4cGVjdDogc3RyaW5nIHwgbnVsbCk6IGFueSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBpZiAocmVxLmhlYWRlcnNbSEVBREVSX1RZUEUuQ09OVEVOVF9UWVBFXSAhPT0gZXhwZWN0KSB7XG4gICAgICBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLlVOU1VQUE9SVEVEX01FRElBLCAnd3JvbmcgY29udGVudC10eXBlLCBleHBlY3Q6ICcgKyBleHBlY3QgKyAnLCBnb3Q6ICcgKyByZXEuZ2V0KEhFQURFUl9UWVBFLkNPTlRFTlRfVFlQRSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV4dCgpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVNjb3BlUGFja2FnZShyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICBpZiAocmVxLnVybC5pbmRleE9mKCdAJykgIT09IC0xKSB7XG4gICAgLy8gZS5nLjogL0BvcmcvcGtnLzEuMi4zIC0+IC9Ab3JnJTJGcGtnLzEuMi4zLCAvQG9yZyUyRnBrZy8xLjIuMyAtPiAvQG9yZyUyRnBrZy8xLjIuM1xuICAgIHJlcS51cmwgPSByZXEudXJsLnJlcGxhY2UoL14oXFwvQFteXFwvJV0rKVxcLyg/ISQpLywgJyQxJTJGJyk7XG4gIH1cbiAgbmV4dCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwZWN0SnNvbihyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICBpZiAoIWlzT2JqZWN0KHJlcS5ib2R5KSkge1xuICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRCYWRSZXF1ZXN0KFwiY2FuJ3QgcGFyc2UgaW5jb21pbmcganNvblwiKSk7XG4gIH1cbiAgbmV4dCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYW50aUxvb3AoY29uZmlnOiBDb25maWcpOiBGdW5jdGlvbiB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBpZiAocmVxPy5oZWFkZXJzPy52aWEgIT0gbnVsbCkge1xuICAgICAgY29uc3QgYXJyID0gcmVxLmhlYWRlcnMudmlhLnNwbGl0KCcsJyk7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IG0gPSBhcnJbaV0ubWF0Y2goL1xccyooXFxTKylcXHMrKFxcUyspLyk7XG4gICAgICAgIGlmIChtICYmIG1bMl0gPT09IGNvbmZpZy5zZXJ2ZXJfaWQpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5MT09QX0RFVEVDVEVELCAnbG9vcCBkZXRlY3RlZCcpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBuZXh0KCk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGxvdyhhdXRoOiBJQXV0aCk6IEZ1bmN0aW9uIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhY3Rpb246IHN0cmluZyk6IEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICByZXEucGF1c2UoKTtcbiAgICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5zY29wZSA/IGBAJHtyZXEucGFyYW1zLnNjb3BlfS8ke3JlcS5wYXJhbXMucGFja2FnZX1gIDogcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgICAgbGV0IHBhY2thZ2VWZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICBpZiAocmVxLnBhcmFtcy5maWxlbmFtZSkge1xuICAgICAgICBwYWNrYWdlVmVyc2lvbiA9IGdldFZlcnNpb25Gcm9tVGFyYmFsbChyZXEucGFyYW1zLmZpbGVuYW1lKSB8fCB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXEuYm9keS52ZXJzaW9ucyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcGFja2FnZVZlcnNpb24gPSBPYmplY3Qua2V5cyhyZXEuYm9keS52ZXJzaW9ucylbMF07XG4gICAgICB9XG4gICAgICBjb25zdCByZW1vdGU6IFJlbW90ZVVzZXIgPSByZXEucmVtb3RlX3VzZXI7XG4gICAgICBkZWJ1ZygnW21pZGRsZXdhcmUvYWxsb3ddWyVvXSBhbGxvdyBmb3IgJW8nLCBhY3Rpb24sIHJlbW90ZT8ubmFtZSk7XG4gICAgICBhdXRoWydhbGxvd18nICsgYWN0aW9uXSh7IHBhY2thZ2VOYW1lLCBwYWNrYWdlVmVyc2lvbiB9LCByZW1vdGUsIGZ1bmN0aW9uIChlcnJvciwgYWxsb3dlZCk6IHZvaWQge1xuICAgICAgICByZXEucmVzdW1lKCk7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIG5leHQoZXJyb3IpO1xuICAgICAgICB9IGVsc2UgaWYgKGFsbG93ZWQpIHtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gbGFzdCBwbHVnaW4gKHRoYXQncyBvdXIgYnVpbHQtaW4gb25lKSByZXR1cm5zIGVpdGhlclxuICAgICAgICAgIC8vIGNiKGVycikgb3IgY2IobnVsbCwgdHJ1ZSksIHNvIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgICAgICAgIHRocm93IEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5QTFVHSU5fRVJST1IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pZGRsZXdhcmVFcnJvciB7XG4gIGVycm9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEZpbmFsQm9keSA9IFBhY2thZ2UgfCBNaWRkbGV3YXJlRXJyb3IgfCBzdHJpbmc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbChib2R5OiBGaW5hbEJvZHksIHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gIGlmIChyZXMuc3RhdHVzQ29kZSA9PT0gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEICYmICFyZXMuZ2V0SGVhZGVyKEhFQURFUlMuV1dXX0FVVEgpKSB7XG4gICAgLy8gdGhleSBzYXkgaXQncyByZXF1aXJlZCBmb3IgNDAxLCBzby4uLlxuICAgIHJlcy5oZWFkZXIoSEVBREVSUy5XV1dfQVVUSCwgYCR7VE9LRU5fQkFTSUN9LCAke1RPS0VOX0JFQVJFUn1gKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKF8uaXNTdHJpbmcoYm9keSkgfHwgXy5pc09iamVjdChib2R5KSkge1xuICAgICAgaWYgKCFyZXMuZ2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFKSkge1xuICAgICAgICByZXMuaGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCBIRUFERVJTLkpTT04pO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdvYmplY3QnICYmIF8uaXNOaWwoYm9keSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgKGJvZHkgYXMgTWlkZGxld2FyZUVycm9yKS5lcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXMubG9jYWxzLl92ZXJkYWNjaW9fZXJyb3IgPSAoYm9keSBhcyBNaWRkbGV3YXJlRXJyb3IpLmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5LCB1bmRlZmluZWQsICcgICcpICsgJ1xcbic7XG4gICAgICB9XG5cbiAgICAgIC8vIGRvbid0IHNlbmQgZXRhZ3Mgd2l0aCBlcnJvcnNcbiAgICAgIGlmICghcmVzLnN0YXR1c0NvZGUgfHwgKHJlcy5zdGF0dXNDb2RlID49IEhUVFBfU1RBVFVTLk9LICYmIHJlcy5zdGF0dXNDb2RlIDwgSFRUUF9TVEFUVVMuTVVMVElQTEVfQ0hPSUNFUykpIHtcbiAgICAgICAgcmVzLmhlYWRlcihIRUFERVJTLkVUQUcsICdcIicgKyBzdHJpbmdUb01ENShib2R5IGFzIHN0cmluZykgKyAnXCInKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gc2VuZChudWxsKSwgc2VuZCgyMDQpLCBldGMuXG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICAvLyBpZiB2ZXJkYWNjaW8gc2VuZHMgaGVhZGVycyBmaXJzdCwgYW5kIHRoZW4gY2FsbHMgcmVzLnNlbmQoKVxuICAgIC8vIGFzIGFuIGVycm9yIGhhbmRsZXIsIHdlIGNhbid0IHJlcG9ydCBlcnJvciBwcm9wZXJseSxcbiAgICAvLyBhbmQgc2hvdWxkIGp1c3QgY2xvc2Ugc29ja2V0XG4gICAgaWYgKGVyci5tZXNzYWdlLm1hdGNoKC9zZXQgaGVhZGVycyBhZnRlciB0aGV5IGFyZSBzZW50LykpIHtcbiAgICAgIGlmIChfLmlzTmlsKHJlcy5zb2NrZXQpID09PSBmYWxzZSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJlcy5zb2NrZXQuZGVzdHJveSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aHJvdyBlcnI7XG4gIH1cblxuICByZXMuc2VuZChib2R5KTtcbn1cblxuZXhwb3J0IGNvbnN0IExPR19TVEFUVVNfTUVTU0FHRSA9IFwiQHtzdGF0dXN9LCB1c2VyOiBAe3VzZXJ9KEB7cmVtb3RlSVB9KSwgcmVxOiAnQHtyZXF1ZXN0Lm1ldGhvZH0gQHtyZXF1ZXN0LnVybH0nXCI7XG5leHBvcnQgY29uc3QgTE9HX1ZFUkRBQ0NJT19FUlJPUiA9IGAke0xPR19TVEFUVVNfTUVTU0FHRX0sIGVycm9yOiBAeyFlcnJvcn1gO1xuZXhwb3J0IGNvbnN0IExPR19WRVJEQUNDSU9fQllURVMgPSBgJHtMT0dfU1RBVFVTX01FU1NBR0V9LCBieXRlczogQHtieXRlcy5pbn0vQHtieXRlcy5vdXR9YDtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvZyhjb25maWc6IENvbmZpZykge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgX2F1dGggPSByZXEuaGVhZGVycy5hdXRob3JpemF0aW9uO1xuICAgIGlmIChfLmlzTmlsKF9hdXRoKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJlcS5oZWFkZXJzLmF1dGhvcml6YXRpb24gPSAnPENsYXNzaWZpZWQ+JztcbiAgICB9XG5cbiAgICBjb25zdCBfY29va2llID0gcmVxLmdldCgnY29va2llJyk7XG4gICAgaWYgKF8uaXNOaWwoX2Nvb2tpZSkgPT09IGZhbHNlKSB7XG4gICAgICByZXEuaGVhZGVycy5jb29raWUgPSAnPENsYXNzaWZpZWQ+JztcbiAgICB9XG5cbiAgICByZXEudXJsID0gcmVxLm9yaWdpbmFsVXJsO1xuICAgIC8vIGF2b2lkIGxvZyBub2lzZSBkYXRhIGZyb20gc3RhdGljIGNvbnRlbnRcbiAgICBpZiAocmVxLm9yaWdpbmFsVXJsLm1hdGNoKC9zdGF0aWMvKSA9PT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmh0dHAoeyByZXE6IHJlcSwgaXA6IHJlcS5pcCB9LCBcIkB7aXB9IHJlcXVlc3RlZCAnQHtyZXEubWV0aG9kfSBAe3JlcS51cmx9J1wiKTtcbiAgICB9XG4gICAgcmVxLm9yaWdpbmFsVXJsID0gcmVxLnVybDtcblxuICAgIGlmIChfLmlzTmlsKF9hdXRoKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJlcS5oZWFkZXJzLmF1dGhvcml6YXRpb24gPSBfYXV0aDtcbiAgICB9XG5cbiAgICBpZiAoXy5pc05pbChfY29va2llKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJlcS5oZWFkZXJzLmNvb2tpZSA9IF9jb29raWU7XG4gICAgfVxuXG4gICAgbGV0IGJ5dGVzaW4gPSAwO1xuICAgIGlmIChjb25maWc/LmV4cGVyaW1lbnRzPy5ieXRlc2luX29mZiAhPT0gdHJ1ZSkge1xuICAgICAgcmVxLm9uKCdkYXRhJywgZnVuY3Rpb24gKGNodW5rKTogdm9pZCB7XG4gICAgICAgIGJ5dGVzaW4gKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IGJ5dGVzb3V0ID0gMDtcbiAgICBjb25zdCBfd3JpdGUgPSByZXMud3JpdGU7XG4gICAgLy8gRklYTUU6IHJlcy53cml0ZSBzaG91bGQgcmV0dXJuIGJvb2xlYW5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmVzLndyaXRlID0gZnVuY3Rpb24gKGJ1Zik6IGJvb2xlYW4ge1xuICAgICAgYnl0ZXNvdXQgKz0gYnVmLmxlbmd0aDtcbiAgICAgIC8qIGVzbGludCBwcmVmZXItcmVzdC1wYXJhbXM6IFwib2ZmXCIgKi9cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIF93cml0ZS5hcHBseShyZXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcblxuICAgIGxldCBsb2dIYXNCZWVuQ2FsbGVkID0gZmFsc2U7XG4gICAgY29uc3QgbG9nID0gZnVuY3Rpb24gKCk6IHZvaWQge1xuICAgICAgaWYgKGxvZ0hhc0JlZW5DYWxsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbG9nSGFzQmVlbkNhbGxlZCA9IHRydWU7XG5cbiAgICAgIGNvbnN0IGZvcndhcmRlZEZvciA9IHJlcS5nZXQoJ3gtZm9yd2FyZGVkLWZvcicpO1xuICAgICAgY29uc3QgcmVtb3RlQWRkcmVzcyA9IHJlcS5jb25uZWN0aW9uLnJlbW90ZUFkZHJlc3M7XG4gICAgICBjb25zdCByZW1vdGVJUCA9IGZvcndhcmRlZEZvciA/IGAke2ZvcndhcmRlZEZvcn0gdmlhICR7cmVtb3RlQWRkcmVzc31gIDogcmVtb3RlQWRkcmVzcztcbiAgICAgIGxldCBtZXNzYWdlO1xuICAgICAgaWYgKHJlcy5sb2NhbHMuX3ZlcmRhY2Npb19lcnJvcikge1xuICAgICAgICBtZXNzYWdlID0gTE9HX1ZFUkRBQ0NJT19FUlJPUjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2UgPSBMT0dfVkVSREFDQ0lPX0JZVEVTO1xuICAgICAgfVxuXG4gICAgICByZXEudXJsID0gcmVxLm9yaWdpbmFsVXJsO1xuICAgICAgLy8gYXZvaWQgbG9nIG5vaXNlIGRhdGEgZnJvbSBzdGF0aWMgY29udGVudFxuICAgICAgaWYgKHJlcS51cmwubWF0Y2goL3N0YXRpYy8pID09PSBudWxsKSB7XG4gICAgICAgIGxvZ2dlci5odHRwKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICAgICAgbWV0aG9kOiByZXEubWV0aG9kLFxuICAgICAgICAgICAgICB1cmw6IHJlcS51cmwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjogKHJlcS5yZW1vdGVfdXNlciAmJiByZXEucmVtb3RlX3VzZXIubmFtZSkgfHwgbnVsbCxcbiAgICAgICAgICAgIHJlbW90ZUlQLFxuICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIGVycm9yOiByZXMubG9jYWxzLl92ZXJkYWNjaW9fZXJyb3IsXG4gICAgICAgICAgICBieXRlczoge1xuICAgICAgICAgICAgICBpbjogYnl0ZXNpbixcbiAgICAgICAgICAgICAgb3V0OiBieXRlc291dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICk7XG4gICAgICAgIHJlcS5vcmlnaW5hbFVybCA9IHJlcS51cmw7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlcS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKTogdm9pZCB7XG4gICAgICBsb2coKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IF9lbmQgPSByZXMuZW5kO1xuICAgIHJlcy5lbmQgPSBmdW5jdGlvbiAoYnVmKTogdm9pZCB7XG4gICAgICBpZiAoYnVmKSB7XG4gICAgICAgIGJ5dGVzb3V0ICs9IGJ1Zi5sZW5ndGg7XG4gICAgICB9XG4gICAgICAvKiBlc2xpbnQgcHJlZmVyLXJlc3QtcGFyYW1zOiBcIm9mZlwiICovXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBfZW5kLmFwcGx5KHJlcywgYXJndW1lbnRzKTtcbiAgICAgIGxvZygpO1xuICAgIH07XG4gICAgbmV4dCgpO1xuICB9O1xufVxuXG4vLyBNaWRkbGV3YXJlXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yID1cbiAgICByZXMubG9jYWxzLnJlcG9ydF9lcnJvciB8fFxuICAgIGZ1bmN0aW9uIChlcnI6IFZlcmRhY2Npb0Vycm9yKTogdm9pZCB7XG4gICAgICBpZiAoZXJyLnN0YXR1cyAmJiBlcnIuc3RhdHVzID49IEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNUICYmIGVyci5zdGF0dXMgPCA2MDApIHtcbiAgICAgICAgaWYgKCFyZXMuaGVhZGVyc1NlbnQpIHtcbiAgICAgICAgICByZXMuc3RhdHVzKGVyci5zdGF0dXMpO1xuICAgICAgICAgIG5leHQoeyBlcnJvcjogZXJyLm1lc3NhZ2UgfHwgQVBJX0VSUk9SLlVOS05PV05fRVJST1IgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcih7IGVycjogZXJyIH0sICd1bmV4cGVjdGVkIGVycm9yOiBAeyFlcnIubWVzc2FnZX1cXG5Ae2Vyci5zdGFja30nKTtcbiAgICAgICAgaWYgKCFyZXMuc3RhdHVzIHx8ICFyZXMuc2VuZCkge1xuICAgICAgICAgIGxvZ2dlci5lcnJvcigndGhpcyBpcyBhbiBlcnJvciBpbiBleHByZXNzLmpzLCBwbGVhc2UgcmVwb3J0IHRoaXMnKTtcbiAgICAgICAgICByZXMuZGVzdHJveSgpO1xuICAgICAgICB9IGVsc2UgaWYgKCFyZXMuaGVhZGVyc1NlbnQpIHtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SKTtcbiAgICAgICAgICBuZXh0KHsgZXJyb3I6IEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gc29ja2V0IHNob3VsZCBiZSBhbHJlYWR5IGNsb3NlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICBuZXh0KCk7XG59XG4iXX0=
|
|
@@ -9,9 +9,9 @@ var _expressRateLimit = _interopRequireDefault(require("express-rate-limit"));
|
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
|
|
16
16
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
17
|
|
|
@@ -21,4 +21,4 @@ const limiter = rateLimitOptions => {
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
exports.limiter = limiter;
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcmF0ZS1saW1pdGVyLnRzIl0sIm5hbWVzIjpbImxpbWl0ZXIiLCJyYXRlTGltaXRPcHRpb25zIiwiUmF0ZUxpbWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7QUFJQSxNQUFNQSxPQUFPLEdBQUlDLGdCQUFELElBQXFDO0FBQ25EO0FBQ0EsU0FBTyxJQUFJQyx5QkFBSixtQkFDRkQsZ0JBREUsRUFBUDtBQUdELENBTEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmF0ZUxpbWl0IGZyb20gJ2V4cHJlc3MtcmF0ZS1saW1pdCc7XG5cbmltcG9ydCB7IFJhdGVMaW1pdCBhcyBSYXRlTGltaXRUeXBlIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmNvbnN0IGxpbWl0ZXIgPSAocmF0ZUxpbWl0T3B0aW9uczogUmF0ZUxpbWl0VHlwZSkgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIHJldHVybiBuZXcgUmF0ZUxpbWl0KHtcbiAgICAuLi5yYXRlTGltaXRPcHRpb25zLFxuICB9KTtcbn07XG5cbmV4cG9ydCB7IGxpbWl0ZXIgfTtcbiJdfQ==
|
package/build/api/web/api.js
CHANGED
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = _default;
|
|
7
7
|
|
|
8
|
-
var _express = require("express");
|
|
9
|
-
|
|
10
8
|
var _bodyParser = _interopRequireDefault(require("body-parser"));
|
|
11
9
|
|
|
10
|
+
var _express = require("express");
|
|
11
|
+
|
|
12
12
|
var _search = _interopRequireDefault(require("../../lib/search"));
|
|
13
13
|
|
|
14
14
|
var _middleware = require("../middleware");
|
|
@@ -41,4 +41,4 @@ function _default(config, auth, storage) {
|
|
|
41
41
|
route.use((0, _endpoint.default)(auth, storage, config));
|
|
42
42
|
return route;
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvd2ViL2FwaS50cyJdLCJuYW1lcyI6WyJyb3V0ZSIsImNvbmZpZyIsImF1dGgiLCJzdG9yYWdlIiwiU2VhcmNoIiwiY29uZmlndXJlU3RvcmFnZSIsInBhcmFtIiwidmFsaWRhdGVQYWNrYWdlIiwidmFsaWRhdGVOYW1lIiwidXNlIiwiYm9keVBhcnNlciIsInVybGVuY29kZWQiLCJleHRlbmRlZCIsIndlYlVJSldUbWlkZGxld2FyZSIsInNldFNlY3VyaXR5V2ViSGVhZGVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUtBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUV4QjtBQUNBO0FBQ0E7O0FBQ2Usa0JBQVVDLE1BQVYsRUFBMEJDLElBQTFCLEVBQXVDQyxPQUF2QyxFQUF5RTtBQUN0RkMsa0JBQU9DLGdCQUFQLENBQXdCRixPQUF4QixFQURzRixDQUV0RjtBQUNBOzs7QUFDQUgsRUFBQUEsS0FBSyxDQUFDTSxLQUFOLENBQVksU0FBWixFQUF1QkMsMkJBQXZCO0FBQ0FQLEVBQUFBLEtBQUssQ0FBQ00sS0FBTixDQUFZLFVBQVosRUFBd0JFLHdCQUF4QjtBQUNBUixFQUFBQSxLQUFLLENBQUNNLEtBQU4sQ0FBWSxTQUFaLEVBQXVCRSx3QkFBdkI7QUFDQVIsRUFBQUEsS0FBSyxDQUFDTSxLQUFOLENBQVksVUFBWixFQUF3Qix1QkFBTSxJQUFOLENBQXhCO0FBRUFOLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVQyxvQkFBV0MsVUFBWCxDQUFzQjtBQUFFQyxJQUFBQSxRQUFRLEVBQUU7QUFBWixHQUF0QixDQUFWO0FBQ0FaLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVUCxJQUFJLENBQUNXLGtCQUFMLEVBQVY7QUFDQWIsRUFBQUEsS0FBSyxDQUFDUyxHQUFOLENBQVVLLGlDQUFWO0FBQ0FkLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVLHVCQUFPUCxJQUFQLEVBQWFDLE9BQWIsRUFBc0JGLE1BQXRCLENBQVY7QUFDQSxTQUFPRCxLQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYm9keVBhcnNlciBmcm9tICdib2R5LXBhcnNlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcblxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCB7IElBdXRoLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgU2VhcmNoIGZyb20gJy4uLy4uL2xpYi9zZWFyY2gnO1xuaW1wb3J0IHsgbWF0Y2gsIHNldFNlY3VyaXR5V2ViSGVhZGVycywgdmFsaWRhdGVOYW1lLCB2YWxpZGF0ZVBhY2thZ2UgfSBmcm9tICcuLi9taWRkbGV3YXJlJztcbmltcG9ydCB3ZWJBcGkgZnJvbSAnLi9lbmRwb2ludCc7XG5cbmNvbnN0IHJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG5cbi8qXG4gVGhpcyBmaWxlIGluY2x1ZGUgYWxsIHZlcmRhY2NpbyBvbmx5IEFQSShXZWIgVUkpLCBmb3IgbnBtIEFQSSBwbGVhc2Ugc2VlIC4uL2VuZHBvaW50L1xuKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChjb25maWc6IENvbmZpZywgYXV0aDogSUF1dGgsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlcik6IFJvdXRlciB7XG4gIFNlYXJjaC5jb25maWd1cmVTdG9yYWdlKHN0b3JhZ2UpO1xuICAvLyB2YWxpZGF0ZSBhbGwgb2YgdGhlc2UgcGFyYW1zIGFzIGEgcGFja2FnZSBuYW1lXG4gIC8vIHRoaXMgbWlnaHQgYmUgdG9vIGhhcnNoLCBzbyBhc2sgaWYgaXQgY2F1c2VzIHRyb3VibGVcbiAgcm91dGUucGFyYW0oJ3BhY2thZ2UnLCB2YWxpZGF0ZVBhY2thZ2UpO1xuICByb3V0ZS5wYXJhbSgnZmlsZW5hbWUnLCB2YWxpZGF0ZU5hbWUpO1xuICByb3V0ZS5wYXJhbSgndmVyc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIHJvdXRlLnBhcmFtKCdhbnl0aGluZycsIG1hdGNoKC8uKi8pKTtcblxuICByb3V0ZS51c2UoYm9keVBhcnNlci51cmxlbmNvZGVkKHsgZXh0ZW5kZWQ6IGZhbHNlIH0pKTtcbiAgcm91dGUudXNlKGF1dGgud2ViVUlKV1RtaWRkbGV3YXJlKCkpO1xuICByb3V0ZS51c2Uoc2V0U2VjdXJpdHlXZWJIZWFkZXJzKTtcbiAgcm91dGUudXNlKHdlYkFwaShhdXRoLCBzdG9yYWdlLCBjb25maWcpKTtcbiAgcmV0dXJuIHJvdXRlO1xufVxuIl19
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _express = require("express");
|
|
9
9
|
|
|
10
|
+
var _utils = require("../../../lib/utils");
|
|
11
|
+
|
|
10
12
|
var _rateLimiter = require("../../rate-limiter");
|
|
11
13
|
|
|
12
14
|
var _package = _interopRequireDefault(require("./package"));
|
|
@@ -17,9 +19,9 @@ var _user = _interopRequireDefault(require("./user"));
|
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
23
|
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
25
|
|
|
24
26
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
27
|
|
|
@@ -37,9 +39,13 @@ var _default = (auth, storage, config) => {
|
|
|
37
39
|
route.use('/data/', (0, _package.default)(storage, auth, config));
|
|
38
40
|
route.use('/data/', (0, _search.default)(storage, auth));
|
|
39
41
|
route.use('/sec/', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit));
|
|
40
|
-
|
|
42
|
+
|
|
43
|
+
if ((0, _utils.hasLogin)(config)) {
|
|
44
|
+
route.use('/sec/', (0, _user.default)(auth, storage));
|
|
45
|
+
}
|
|
46
|
+
|
|
41
47
|
return route;
|
|
42
48
|
};
|
|
43
49
|
|
|
44
50
|
exports.default = _default;
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L2luZGV4LnRzIl0sIm5hbWVzIjpbImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwicm91dGUiLCJ1c2UiLCJ3aW5kb3dNcyIsIm1heCIsIndlYiIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztlQUVlLENBQUNBLElBQUQsRUFBT0MsT0FBUCxFQUFnQkMsTUFBaEIsS0FBMkI7QUFBQTs7QUFDeEMsUUFBTUMsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUN4QkEsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQ0UsUUFERixFQUVFO0FBQ0VDLElBQUFBLFFBQVEsRUFBRSxJQUFJLEVBQUosR0FBUyxJQURyQjtBQUMyQjtBQUN6QkMsSUFBQUEsR0FBRyxFQUFFO0FBRlAsS0FHS0osTUFITCxhQUdLQSxNQUhMLHNDQUdLQSxNQUFNLENBQUVLLEdBSGIsZ0RBR0ssWUFBYUMsU0FIbEIsRUFGRjtBQVFBTCxFQUFBQSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxRQUFWLEVBQW9CLHNCQUFXSCxPQUFYLEVBQW9CRCxJQUFwQixFQUEwQkUsTUFBMUIsQ0FBcEI7QUFDQUMsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsUUFBVixFQUFvQixxQkFBT0gsT0FBUCxFQUFnQkQsSUFBaEIsQ0FBcEI7QUFDQUcsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsT0FBVixFQUFtQiwwQkFBUUYsTUFBUixhQUFRQSxNQUFSLHVCQUFRQSxNQUFNLENBQUVPLGFBQWhCLENBQW5COztBQUNBLE1BQUkscUJBQVNQLE1BQVQsQ0FBSixFQUFzQjtBQUNwQkMsSUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsT0FBVixFQUFtQixtQkFBS0osSUFBTCxFQUFXQyxPQUFYLENBQW5CO0FBQ0Q7O0FBQ0QsU0FBT0UsS0FBUDtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5cbmltcG9ydCB7IGhhc0xvZ2luIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGxpbWl0ZXIgfSBmcm9tICcuLi8uLi9yYXRlLWxpbWl0ZXInO1xuaW1wb3J0IHBhY2thZ2VBcGkgZnJvbSAnLi9wYWNrYWdlJztcbmltcG9ydCBzZWFyY2ggZnJvbSAnLi9zZWFyY2gnO1xuaW1wb3J0IHVzZXIgZnJvbSAnLi91c2VyJztcblxuZXhwb3J0IGRlZmF1bHQgKGF1dGgsIHN0b3JhZ2UsIGNvbmZpZykgPT4ge1xuICBjb25zdCByb3V0ZSA9IFJvdXRlcigpOyAvKiBlc2xpbnQgbmV3LWNhcDogMCAqL1xuICByb3V0ZS51c2UoXG4gICAgJy9kYXRhLycsXG4gICAgbGltaXRlcih7XG4gICAgICB3aW5kb3dNczogMiAqIDYwICogMTAwMCwgLy8gMiAgbWludXRlc1xuICAgICAgbWF4OiA1MDAwLCAvLyBsaW1pdCBlYWNoIElQIHRvIDEwMDAgcmVxdWVzdHMgcGVyIHdpbmRvd01zXG4gICAgICAuLi5jb25maWc/LndlYj8ucmF0ZUxpbWl0LFxuICAgIH0pXG4gICk7XG4gIHJvdXRlLnVzZSgnL2RhdGEvJywgcGFja2FnZUFwaShzdG9yYWdlLCBhdXRoLCBjb25maWcpKTtcbiAgcm91dGUudXNlKCcvZGF0YS8nLCBzZWFyY2goc3RvcmFnZSwgYXV0aCkpO1xuICByb3V0ZS51c2UoJy9zZWMvJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpKTtcbiAgaWYgKGhhc0xvZ2luKGNvbmZpZykpIHtcbiAgICByb3V0ZS51c2UoJy9zZWMvJywgdXNlcihhdXRoLCBzdG9yYWdlKSk7XG4gIH1cbiAgcmV0dXJuIHJvdXRlO1xufTtcbiJdfQ==
|
|
@@ -5,25 +5,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
|
|
10
8
|
var _express = require("express");
|
|
11
9
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _middleware = require("../../middleware");
|
|
10
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
15
11
|
|
|
16
12
|
var _constants = require("../../../lib/constants");
|
|
17
13
|
|
|
14
|
+
var _logger = require("../../../lib/logger");
|
|
15
|
+
|
|
16
|
+
var _utils = require("../../../lib/utils");
|
|
17
|
+
|
|
18
18
|
var _user = require("../../../utils/user");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _middleware = require("../../middleware");
|
|
21
21
|
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
24
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
25
|
|
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
26
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
27
27
|
|
|
28
28
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
29
|
|
|
@@ -183,4 +183,4 @@ function addPackageWebApi(storage, auth, config) {
|
|
|
183
183
|
|
|
184
184
|
var _default = addPackageWebApi;
|
|
185
185
|
exports.default = _default;
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3BhY2thZ2UudHMiXSwibmFtZXMiOlsiZ2V0T3JkZXIiLCJvcmRlciIsImFkZFBhY2thZ2VXZWJBcGkiLCJzdG9yYWdlIiwiYXV0aCIsImNvbmZpZyIsImNhbiIsInBrZ1JvdXRlciIsImNoZWNrQWxsb3ciLCJuYW1lIiwicmVtb3RlVXNlciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiYWxsb3dfYWNjZXNzIiwicGFja2FnZU5hbWUiLCJlcnIiLCJhbGxvd2VkIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsImdldExvY2FsRGF0YWJhc2UiLCJwYWNrYWdlcyIsInByb2Nlc3NQYWNrYWdlcyIsInBlcm1pc3Npb25zIiwicGFja2dlc0NvcHkiLCJzbGljZSIsInBrZyIsInBrZ0NvcHkiLCJhdXRob3IiLCJyZW1vdGVfdXNlciIsIndlYiIsImF2YXRhciIsImVtYWlsIiwiZ3JhdmF0YXIiLCJfIiwiaXNOaWwiLCJkaXN0IiwiaXNOdWxsIiwidGFyYmFsbCIsInVybF9wcmVmaXgiLCJwdXNoIiwibG9nZ2VyIiwiZXJyb3IiLCJzb3J0X3BhY2thZ2VzIiwiRXJyb3JDb2RlIiwiZ2V0SW50ZXJuYWxFcnJvciIsInBhcmFtcyIsInNjb3BlIiwicGFja2FnZSIsImdldFBhY2thZ2UiLCJ1cGxpbmtzTG9vayIsImNhbGxiYWNrIiwiaW5mbyIsInNldCIsIkhFQURFUl9UWVBFIiwiQ09OVEVOVF9UWVBFIiwiSEVBREVSUyIsIlRFWFRfUExBSU4iLCJyZWZlcmVyIiwicGF0aG5hbWUiLCJVUkwiLCJ1bmRlZmluZWQiLCJyZWFkbWUiLCJrZWVwVXBMaW5rRGF0YSIsInYiLCJxdWVyeSIsInNpZGVCYXJJbmZvIiwiY2xvbmUiLCJ2ZXJzaW9ucyIsImxhdGVzdCIsIkRJU1RfVEFHUyIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiTk9UX0ZPVU5EIiwiZW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7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Q0Q7QUFDRjs7QUFDRFIsVUFBQUEsV0FBVyxHQUFHLDZCQUFpQixDQUFDLFFBQUQsRUFBVyxjQUFYLEVBQTJCLE1BQTNCLEVBQW1DLE1BQW5DLENBQWpCLEVBQTZEQSxXQUE3RCxDQUFkOztBQUNBLGNBQUkvRCxNQUFNLENBQUMyQixHQUFYLEVBQWdCO0FBQ2RvQyxZQUFBQSxXQUFXLEdBQUcsK0JBQW1CQSxXQUFuQixFQUFnQy9ELE1BQU0sQ0FBQzJCLEdBQVAsQ0FBV0csUUFBM0MsQ0FBZDtBQUNELFdBRkQsTUFFTztBQUNMaUMsWUFBQUEsV0FBVyxHQUFHLCtCQUFtQkEsV0FBbkIsQ0FBZDtBQUNEOztBQUNEL0MsVUFBQUEsSUFBSSxDQUFDK0MsV0FBRCxDQUFKO0FBQ0QsU0F6QkQsTUF5Qk87QUFDTGhELFVBQUFBLEdBQUcsQ0FBQ3FELE1BQUosQ0FBV0MsdUJBQVlDLFNBQXZCO0FBQ0F2RCxVQUFBQSxHQUFHLENBQUN3RCxHQUFKO0FBQ0Q7QUFDRjtBQW5DZ0IsS0FBbkI7QUFxQ0QsR0F4Q0Q7QUEwQ0EsU0FBT3JFLFNBQVA7QUFDRDs7ZUFFY0wsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBDb25maWcsIFBhY2thZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7XG4gIGFkZFNjb3BlLFxuICBhZGRHcmF2YXRhclN1cHBvcnQsXG4gIGRlbGV0ZVByb3BlcnRpZXMsXG4gIHNvcnRCeU5hbWUsXG4gIHBhcnNlUmVhZG1lLFxuICBmb3JtYXRBdXRob3IsXG4gIGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzLFxuICBnZXRMb2NhbFJlZ2lzdHJ5VGFyYmFsbFVyaSxcbiAgaXNWZXJzaW9uVmFsaWQsXG4gIEVycm9yQ29kZSxcbn0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnLi4vLi4vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBESVNUX1RBR1MsIEhFQURFUl9UWVBFLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVHcmF2YXRhclVybCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3VzZXInO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBJQXV0aCwgJFJlc3BvbnNlRXh0ZW5kLCAkUmVxdWVzdEV4dGVuZCwgJE5leHRGdW5jdGlvblZlciwgSVN0b3JhZ2VIYW5kbGVyLCAkU2lkZWJhclBhY2thZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5cbmNvbnN0IGdldE9yZGVyID0gKG9yZGVyID0gJ2FzYycpID0+IHtcbiAgcmV0dXJuIG9yZGVyID09PSAnYXNjJztcbn07XG5cbmV4cG9ydCB0eXBlIFBhY2tjYWdlRXh0ID0gUGFja2FnZSAmIHsgYXV0aG9yOiBhbnk7IGRpc3Q/OiB7IHRhcmJhbGw6IHN0cmluZyB9IH07XG5cbmZ1bmN0aW9uIGFkZFBhY2thZ2VXZWJBcGkoc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyLCBhdXRoOiBJQXV0aCwgY29uZmlnOiBDb25maWcpOiBSb3V0ZXIge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoKTtcbiAgY29uc3QgcGtnUm91dGVyID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG5cbiAgY29uc3QgY2hlY2tBbGxvdyA9IChuYW1lLCByZW1vdGVVc2VyKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpOiB2b2lkID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF1dGguYWxsb3dfYWNjZXNzKHsgcGFja2FnZU5hbWU6IG5hbWUgfSwgcmVtb3RlVXNlciwgKGVyciwgYWxsb3dlZCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNvbHZlKGFsbG93ZWQpO1xuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAvLyBHZXQgbGlzdCBvZiBhbGwgdmlzaWJsZSBwYWNrYWdlXG4gIHBrZ1JvdXRlci5nZXQoJy9wYWNrYWdlcycsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIHN0b3JhZ2UuZ2V0TG9jYWxEYXRhYmFzZShhc3luYyBmdW5jdGlvbiAoZXJyLCBwYWNrYWdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG5cbiAgICAgIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NQYWNrYWdlcyhwYWNrYWdlczogUGFja2NhZ2VFeHRbXSA9IFtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnM6IFBhY2tjYWdlRXh0W10gPSBbXTtcbiAgICAgICAgY29uc3QgcGFja2dlc0NvcHkgPSBwYWNrYWdlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiBwYWNrZ2VzQ29weSkge1xuICAgICAgICAgIGNvbnN0IHBrZ0NvcHkgPSB7IC4uLnBrZyB9O1xuICAgICAgICAgIHBrZ0NvcHkuYXV0aG9yID0gZm9ybWF0QXV0aG9yKHBrZy5hdXRob3IpO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoYXdhaXQgY2hlY2tBbGxvdyhwa2cubmFtZSwgcmVxLnJlbW90ZV91c2VyKSkge1xuICAgICAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgICAgIHBrZ0NvcHkuYXV0aG9yLmF2YXRhciA9IGdlbmVyYXRlR3JhdmF0YXJVcmwocGtnQ29weS5hdXRob3IuZW1haWwsIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICghXy5pc05pbChwa2dDb3B5LmRpc3QpICYmICFfLmlzTnVsbChwa2dDb3B5LmRpc3QudGFyYmFsbCkpIHtcbiAgICAgICAgICAgICAgICBwa2dDb3B5LmRpc3QudGFyYmFsbCA9IGdldExvY2FsUmVnaXN0cnlUYXJiYWxsVXJpKHBrZ0NvcHkuZGlzdC50YXJiYWxsLCBwa2cubmFtZSwgcmVxLCBjb25maWcudXJsX3ByZWZpeCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaChwa2dDb3B5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih7IG5hbWU6IHBrZy5uYW1lLCBlcnJvcjogZXJyIH0sICdwZXJtaXNzaW9uIHByb2Nlc3MgZm9yIEB7bmFtZX0gaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbnM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgd2ViIH0gPSBjb25maWc7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBvcmRlcjogYm9vbGVhbiA9IGNvbmZpZy53ZWIgPyBnZXRPcmRlcih3ZWIuc29ydF9wYWNrYWdlcykgOiB0cnVlO1xuXG4gICAgICB0cnkge1xuICAgICAgICBuZXh0KHNvcnRCeU5hbWUoYXdhaXQgcHJvY2Vzc1BhY2thZ2VzKHBhY2thZ2VzKSwgb3JkZXIpKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIG5leHQoRXJyb3JDb2RlLmdldEludGVybmFsRXJyb3IoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIEdldCBwYWNrYWdlIHJlYWRtZVxuICBwa2dSb3V0ZXIuZ2V0KCcvcGFja2FnZS9yZWFkbWUvKEA6c2NvcGUvKT86cGFja2FnZS86dmVyc2lvbj8nLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMuc2NvcGUgPyBhZGRTY29wZShyZXEucGFyYW1zLnNjb3BlLCByZXEucGFyYW1zLnBhY2thZ2UpIDogcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgIG5hbWU6IHBhY2thZ2VOYW1lLFxuICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVyciwgaW5mbyk6IHZvaWQge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcy5zZXQoSEVBREVSX1RZUEUuQ09OVEVOVF9UWVBFLCBIRUFERVJTLlRFWFRfUExBSU4pO1xuICAgICAgICBjb25zdCByZWZlcmVyID0gcmVxLmdldCgnUmVmZXJlcicpO1xuICAgICAgICBjb25zdCBwYXRobmFtZSA9IHJlZmVyZXIgPyBuZXcgVVJMKHJlZmVyZXIpLnBhdGhuYW1lIDogdW5kZWZpbmVkO1xuICAgICAgICBuZXh0KHBhcnNlUmVhZG1lKGluZm8ubmFtZSwgaW5mby5yZWFkbWUsIHsgcGF0aG5hbWUgfSkpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcGtnUm91dGVyLmdldCgnL3NpZGViYXIvKEA6c2NvcGUvKT86cGFja2FnZScsIGNhbignYWNjZXNzJyksIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lOiBzdHJpbmcgPSByZXEucGFyYW1zLnNjb3BlID8gYWRkU2NvcGUocmVxLnBhcmFtcy5zY29wZSwgcmVxLnBhcmFtcy5wYWNrYWdlKSA6IHJlcS5wYXJhbXMucGFja2FnZTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAga2VlcFVwTGlua0RhdGE6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVycjogRXJyb3IsIGluZm86ICRTaWRlYmFyUGFja2FnZSk6IHZvaWQge1xuICAgICAgICBpZiAoXy5pc05pbChlcnIpKSB7XG4gICAgICAgICAgY29uc3QgeyB2IH0gPSByZXEucXVlcnk7XG4gICAgICAgICAgbGV0IHNpZGVCYXJJbmZvOiBhbnkgPSBfLmNsb25lKGluZm8pO1xuICAgICAgICAgIHNpZGVCYXJJbmZvLnZlcnNpb25zID0gY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMoaW5mbywgcmVxLCBjb25maWcudXJsX3ByZWZpeCkudmVyc2lvbnM7XG4gICAgICAgICAgaWYgKGlzVmVyc2lvblZhbGlkKGluZm8sIHYpKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QgPSBzaWRlQmFySW5mby52ZXJzaW9uc1t2XTtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IgPSBmb3JtYXRBdXRob3Ioc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdCA9IHNpZGVCYXJJbmZvLnZlcnNpb25zW2luZm9bRElTVF9UQUdTXS5sYXRlc3RdO1xuICAgICAgICAgICAgaWYgKHNpZGVCYXJJbmZvPy5sYXRlc3QpIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvciA9IGZvcm1hdEF1dGhvcihzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNpZGVCYXJJbmZvID0gZGVsZXRlUHJvcGVydGllcyhbJ3JlYWRtZScsICdfYXR0YWNobWVudHMnLCAnX3JldicsICduYW1lJ10sIHNpZGVCYXJJbmZvKTtcbiAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8sIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaWRlQmFySW5mbyA9IGFkZEdyYXZhdGFyU3VwcG9ydChzaWRlQmFySW5mbyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG5leHQoc2lkZUJhckluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICByZXMuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBwa2dSb3V0ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFkZFBhY2thZ2VXZWJBcGk7XG4iXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3BhY2thZ2UudHMiXSwibmFtZXMiOlsiZ2V0T3JkZXIiLCJvcmRlciIsImFkZFBhY2thZ2VXZWJBcGkiLCJzdG9yYWdlIiwiYXV0aCIsImNvbmZpZyIsImNhbiIsInBrZ1JvdXRlciIsImNoZWNrQWxsb3ciLCJuYW1lIiwicmVtb3RlVXNlciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiYWxsb3dfYWNjZXNzIiwicGFja2FnZU5hbWUiLCJlcnIiLCJhbGxvd2VkIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsImdldExvY2FsRGF0YWJhc2UiLCJwYWNrYWdlcyIsInByb2Nlc3NQYWNrYWdlcyIsInBlcm1pc3Npb25zIiwicGFja2dlc0NvcHkiLCJzbGljZSIsInBrZyIsInBrZ0NvcHkiLCJhdXRob3IiLCJyZW1vdGVfdXNlciIsIndlYiIsImF2YXRhciIsImVtYWlsIiwiZ3JhdmF0YXIiLCJfIiwiaXNOaWwiLCJkaXN0IiwiaXNOdWxsIiwidGFyYmFsbCIsInVybF9wcmVmaXgiLCJwdXNoIiwibG9nZ2VyIiwiZXJyb3IiLCJzb3J0X3BhY2thZ2VzIiwiRXJyb3JDb2RlIiwiZ2V0SW50ZXJuYWxFcnJvciIsInBhcmFtcyIsInNjb3BlIiwicGFja2FnZSIsImdldFBhY2thZ2UiLCJ1cGxpbmtzTG9vayIsImNhbGxiYWNrIiwiaW5mbyIsInNldCIsIkhFQURFUl9UWVBFIiwiQ09OVEVOVF9UWVBFIiwiSEVBREVSUyIsIlRFWFRfUExBSU4iLCJyZWZlcmVyIiwicGF0aG5hbWUiLCJVUkwiLCJ1bmRlZmluZWQiLCJyZWFkbWUiLCJrZWVwVXBMaW5rRGF0YSIsInYiLCJxdWVyeSIsInNpZGVCYXJJbmZvIiwiY2xvbmUiLCJ2ZXJzaW9ucyIsImxhdGVzdCIsIkRJU1RfVEFHUyIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiTk9UX0ZPVU5EIiwiZW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7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Q0Q7QUFDRjs7QUFDRFIsVUFBQUEsV0FBVyxHQUFHLDZCQUFpQixDQUFDLFFBQUQsRUFBVyxjQUFYLEVBQTJCLE1BQTNCLEVBQW1DLE1BQW5DLENBQWpCLEVBQTZEQSxXQUE3RCxDQUFkOztBQUNBLGNBQUkvRCxNQUFNLENBQUMyQixHQUFYLEVBQWdCO0FBQ2RvQyxZQUFBQSxXQUFXLEdBQUcsK0JBQW1CQSxXQUFuQixFQUFnQy9ELE1BQU0sQ0FBQzJCLEdBQVAsQ0FBV0csUUFBM0MsQ0FBZDtBQUNELFdBRkQsTUFFTztBQUNMaUMsWUFBQUEsV0FBVyxHQUFHLCtCQUFtQkEsV0FBbkIsQ0FBZDtBQUNEOztBQUNEL0MsVUFBQUEsSUFBSSxDQUFDK0MsV0FBRCxDQUFKO0FBQ0QsU0F6QkQsTUF5Qk87QUFDTGhELFVBQUFBLEdBQUcsQ0FBQ3FELE1BQUosQ0FBV0MsdUJBQVlDLFNBQXZCO0FBQ0F2RCxVQUFBQSxHQUFHLENBQUN3RCxHQUFKO0FBQ0Q7QUFDRjtBQW5DZ0IsS0FBbkI7QUFxQ0QsR0F4Q0Q7QUEwQ0EsU0FBT3JFLFNBQVA7QUFDRDs7ZUFFY0wsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCAkU2lkZWJhclBhY2thZ2UsIElBdXRoLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBESVNUX1RBR1MsIEhFQURFUlMsIEhFQURFUl9UWVBFLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQge1xuICBFcnJvckNvZGUsXG4gIGFkZEdyYXZhdGFyU3VwcG9ydCxcbiAgYWRkU2NvcGUsXG4gIGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzLFxuICBkZWxldGVQcm9wZXJ0aWVzLFxuICBmb3JtYXRBdXRob3IsXG4gIGdldExvY2FsUmVnaXN0cnlUYXJiYWxsVXJpLFxuICBpc1ZlcnNpb25WYWxpZCxcbiAgcGFyc2VSZWFkbWUsXG4gIHNvcnRCeU5hbWUsXG59IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUdyYXZhdGFyVXJsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXNlcic7XG5pbXBvcnQgeyBhbGxvdyB9IGZyb20gJy4uLy4uL21pZGRsZXdhcmUnO1xuXG5jb25zdCBnZXRPcmRlciA9IChvcmRlciA9ICdhc2MnKSA9PiB7XG4gIHJldHVybiBvcmRlciA9PT0gJ2FzYyc7XG59O1xuXG5leHBvcnQgdHlwZSBQYWNrY2FnZUV4dCA9IFBhY2thZ2UgJiB7IGF1dGhvcjogYW55OyBkaXN0PzogeyB0YXJiYWxsOiBzdHJpbmcgfSB9O1xuXG5mdW5jdGlvbiBhZGRQYWNrYWdlV2ViQXBpKHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciwgYXV0aDogSUF1dGgsIGNvbmZpZzogQ29uZmlnKTogUm91dGVyIHtcbiAgY29uc3QgY2FuID0gYWxsb3coYXV0aCk7XG4gIGNvbnN0IHBrZ1JvdXRlciA9IFJvdXRlcigpOyAvKiBlc2xpbnQgbmV3LWNhcDogMCAqL1xuXG4gIGNvbnN0IGNoZWNrQWxsb3cgPSAobmFtZSwgcmVtb3RlVXNlcik6IFByb21pc2U8Ym9vbGVhbj4gPT5cbiAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KTogdm9pZCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhdXRoLmFsbG93X2FjY2Vzcyh7IHBhY2thZ2VOYW1lOiBuYW1lIH0sIHJlbW90ZVVzZXIsIChlcnIsIGFsbG93ZWQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzb2x2ZShhbGxvd2VkKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8gR2V0IGxpc3Qgb2YgYWxsIHZpc2libGUgcGFja2FnZVxuICBwa2dSb3V0ZXIuZ2V0KCcvcGFja2FnZXMnLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBzdG9yYWdlLmdldExvY2FsRGF0YWJhc2UoYXN5bmMgZnVuY3Rpb24gKGVyciwgcGFja2FnZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuXG4gICAgICBhc3luYyBmdW5jdGlvbiBwcm9jZXNzUGFja2FnZXMocGFja2FnZXM6IFBhY2tjYWdlRXh0W10gPSBbXSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb25zOiBQYWNrY2FnZUV4dFtdID0gW107XG4gICAgICAgIGNvbnN0IHBhY2tnZXNDb3B5ID0gcGFja2FnZXMuc2xpY2UoKTtcbiAgICAgICAgZm9yIChjb25zdCBwa2cgb2YgcGFja2dlc0NvcHkpIHtcbiAgICAgICAgICBjb25zdCBwa2dDb3B5ID0geyAuLi5wa2cgfTtcbiAgICAgICAgICBwa2dDb3B5LmF1dGhvciA9IGZvcm1hdEF1dGhvcihwa2cuYXV0aG9yKTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IGNoZWNrQWxsb3cocGtnLm5hbWUsIHJlcS5yZW1vdGVfdXNlcikpIHtcbiAgICAgICAgICAgICAgaWYgKGNvbmZpZy53ZWIpIHtcbiAgICAgICAgICAgICAgICBwa2dDb3B5LmF1dGhvci5hdmF0YXIgPSBnZW5lcmF0ZUdyYXZhdGFyVXJsKHBrZ0NvcHkuYXV0aG9yLmVtYWlsLCBjb25maWcud2ViLmdyYXZhdGFyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIV8uaXNOaWwocGtnQ29weS5kaXN0KSAmJiAhXy5pc051bGwocGtnQ29weS5kaXN0LnRhcmJhbGwpKSB7XG4gICAgICAgICAgICAgICAgcGtnQ29weS5kaXN0LnRhcmJhbGwgPSBnZXRMb2NhbFJlZ2lzdHJ5VGFyYmFsbFVyaShwa2dDb3B5LmRpc3QudGFyYmFsbCwgcGtnLm5hbWUsIHJlcSwgY29uZmlnLnVybF9wcmVmaXgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zLnB1c2gocGtnQ29weSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBuYW1lOiBwa2cubmFtZSwgZXJyb3I6IGVyciB9LCAncGVybWlzc2lvbiBwcm9jZXNzIGZvciBAe25hbWV9IGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHdlYiB9ID0gY29uZmlnO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3Qgb3JkZXI6IGJvb2xlYW4gPSBjb25maWcud2ViID8gZ2V0T3JkZXIod2ViLnNvcnRfcGFja2FnZXMpIDogdHJ1ZTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbmV4dChzb3J0QnlOYW1lKGF3YWl0IHByb2Nlc3NQYWNrYWdlcyhwYWNrYWdlcyksIG9yZGVyKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICAvLyBHZXQgcGFja2FnZSByZWFkbWVcbiAgcGtnUm91dGVyLmdldCgnL3BhY2thZ2UvcmVhZG1lLyhAOnNjb3BlLyk/OnBhY2thZ2UvOnZlcnNpb24/JywgY2FuKCdhY2Nlc3MnKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSByZXEucGFyYW1zLnNjb3BlID8gYWRkU2NvcGUocmVxLnBhcmFtcy5zY29wZSwgcmVxLnBhcmFtcy5wYWNrYWdlKSA6IHJlcS5wYXJhbXMucGFja2FnZTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cblxuICAgICAgICByZXMuc2V0KEhFQURFUl9UWVBFLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5URVhUX1BMQUlOKTtcbiAgICAgICAgY29uc3QgcmVmZXJlciA9IHJlcS5nZXQoJ1JlZmVyZXInKTtcbiAgICAgICAgY29uc3QgcGF0aG5hbWUgPSByZWZlcmVyID8gbmV3IFVSTChyZWZlcmVyKS5wYXRobmFtZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgbmV4dChwYXJzZVJlYWRtZShpbmZvLm5hbWUsIGluZm8ucmVhZG1lLCB7IHBhdGhuYW1lIH0pKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHBrZ1JvdXRlci5nZXQoJy9zaWRlYmFyLyhAOnNjb3BlLyk/OnBhY2thZ2UnLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZTogc3RyaW5nID0gcmVxLnBhcmFtcy5zY29wZSA/IGFkZFNjb3BlKHJlcS5wYXJhbXMuc2NvcGUsIHJlcS5wYXJhbXMucGFja2FnZSkgOiByZXEucGFyYW1zLnBhY2thZ2U7XG5cbiAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgbmFtZTogcGFja2FnZU5hbWUsXG4gICAgICB1cGxpbmtzTG9vazogdHJ1ZSxcbiAgICAgIGtlZXBVcExpbmtEYXRhOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnI6IEVycm9yLCBpbmZvOiAkU2lkZWJhclBhY2thZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKF8uaXNOaWwoZXJyKSkge1xuICAgICAgICAgIGNvbnN0IHsgdiB9ID0gcmVxLnF1ZXJ5O1xuICAgICAgICAgIGxldCBzaWRlQmFySW5mbzogYW55ID0gXy5jbG9uZShpbmZvKTtcbiAgICAgICAgICBzaWRlQmFySW5mby52ZXJzaW9ucyA9IGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzKGluZm8sIHJlcSwgY29uZmlnLnVybF9wcmVmaXgpLnZlcnNpb25zO1xuICAgICAgICAgIGlmIChpc1ZlcnNpb25WYWxpZChpbmZvLCB2KSkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0ID0gc2lkZUJhckluZm8udmVyc2lvbnNbdl07XG4gICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yID0gZm9ybWF0QXV0aG9yKHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QgPSBzaWRlQmFySW5mby52ZXJzaW9uc1tpbmZvW0RJU1RfVEFHU10ubGF0ZXN0XTtcbiAgICAgICAgICAgIGlmIChzaWRlQmFySW5mbz8ubGF0ZXN0KSB7XG4gICAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IgPSBmb3JtYXRBdXRob3Ioc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk5PVF9GT1VORCk7XG4gICAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBzaWRlQmFySW5mbyA9IGRlbGV0ZVByb3BlcnRpZXMoWydyZWFkbWUnLCAnX2F0dGFjaG1lbnRzJywgJ19yZXYnLCAnbmFtZSddLCBzaWRlQmFySW5mbyk7XG4gICAgICAgICAgaWYgKGNvbmZpZy53ZWIpIHtcbiAgICAgICAgICAgIHNpZGVCYXJJbmZvID0gYWRkR3JhdmF0YXJTdXBwb3J0KHNpZGVCYXJJbmZvLCBjb25maWcud2ViLmdyYXZhdGFyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXh0KHNpZGVCYXJJbmZvKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk5PVF9GT1VORCk7XG4gICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gcGtnUm91dGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhZGRQYWNrYWdlV2ViQXBpO1xuIl19
|
|
@@ -7,10 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _express = require("express");
|
|
9
9
|
|
|
10
|
-
var _search = _interopRequireDefault(require("../../../lib/search"));
|
|
11
|
-
|
|
12
10
|
var _constants = require("../../../lib/constants");
|
|
13
11
|
|
|
12
|
+
var _search = _interopRequireDefault(require("../../../lib/search"));
|
|
13
|
+
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -65,4 +65,4 @@ function addSearchWebApi(storage, auth) {
|
|
|
65
65
|
|
|
66
66
|
var _default = addSearchWebApi;
|
|
67
67
|
exports.default = _default;
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3NlYXJjaC50cyJdLCJuYW1lcyI6WyJhZGRTZWFyY2hXZWJBcGkiLCJzdG9yYWdlIiwiYXV0aCIsInJvdXRlIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInJlc3VsdHMiLCJTZWFyY2giLCJxdWVyeSIsInBhcmFtcyIsImFueXRoaW5nIiwicGFja2FnZXMiLCJnZXRQYWNrYWdlSW5mbyIsImkiLCJnZXRQYWNrYWdlIiwibmFtZSIsInJlZiIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJlcnIiLCJlbnRyeSIsImFsbG93X2FjY2VzcyIsInBhY2thZ2VOYW1lIiwicmVtb3RlX3VzZXIiLCJhbGxvd2VkIiwicHVzaCIsInZlcnNpb25zIiwiRElTVF9UQUdTIiwibGF0ZXN0IiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7O0FBS0E7O0FBQ0E7Ozs7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQVNBLFNBQVNBLGVBQVQsQ0FBeUJDLE9BQXpCLEVBQW1EQyxJQUFuRCxFQUF3RTtBQUN0RSxRQUFNQyxLQUFLLEdBQUcsc0JBQWQ7QUFBd0I7QUFDeEI7O0FBQ0FBLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLG1CQUFWLEVBQStCLFVBQVVDLEdBQVYsRUFBK0JDLEdBQS9CLEVBQXFEQyxJQUFyRCxFQUFtRjtBQUNoSCxVQUFNQyxPQUFZLEdBQUdDLGdCQUFPQyxLQUFQLENBQWFMLEdBQUcsQ0FBQ00sTUFBSixDQUFXQyxRQUF4QixDQUFyQixDQURnSCxDQUVoSDs7O0FBQ0EsVUFBTUMsUUFBZSxHQUFHLEVBQXhCOztBQUVBLFVBQU1DLGNBQWMsR0FBRyxVQUFVQyxDQUFWLEVBQW1CO0FBQ3hDZCxNQUFBQSxPQUFPLENBQUNlLFVBQVIsQ0FBbUI7QUFDakJDLFFBQUFBLElBQUksRUFBRVQsT0FBTyxDQUFDTyxDQUFELENBQVAsQ0FBV0csR0FEQTtBQUVqQkMsUUFBQUEsV0FBVyxFQUFFLEtBRkk7QUFHakJDLFFBQUFBLFFBQVEsRUFBRSxDQUFDQyxHQUFELEVBQU1DLEtBQU4sS0FBK0I7QUFDdkMsY0FBSSxDQUFDRCxHQUFELElBQVFDLEtBQVosRUFBbUI7QUFDakJwQixZQUFBQSxJQUFJLENBQUNxQixZQUFMLENBQWtCO0FBQUVDLGNBQUFBLFdBQVcsRUFBRUYsS0FBSyxDQUFDTDtBQUFyQixhQUFsQixFQUErQ1osR0FBRyxDQUFDb0IsV0FBbkQsRUFBZ0UsVUFBVUosR0FBVixFQUFlSyxPQUFmLEVBQThCO0FBQzVGLGtCQUFJTCxHQUFHLElBQUksQ0FBQ0ssT0FBWixFQUFxQjtBQUNuQjtBQUNEOztBQUVEYixjQUFBQSxRQUFRLENBQUNjLElBQVQsQ0FBY0wsS0FBSyxDQUFDTSxRQUFOLENBQWVOLEtBQUssQ0FBQ08sb0JBQUQsQ0FBTCxDQUFpQkMsTUFBaEMsQ0FBZDtBQUNELGFBTkQ7QUFPRDs7QUFFRCxjQUFJZixDQUFDLElBQUlQLE9BQU8sQ0FBQ3VCLE1BQVIsR0FBaUIsQ0FBMUIsRUFBNkI7QUFDM0J4QixZQUFBQSxJQUFJLENBQUNNLFFBQUQsQ0FBSjtBQUNELFdBRkQsTUFFTztBQUNMQyxZQUFBQSxjQUFjLENBQUNDLENBQUMsR0FBRyxDQUFMLENBQWQ7QUFDRDtBQUNGO0FBbkJnQixPQUFuQjtBQXFCRCxLQXRCRDs7QUF3QkEsUUFBSVAsT0FBTyxDQUFDdUIsTUFBWixFQUFvQjtBQUNsQmpCLE1BQUFBLGNBQWMsQ0FBQyxDQUFELENBQWQ7QUFDRCxLQUZELE1BRU87QUFDTFAsTUFBQUEsSUFBSSxDQUFDLEVBQUQsQ0FBSjtBQUNEO0FBQ0YsR0FsQ0Q7QUFvQ0EsU0FBT0osS0FBUDtBQUNEOztlQUVjSCxlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqIEBmbG93XG4gKi9cbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kLCAkUmVzcG9uc2VFeHRlbmQsIElBdXRoLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBESVNUX1RBR1MgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCBTZWFyY2ggZnJvbSAnLi4vLi4vLi4vbGliL3NlYXJjaCc7XG5cbmZ1bmN0aW9uIGFkZFNlYXJjaFdlYkFwaShzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIsIGF1dGg6IElBdXRoKTogUm91dGVyIHtcbiAgY29uc3Qgcm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cbiAgLy8gU2VhcmNoIHBhY2thZ2VcbiAgcm91dGUuZ2V0KCcvc2VhcmNoLzphbnl0aGluZycsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdHM6IGFueSA9IFNlYXJjaC5xdWVyeShyZXEucGFyYW1zLmFueXRoaW5nKTtcbiAgICAvLyBGVVRVUkU6IGZpZ3VyZSBvdXQgaGVyZSB0aGUgY29ycmVjdCB0eXBlXG4gICAgY29uc3QgcGFja2FnZXM6IGFueVtdID0gW107XG5cbiAgICBjb25zdCBnZXRQYWNrYWdlSW5mbyA9IGZ1bmN0aW9uIChpKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgICBuYW1lOiByZXN1bHRzW2ldLnJlZixcbiAgICAgICAgdXBsaW5rc0xvb2s6IGZhbHNlLFxuICAgICAgICBjYWxsYmFjazogKGVyciwgZW50cnk6IFBhY2thZ2UpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAoIWVyciAmJiBlbnRyeSkge1xuICAgICAgICAgICAgYXV0aC5hbGxvd19hY2Nlc3MoeyBwYWNrYWdlTmFtZTogZW50cnkubmFtZSB9LCByZXEucmVtb3RlX3VzZXIsIGZ1bmN0aW9uIChlcnIsIGFsbG93ZWQpOiB2b2lkIHtcbiAgICAgICAgICAgICAgaWYgKGVyciB8fCAhYWxsb3dlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHBhY2thZ2VzLnB1c2goZW50cnkudmVyc2lvbnNbZW50cnlbRElTVF9UQUdTXS5sYXRlc3RdKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpID49IHJlc3VsdHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgbmV4dChwYWNrYWdlcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGdldFBhY2thZ2VJbmZvKGkgKyAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaWYgKHJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICBnZXRQYWNrYWdlSW5mbygwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV4dChbXSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcm91dGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFkZFNlYXJjaFdlYkFwaTtcbiJdfQ==
|
|
@@ -5,16 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
+
var _express = require("express");
|
|
9
|
+
|
|
8
10
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
11
|
|
|
10
|
-
var
|
|
12
|
+
var _authUtils = require("../../../lib/auth-utils");
|
|
11
13
|
|
|
12
14
|
var _constants = require("../../../lib/constants");
|
|
13
15
|
|
|
14
16
|
var _utils = require("../../../lib/utils");
|
|
15
17
|
|
|
16
|
-
var _authUtils = require("../../../lib/auth-utils");
|
|
17
|
-
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -79,4 +79,4 @@ function addUserAuthApi(auth, config) {
|
|
|
79
79
|
|
|
80
80
|
var _default = addUserAuthApi;
|
|
81
81
|
exports.default = _default;
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3VzZXIudHMiXSwibmFtZXMiOlsiYWRkVXNlckF1dGhBcGkiLCJhdXRoIiwiY29uZmlnIiwicm91dGUiLCJwb3N0IiwicmVxIiwicmVzIiwibmV4dCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJib2R5IiwiYXV0aGVudGljYXRlIiwiZXJyIiwidXNlciIsImVycm9yQ29kZSIsIm1lc3NhZ2UiLCJIVFRQX1NUQVRVUyIsIlVOQVVUSE9SSVpFRCIsIklOVEVSTkFMX0VSUk9SIiwiRXJyb3JDb2RlIiwiZ2V0Q29kZSIsInJlbW90ZV91c2VyIiwialdUU2lnbk9wdGlvbnMiLCJ3ZWIiLCJzaWduIiwic2V0IiwiSEVBREVSUyIsIkNBQ0hFX0NPTlRST0wiLCJ0b2tlbiIsImp3dEVuY3J5cHQiLCJuYW1lIiwicHV0IiwiXyIsImlzTmlsIiwic3RhdHVzIiwiQVBJX0VSUk9SIiwiTVVTVF9CRV9MT0dHRUQiLCJuZXciLCJjaGFuZ2VQYXNzd29yZCIsIm9sZCIsImlzVXBkYXRlZCIsIm9rIiwiZ2V0SW50ZXJuYWxFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkJBRF9SRVFVRVNUIiwiQVBQX0VSUk9SIiwiUEFTU1dPUkRfVkFMSURBVElPTiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUNBOztBQUtBOztBQUNBOztBQUNBOzs7O0FBWEE7QUFDQTtBQUNBO0FBV0EsU0FBU0EsY0FBVCxDQUF3QkMsSUFBeEIsRUFBcUNDLE1BQXJDLEVBQTZEO0FBQzNELFFBQU1DLEtBQUssR0FBRyxzQkFBZDtBQUF3Qjs7QUFDeEJBLEVBQUFBLEtBQUssQ0FBQ0MsSUFBTixDQUFXLFFBQVgsRUFBcUIsVUFBVUMsR0FBVixFQUF3QkMsR0FBeEIsRUFBdUNDLElBQXZDLEVBQXFFO0FBQ3hGLFVBQU07QUFBRUMsTUFBQUEsUUFBRjtBQUFZQyxNQUFBQTtBQUFaLFFBQXlCSixHQUFHLENBQUNLLElBQW5DO0FBRUFULElBQUFBLElBQUksQ0FBQ1UsWUFBTCxDQUFrQkgsUUFBbEIsRUFBNEJDLFFBQTVCLEVBQXNDLE9BQU9HLEdBQVAsRUFBWUMsSUFBWixLQUFnRDtBQUNwRixVQUFJRCxHQUFKLEVBQVM7QUFDUCxjQUFNRSxTQUFTLEdBQUdGLEdBQUcsQ0FBQ0csT0FBSixHQUFjQyx1QkFBWUMsWUFBMUIsR0FBeUNELHVCQUFZRSxjQUF2RTtBQUNBWCxRQUFBQSxJQUFJLENBQUNZLGlCQUFVQyxPQUFWLENBQWtCTixTQUFsQixFQUE2QkYsR0FBRyxDQUFDRyxPQUFqQyxDQUFELENBQUo7QUFDRCxPQUhELE1BR087QUFDTFYsUUFBQUEsR0FBRyxDQUFDZ0IsV0FBSixHQUFrQlIsSUFBbEI7QUFDQSxjQUFNUyxjQUE4QixHQUFHLDRCQUFZcEIsTUFBWixFQUFvQnFCLEdBQXBCLENBQXdCQyxJQUEvRDtBQUNBbEIsUUFBQUEsR0FBRyxDQUFDbUIsR0FBSixDQUFRQyxtQkFBUUMsYUFBaEIsRUFBK0Isb0JBQS9CO0FBQ0FwQixRQUFBQSxJQUFJLENBQUM7QUFDSHFCLFVBQUFBLEtBQUssRUFBRSxNQUFNM0IsSUFBSSxDQUFDNEIsVUFBTCxDQUFnQmhCLElBQWhCLEVBQXNCUyxjQUF0QixDQURWO0FBRUhkLFVBQUFBLFFBQVEsRUFBRUgsR0FBRyxDQUFDZ0IsV0FBSixDQUFnQlM7QUFGdkIsU0FBRCxDQUFKO0FBSUQ7QUFDRixLQWJEO0FBY0QsR0FqQkQ7QUFtQkEzQixFQUFBQSxLQUFLLENBQUM0QixHQUFOLENBQVUsaUJBQVYsRUFBNkIsVUFBVTFCLEdBQVYsRUFBd0JDLEdBQXhCLEVBQXVDQyxJQUF2QyxFQUFxRTtBQUNoRyxRQUFJeUIsZ0JBQUVDLEtBQUYsQ0FBUTVCLEdBQUcsQ0FBQ2dCLFdBQUosQ0FBZ0JTLElBQXhCLENBQUosRUFBbUM7QUFDakN4QixNQUFBQSxHQUFHLENBQUM0QixNQUFKLENBQVdsQix1QkFBWUMsWUFBdkI7QUFDQSxhQUFPVixJQUFJLENBQUM7QUFDVjtBQUNBUSxRQUFBQSxPQUFPLEVBQUVvQixxQkFBVUM7QUFGVCxPQUFELENBQVg7QUFJRDs7QUFFRCxVQUFNO0FBQUUzQixNQUFBQTtBQUFGLFFBQWVKLEdBQUcsQ0FBQ0ssSUFBekI7QUFDQSxVQUFNO0FBQUVvQixNQUFBQTtBQUFGLFFBQVd6QixHQUFHLENBQUNnQixXQUFyQjs7QUFFQSxRQUFJLGlDQUFpQlosUUFBUSxDQUFDNEIsR0FBMUIsTUFBbUMsS0FBdkMsRUFBOEM7QUFDNUNwQyxNQUFBQSxJQUFJLENBQUNxQyxjQUFMLENBQW9CUixJQUFwQixFQUFvQ3JCLFFBQVEsQ0FBQzhCLEdBQTdDLEVBQWtEOUIsUUFBUSxDQUFDNEIsR0FBM0QsRUFBZ0UsQ0FBQ3pCLEdBQUQsRUFBTTRCLFNBQU4sS0FBMEI7QUFDeEYsWUFBSVIsZ0JBQUVDLEtBQUYsQ0FBUXJCLEdBQVIsS0FBZ0I0QixTQUFwQixFQUErQjtBQUM3QmpDLFVBQUFBLElBQUksQ0FBQztBQUNIa0MsWUFBQUEsRUFBRSxFQUFFO0FBREQsV0FBRCxDQUFKO0FBR0QsU0FKRCxNQUlPO0FBQ0wsaUJBQU9sQyxJQUFJLENBQUNZLGlCQUFVdUIsZ0JBQVYsQ0FBMkJQLHFCQUFVUSxxQkFBckMsQ0FBRCxDQUFYO0FBQ0Q7QUFDRixPQVJEO0FBU0QsS0FWRCxNQVVPO0FBQ0wsYUFBT3BDLElBQUksQ0FBQ1ksaUJBQVVDLE9BQVYsQ0FBa0JKLHVCQUFZNEIsV0FBOUIsRUFBMkNDLHFCQUFVQyxtQkFBckQsQ0FBRCxDQUFYO0FBQ0Q7QUFDRixHQXpCRDtBQTJCQSxTQUFPM0MsS0FBUDtBQUNEOztlQUVjSCxjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IGV4cHJlc3MsIHsgUmVxdWVzdCwgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQ29uZmlnLCBKV1RTaWduT3B0aW9ucywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCBJQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFNlY3VyaXR5LCB2YWxpZGF0ZVBhc3N3b3JkIH0gZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUFBfRVJST1IsIEhFQURFUlMsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuXG5mdW5jdGlvbiBhZGRVc2VyQXV0aEFwaShhdXRoOiBJQXV0aCwgY29uZmlnOiBDb25maWcpOiBSb3V0ZXIge1xuICBjb25zdCByb3V0ZSA9IFJvdXRlcigpOyAvKiBlc2xpbnQgbmV3LWNhcDogMCAqL1xuICByb3V0ZS5wb3N0KCcvbG9naW4nLCBmdW5jdGlvbiAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyB1c2VybmFtZSwgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuXG4gICAgYXV0aC5hdXRoZW50aWNhdGUodXNlcm5hbWUsIHBhc3N3b3JkLCBhc3luYyAoZXJyLCB1c2VyOiBSZW1vdGVVc2VyKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyb3JDb2RlLCBlcnIubWVzc2FnZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcbiAgICAgICAgY29uc3QgaldUU2lnbk9wdGlvbnM6IEpXVFNpZ25PcHRpb25zID0gZ2V0U2VjdXJpdHkoY29uZmlnKS53ZWIuc2lnbjtcbiAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgbmV4dCh7XG4gICAgICAgICAgdG9rZW46IGF3YWl0IGF1dGguand0RW5jcnlwdCh1c2VyLCBqV1RTaWduT3B0aW9ucyksXG4gICAgICAgICAgdXNlcm5hbWU6IHJlcS5yZW1vdGVfdXNlci5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgcm91dGUucHV0KCcvcmVzZXRfcGFzc3dvcmQnLCBmdW5jdGlvbiAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgaWYgKF8uaXNOaWwocmVxLnJlbW90ZV91c2VyLm5hbWUpKSB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCk7XG4gICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgIC8vIEZVVFVSRTogdXBkYXRlIHRvIGEgbW9yZSBtZWFuaW5nZnVsIG1lc3NhZ2VcbiAgICAgICAgbWVzc2FnZTogQVBJX0VSUk9SLk1VU1RfQkVfTE9HR0VELFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBwYXNzd29yZCB9ID0gcmVxLmJvZHk7XG4gICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZC5uZXcpID09PSBmYWxzZSkge1xuICAgICAgYXV0aC5jaGFuZ2VQYXNzd29yZChuYW1lIGFzIHN0cmluZywgcGFzc3dvcmQub2xkLCBwYXNzd29yZC5uZXcsIChlcnIsIGlzVXBkYXRlZCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoXy5pc05pbChlcnIpICYmIGlzVXBkYXRlZCkge1xuICAgICAgICAgIG5leHQoe1xuICAgICAgICAgICAgb2s6IHRydWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldEludGVybmFsRXJyb3IoQVBJX0VSUk9SLklOVEVSTkFMX1NFUlZFUl9FUlJPUikpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuQkFEX1JFUVVFU1QsIEFQUF9FUlJPUi5QQVNTV09SRF9WQUxJREFUSU9OKSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcm91dGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFkZFVzZXJBdXRoQXBpO1xuIl19
|