verdaccio 6.7.1 → 6.7.3

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.
Files changed (51) hide show
  1. package/build/api/debug/index.d.ts +3 -0
  2. package/build/api/endpoint/api/dist-tags.d.ts +4 -0
  3. package/build/api/endpoint/api/package.d.ts +5 -0
  4. package/build/api/endpoint/api/ping.d.ts +2 -0
  5. package/build/api/endpoint/api/publish.d.ts +26 -0
  6. package/build/api/endpoint/api/search.d.ts +1 -0
  7. package/build/api/endpoint/api/star.d.ts +4 -0
  8. package/build/api/endpoint/api/stars.d.ts +3 -0
  9. package/build/api/endpoint/api/user.d.ts +4 -0
  10. package/build/api/endpoint/api/v1/profile.d.ts +14 -0
  11. package/build/api/endpoint/api/v1/search.d.ts +5 -0
  12. package/build/api/endpoint/api/v1/token.d.ts +8 -0
  13. package/build/api/endpoint/api/v1/token.js +24 -5
  14. package/build/api/endpoint/api/whoami.d.ts +2 -0
  15. package/build/api/endpoint/index.d.ts +4 -0
  16. package/build/api/endpoint/index.js +3 -1
  17. package/build/api/index.d.ts +4 -0
  18. package/build/api/index.js +1 -1
  19. package/build/api/middleware.d.ts +3 -0
  20. package/build/api/web/api/index.d.ts +2 -0
  21. package/build/api/web/api/package.d.ts +12 -0
  22. package/build/api/web/api/search.d.ts +5 -0
  23. package/build/api/web/api/user.d.ts +5 -0
  24. package/build/api/web/api/utils.d.ts +2 -0
  25. package/build/api/web/index.d.ts +9 -0
  26. package/build/index.d.ts +4 -0
  27. package/build/lib/auth-utils.d.ts +2 -0
  28. package/build/lib/bootstrap.d.ts +22 -0
  29. package/build/lib/cli/cli.d.ts +1 -0
  30. package/build/lib/cli/cli.js +1 -1
  31. package/build/lib/cli/commands/info.d.ts +5 -0
  32. package/build/lib/cli/commands/init.d.ts +9 -0
  33. package/build/lib/cli/commands/init.js +1 -1
  34. package/build/lib/cli/commands/version.d.ts +5 -0
  35. package/build/lib/cli/commands/version.js +1 -1
  36. package/build/lib/cli/utils.d.ts +4 -0
  37. package/build/lib/cli.d.ts +2 -0
  38. package/build/lib/config.d.ts +5 -0
  39. package/build/lib/constants.d.ts +25 -0
  40. package/build/lib/experiments.d.ts +1 -0
  41. package/build/lib/local-storage.d.ts +182 -0
  42. package/build/lib/logger/index.d.ts +6 -0
  43. package/build/lib/metadata-utils.d.ts +10 -0
  44. package/build/lib/run-server.d.ts +22 -0
  45. package/build/lib/storage-utils.d.ts +30 -0
  46. package/build/lib/storage.d.ts +136 -0
  47. package/build/lib/up-storage.d.ts +138 -0
  48. package/build/lib/uplink-util.d.ts +7 -0
  49. package/build/lib/utils.d.ts +68 -0
  50. package/package.json +54 -51
  51. package/vitest.setup.mjs +4 -0
@@ -0,0 +1,3 @@
1
+ import { Application } from 'express';
2
+ declare const _default: (app: Application, selfPath: string) => void;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type Storage from '../../../lib/storage';
4
+ export default function (route: Router, auth: Auth, storage: Storage): void;
@@ -0,0 +1,5 @@
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { Config } from '@verdaccio/types';
4
+ import type Storage from '../../../lib/storage';
5
+ export default function (route: Router, auth: Auth, storage: Storage, config: Config): void;
@@ -0,0 +1,2 @@
1
+ import type { Router } from 'express';
2
+ export default function (route: Router): void;
@@ -0,0 +1,26 @@
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { Config } from '@verdaccio/types';
4
+ import type Storage from '../../../lib/storage';
5
+ import type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../../../types';
6
+ export default function publish(router: Router, auth: Auth, storage: Storage, config: Config): void;
7
+ /**
8
+ * Publish a package
9
+ */
10
+ export declare function publishPackage(storage: Storage, config: Config, auth: Auth): any;
11
+ /**
12
+ * un-publish a package
13
+ */
14
+ export declare function unPublishPackage(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
15
+ /**
16
+ * Delete tarball
17
+ */
18
+ export declare function removeTarball(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
19
+ /**
20
+ * Adds a new version
21
+ */
22
+ export declare function addVersion(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
23
+ /**
24
+ * uploadPackageTarball
25
+ */
26
+ export declare function uploadPackageTarball(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
@@ -0,0 +1 @@
1
+ export default function (route: any, auth: any, storage: any): void;
@@ -0,0 +1,4 @@
1
+ import type { Response } from 'express';
2
+ import type Storage from '../../../lib/storage';
3
+ import type { $NextFunctionVer, $RequestExtend } from '../../../types';
4
+ export default function (storage: Storage): (req: $RequestExtend, res: Response, next: $NextFunctionVer) => void;
@@ -0,0 +1,3 @@
1
+ import type { Router } from 'express';
2
+ import type Storage from '../../../lib/storage';
3
+ export default function (route: Router, storage: Storage): void;
@@ -0,0 +1,4 @@
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { Config } from '@verdaccio/types';
4
+ export default function (route: Router, auth: Auth, config: Config): void;
@@ -0,0 +1,14 @@
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { ConfigYaml } from '@verdaccio/types';
4
+ export interface Profile {
5
+ tfa: boolean;
6
+ name: string;
7
+ email: string;
8
+ email_verified: boolean;
9
+ created: string;
10
+ updated: string;
11
+ cidr_whitelist: string[] | null;
12
+ fullname: string;
13
+ }
14
+ export default function (router: Router, auth: Auth, config: ConfigYaml): void;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Endpoint for npm search v1
3
+ * req: 'GET /-/v1/search?text=react&size=20&from=0&quality=0.65&popularity=0.98&maintenance=0.5'
4
+ */
5
+ export default function (route: any, auth: any, storage: any): void;
@@ -0,0 +1,8 @@
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { Config, Token } from '@verdaccio/types';
4
+ import type Storage from '../../../../lib/storage';
5
+ export type NormalizeToken = Token & {
6
+ created: string;
7
+ };
8
+ export default function (router: Router, auth: Auth, storage: Storage, config: Config): void;
@@ -14,6 +14,11 @@ var _logger = require("../../../../lib/logger");
14
14
  var _utils = require("../../../../lib/utils");
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  const debug = (0, _debug.default)('verdaccio:token');
17
+
18
+ // Granular access token options (npm >= 11) that Verdaccio does not implement
19
+ // yet. They are accepted so `npm token create` succeeds, but the restrictions
20
+ // they express are NOT enforced — warn so the operator is not misled.
21
+ const UNSUPPORTED_TOKEN_OPTIONS = ['packages_and_scopes_permission', 'packages', 'packages_all', 'scopes', 'orgs', 'orgs_permission', 'expires', 'description', 'bypass_2fa'];
17
22
  function normalizeToken(token) {
18
23
  return {
19
24
  ...token,
@@ -53,15 +58,27 @@ function _default(router, auth, storage, config) {
53
58
  router.post('/-/npm/v1/tokens', (0, _middleware.rateLimit)(config?.userRateLimit), function (req, res, next) {
54
59
  const {
55
60
  password,
56
- readonly,
57
- cidr_whitelist
61
+ readonly = false,
62
+ cidr_whitelist = []
58
63
  } = req.body;
59
64
  const {
60
65
  name
61
66
  } = req.remote_user;
67
+ // `readonly` and `cidr_whitelist` are optional: npm >= 11 rewrote
68
+ // `npm token create` to omit them (and only sends `cidr_whitelist` with
69
+ // `--cidr`), so default them rather than rejecting the request. A wrong
70
+ // type is still rejected.
71
+
62
72
  if (!_lodash.default.isBoolean(readonly) || !_lodash.default.isArray(cidr_whitelist)) {
63
73
  return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.BAD_DATA, _constants.SUPPORT_ERRORS.PARAMETERS_NOT_VALID));
64
74
  }
75
+ const unsupportedOptions = UNSUPPORTED_TOKEN_OPTIONS.filter(option => _lodash.default.isNil(req.body[option]) === false);
76
+ if (unsupportedOptions.length > 0) {
77
+ _logger.logger.warn({
78
+ options: unsupportedOptions.join(', '),
79
+ userAgent: req.get('user-agent') ?? 'unknown'
80
+ }, 'granular access token options are not supported yet and will be ignored: @{options} (client: @{userAgent})');
81
+ }
65
82
  auth.authenticate(name, password, async (err, user) => {
66
83
  if (err) {
67
84
  const errorCode = err.message ? _constants.HTTP_STATUS.UNAUTHORIZED : _constants.HTTP_STATUS.INTERNAL_ERROR;
@@ -72,8 +89,10 @@ function _default(router, auth, storage, config) {
72
89
  return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.NOT_IMPLEMENTED, _constants.SUPPORT_ERRORS.STORAGE_NOT_IMPLEMENT));
73
90
  }
74
91
  try {
75
- const token = await (0, _auth.getApiToken)(auth, config, user, password);
76
- const key = _core.cryptoUtils.stringToMD5(token);
92
+ const key = _core.cryptoUtils.generateRandomHexString(16);
93
+ const token = await (0, _auth.getApiToken)(auth, config, user, password, {
94
+ tokenKey: key
95
+ });
77
96
  // TODO: use a utility here
78
97
  const maskedToken = _core.cryptoUtils.mask(token, 5);
79
98
  const created = new Date().getTime();
@@ -137,4 +156,4 @@ function _default(router, auth, storage, config) {
137
156
  return next(_utils.ErrorCode.getUnauthorized());
138
157
  });
139
158
  }
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfYXV0aCIsIl9jb3JlIiwiX21pZGRsZXdhcmUiLCJfY29uc3RhbnRzIiwiX2xvZ2dlciIsIl91dGlscyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImRlYnVnIiwiYnVpbGREZWJ1ZyIsIm5vcm1hbGl6ZVRva2VuIiwidG9rZW4iLCJjcmVhdGVkIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiX2RlZmF1bHQiLCJyb3V0ZXIiLCJhdXRoIiwic3RvcmFnZSIsImNvbmZpZyIsImdldCIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiLCJyZXEiLCJyZXMiLCJuZXh0IiwibmFtZSIsInJlbW90ZV91c2VyIiwiXyIsImlzTmlsIiwidG9rZW5zIiwicmVhZFRva2VucyIsInVzZXIiLCJ0b3RhbFRva2VucyIsImxlbmd0aCIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJvYmplY3RzIiwibWFwIiwidXJscyIsImVycm9yIiwibG9nZ2VyIiwibXNnIiwiRXJyb3JDb2RlIiwiZ2V0Q29kZSIsIklOVEVSTkFMX0VSUk9SIiwibWVzc2FnZSIsImdldFVuYXV0aG9yaXplZCIsInBvc3QiLCJwYXNzd29yZCIsInJlYWRvbmx5IiwiY2lkcl93aGl0ZWxpc3QiLCJib2R5IiwiaXNCb29sZWFuIiwiaXNBcnJheSIsIkJBRF9EQVRBIiwiU1VQUE9SVF9FUlJPUlMiLCJQQVJBTUVURVJTX05PVF9WQUxJRCIsImF1dGhlbnRpY2F0ZSIsImVyciIsImVycm9yQ29kZSIsIlVOQVVUSE9SSVpFRCIsImlzRnVuY3Rpb24iLCJzYXZlVG9rZW4iLCJOT1RfSU1QTEVNRU5URUQiLCJTVE9SQUdFX05PVF9JTVBMRU1FTlQiLCJnZXRBcGlUb2tlbiIsImtleSIsImNyeXB0b1V0aWxzIiwic3RyaW5nVG9NRDUiLCJtYXNrZWRUb2tlbiIsIm1hc2siLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS92MS90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgdHlwZSB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGdldEFwaVRva2VuIH0gZnJvbSAnQHZlcmRhY2Npby9hdXRoJztcbmltcG9ydCB0eXBlIHsgQXV0aCB9IGZyb20gJ0B2ZXJkYWNjaW8vYXV0aCc7XG5pbXBvcnQgeyBjcnlwdG9VdGlscyB9IGZyb20gJ0B2ZXJkYWNjaW8vY29yZSc7XG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIFJlbW90ZVVzZXIsIFRva2VuIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCB7IEhFQURFUlMsIEhUVFBfU1RBVFVTLCBTVVBQT1JUX0VSUk9SUyB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSBTdG9yYWdlIGZyb20gJy4uLy4uLy4uLy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgdHlwZSB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGVyOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIHN0b3JhZ2U6IFN0b3JhZ2UsIGNvbmZpZzogQ29uZmlnKSB7XG4gIHJvdXRlci5nZXQoXG4gICAgJy8tL25wbS92MS90b2tlbnMnLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGFzeW5jIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgc3RvcmFnZS5yZWFkVG9rZW5zKHsgdXNlcjogbmFtZSB9KTtcbiAgICAgICAgICBjb25zdCB0b3RhbFRva2VucyA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgICAgZGVidWcoJ3Rva2VuIGxpc3QgcmV0cmlldmVkOiAlbycsIHRvdGFsVG9rZW5zKTtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICBvYmplY3RzOiB0b2tlbnMubWFwKG5vcm1hbGl6ZVRva2VuKSxcbiAgICAgICAgICAgIHVybHM6IHtcbiAgICAgICAgICAgICAgbmV4dDogJycsIC8vIFRPRE86IHBhZ2luYXRpb24/XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gbGlzdCBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlci5wb3N0KFxuICAgICcvLS9ucG0vdjEvdG9rZW5zJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgICAgY29uc3QgeyBwYXNzd29yZCwgcmVhZG9ubHksIGNpZHJfd2hpdGVsaXN0IH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgICBpZiAoIV8uaXNCb29sZWFuKHJlYWRvbmx5KSB8fCAhXy5pc0FycmF5KGNpZHJfd2hpdGVsaXN0KSkge1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfREFUQSwgU1VQUE9SVF9FUlJPUlMuUEFSQU1FVEVSU19OT1RfVkFMSUQpKTtcbiAgICAgIH1cblxuICAgICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI/OiBSZW1vdGVVc2VyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGUgPSBlcnIubWVzc2FnZSA/IEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCA6IEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVycm9yQ29kZSwgZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG5cbiAgICAgICAgaWYgKCFfLmlzRnVuY3Rpb24oc3RvcmFnZS5zYXZlVG9rZW4pKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5OT1RfSU1QTEVNRU5URUQsIFNVUFBPUlRfRVJST1JTLlNUT1JBR0VfTk9UX0lNUExFTUVOVClcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IChhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHVzZXIgYXMgUmVtb3RlVXNlciwgcGFzc3dvcmQpKSBhcyBzdHJpbmc7XG4gICAgICAgICAgY29uc3Qga2V5ID0gY3J5cHRvVXRpbHMuc3RyaW5nVG9NRDUodG9rZW4gYXMgc3RyaW5nKTtcbiAgICAgICAgICAvLyBUT0RPOiB1c2UgYSB1dGlsaXR5IGhlcmVcbiAgICAgICAgICBjb25zdCBtYXNrZWRUb2tlbiA9IGNyeXB0b1V0aWxzLm1hc2sodG9rZW4gYXMgc3RyaW5nLCA1KTtcbiAgICAgICAgICBjb25zdCBjcmVhdGVkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBjaWRyX3doaXRlbGlzdDogaXMgbm90IGJlaW5nIHVzZWQsIHdlIHBhc3MgaXQgdGhyb3VnaFxuICAgICAgICAgICAqIHRva2VuOiB3ZSBkbyBub3Qgc3RvcmUgdGhlIHJlYWwgdG9rZW4gKGl0IGlzIGdlbmVyYXRlZCBvbmNlIGFuZCByZXRyaWV2ZWQgdG8gdGhlIHVzZXIpLCBqdXN0IGEgbWFzayBvZiBpdC5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBjb25zdCBzYXZlVG9rZW46IFRva2VuID0ge1xuICAgICAgICAgICAgdXNlcjogbmFtZSxcbiAgICAgICAgICAgIHRva2VuOiBtYXNrZWRUb2tlbixcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgICBjcmVhdGVkLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBhd2FpdCBzdG9yYWdlLnNhdmVUb2tlbihzYXZlVG9rZW4pO1xuICAgICAgICAgIGRlYnVnKCd0b2tlbiAlbyB3YXMgY3JlYXRlZCBmb3IgdXNlciAlbycsIGtleSwgbmFtZSk7XG4gICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgIG5vcm1hbGl6ZVRva2VuKHtcbiAgICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICAgIGtleTogc2F2ZVRva2VuLmtleSxcbiAgICAgICAgICAgICAgY2lkcjogY2lkcl93aGl0ZWxpc3QsXG4gICAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgICBjcmVhdGVkOiBzYXZlVG9rZW4uY3JlYXRlZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGNyZWF0aW9uIGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlci5kZWxldGUoXG4gICAgJy8tL25wbS92MS90b2tlbnMvdG9rZW4vOnRva2VuS2V5JyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBhc3luYyAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBwYXJhbXM6IHsgdG9rZW5LZXkgfSxcbiAgICAgIH0gPSByZXE7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGRlYnVnKCclbyBoYXMgcmVxdWVzdGVkIHJlbW92ZSBhIHRva2VuJywgbmFtZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc3RvcmFnZS5kZWxldGVUb2tlbihuYW1lLCB0b2tlbktleSk7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oeyB0b2tlbktleSwgbmFtZSB9LCAndG9rZW4gaWQgQHt0b2tlbktleX0gd2FzIHJldm9rZWQgZm9yIHVzZXIgQHtuYW1lfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KHt9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGNyZWF0aW9uIGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0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
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfYXV0aCIsIl9jb3JlIiwiX21pZGRsZXdhcmUiLCJfY29uc3RhbnRzIiwiX2xvZ2dlciIsIl91dGlscyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImRlYnVnIiwiYnVpbGREZWJ1ZyIsIlVOU1VQUE9SVEVEX1RPS0VOX09QVElPTlMiLCJub3JtYWxpemVUb2tlbiIsInRva2VuIiwiY3JlYXRlZCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsIl9kZWZhdWx0Iiwicm91dGVyIiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJnZXQiLCJyYXRlTGltaXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJyZW1vdGVfdXNlciIsIl8iLCJpc05pbCIsInRva2VucyIsInJlYWRUb2tlbnMiLCJ1c2VyIiwidG90YWxUb2tlbnMiLCJsZW5ndGgiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk9LIiwib2JqZWN0cyIsIm1hcCIsInVybHMiLCJlcnJvciIsImxvZ2dlciIsIm1zZyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJJTlRFUk5BTF9FUlJPUiIsIm1lc3NhZ2UiLCJnZXRVbmF1dGhvcml6ZWQiLCJwb3N0IiwicGFzc3dvcmQiLCJyZWFkb25seSIsImNpZHJfd2hpdGVsaXN0IiwiYm9keSIsImlzQm9vbGVhbiIsImlzQXJyYXkiLCJCQURfREFUQSIsIlNVUFBPUlRfRVJST1JTIiwiUEFSQU1FVEVSU19OT1RfVkFMSUQiLCJ1bnN1cHBvcnRlZE9wdGlvbnMiLCJmaWx0ZXIiLCJvcHRpb24iLCJ3YXJuIiwib3B0aW9ucyIsImpvaW4iLCJ1c2VyQWdlbnQiLCJhdXRoZW50aWNhdGUiLCJlcnIiLCJlcnJvckNvZGUiLCJVTkFVVEhPUklaRUQiLCJpc0Z1bmN0aW9uIiwic2F2ZVRva2VuIiwiTk9UX0lNUExFTUVOVEVEIiwiU1RPUkFHRV9OT1RfSU1QTEVNRU5UIiwia2V5IiwiY3J5cHRvVXRpbHMiLCJnZW5lcmF0ZVJhbmRvbUhleFN0cmluZyIsImdldEFwaVRva2VuIiwidG9rZW5LZXkiLCJtYXNrZWRUb2tlbiIsIm1hc2siLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwiZGVsZXRlVG9rZW4iLCJpbmZvIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvdjEvdG9rZW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHR5cGUgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBnZXRBcGlUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vYXV0aCc7XG5pbXBvcnQgdHlwZSB7IEF1dGggfSBmcm9tICdAdmVyZGFjY2lvL2F1dGgnO1xuaW1wb3J0IHsgY3J5cHRvVXRpbHMgfSBmcm9tICdAdmVyZGFjY2lvL2NvcmUnO1xuaW1wb3J0IHsgcmF0ZUxpbWl0IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB0eXBlIHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyBIRUFERVJTLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHR5cGUgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCd2ZXJkYWNjaW86dG9rZW4nKTtcblxuLy8gR3JhbnVsYXIgYWNjZXNzIHRva2VuIG9wdGlvbnMgKG5wbSA+PSAxMSkgdGhhdCBWZXJkYWNjaW8gZG9lcyBub3QgaW1wbGVtZW50XG4vLyB5ZXQuIFRoZXkgYXJlIGFjY2VwdGVkIHNvIGBucG0gdG9rZW4gY3JlYXRlYCBzdWNjZWVkcywgYnV0IHRoZSByZXN0cmljdGlvbnNcbi8vIHRoZXkgZXhwcmVzcyBhcmUgTk9UIGVuZm9yY2VkIOKAlCB3YXJuIHNvIHRoZSBvcGVyYXRvciBpcyBub3QgbWlzbGVkLlxuY29uc3QgVU5TVVBQT1JURURfVE9LRU5fT1BUSU9OUyA9IFtcbiAgJ3BhY2thZ2VzX2FuZF9zY29wZXNfcGVybWlzc2lvbicsXG4gICdwYWNrYWdlcycsXG4gICdwYWNrYWdlc19hbGwnLFxuICAnc2NvcGVzJyxcbiAgJ29yZ3MnLFxuICAnb3Jnc19wZXJtaXNzaW9uJyxcbiAgJ2V4cGlyZXMnLFxuICAnZGVzY3JpcHRpb24nLFxuICAnYnlwYXNzXzJmYScsXG5dO1xuXG5leHBvcnQgdHlwZSBOb3JtYWxpemVUb2tlbiA9IFRva2VuICYge1xuICBjcmVhdGVkOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBub3JtYWxpemVUb2tlbih0b2tlbjogVG9rZW4pOiBOb3JtYWxpemVUb2tlbiB7XG4gIHJldHVybiB7XG4gICAgLi4udG9rZW4sXG4gICAgY3JlYXRlZDogbmV3IERhdGUodG9rZW4uY3JlYXRlZCkudG9JU09TdHJpbmcoKSxcbiAgfTtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL25wbS9ucG0tcHJvZmlsZS9ibG9iL2xhdGVzdC9saWIvaW5kZXguanNcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZXI6IFJvdXRlciwgYXV0aDogQXV0aCwgc3RvcmFnZTogU3RvcmFnZSwgY29uZmlnOiBDb25maWcpIHtcbiAgcm91dGVyLmdldChcbiAgICAnLy0vbnBtL3YxL3Rva2VucycsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgYXN5bmMgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgICBpZiAoXy5pc05pbChuYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB0b2tlbnMgPSBhd2FpdCBzdG9yYWdlLnJlYWRUb2tlbnMoeyB1c2VyOiBuYW1lIH0pO1xuICAgICAgICAgIGNvbnN0IHRvdGFsVG9rZW5zID0gdG9rZW5zLmxlbmd0aDtcbiAgICAgICAgICBkZWJ1ZygndG9rZW4gbGlzdCByZXRyaWV2ZWQ6ICVvJywgdG90YWxUb2tlbnMpO1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICAgIG9iamVjdHM6IHRva2Vucy5tYXAobm9ybWFsaXplVG9rZW4pLFxuICAgICAgICAgICAgdXJsczoge1xuICAgICAgICAgICAgICBuZXh0OiAnJywgLy8gVE9ETzogcGFnaW5hdGlvbj9cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBsaXN0IGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldFVuYXV0aG9yaXplZCgpKTtcbiAgICB9XG4gICk7XG5cbiAgcm91dGVyLnBvc3QoXG4gICAgJy8tL25wbS92MS90b2tlbnMnLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBjb25zdCB7IHBhc3N3b3JkLCByZWFkb25seSA9IGZhbHNlLCBjaWRyX3doaXRlbGlzdCA9IFtdIH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuICAgICAgLy8gYHJlYWRvbmx5YCBhbmQgYGNpZHJfd2hpdGVsaXN0YCBhcmUgb3B0aW9uYWw6IG5wbSA+PSAxMSByZXdyb3RlXG4gICAgICAvLyBgbnBtIHRva2VuIGNyZWF0ZWAgdG8gb21pdCB0aGVtIChhbmQgb25seSBzZW5kcyBgY2lkcl93aGl0ZWxpc3RgIHdpdGhcbiAgICAgIC8vIGAtLWNpZHJgKSwgc28gZGVmYXVsdCB0aGVtIHJhdGhlciB0aGFuIHJlamVjdGluZyB0aGUgcmVxdWVzdC4gQSB3cm9uZ1xuICAgICAgLy8gdHlwZSBpcyBzdGlsbCByZWplY3RlZC5cblxuICAgICAgaWYgKCFfLmlzQm9vbGVhbihyZWFkb25seSkgfHwgIV8uaXNBcnJheShjaWRyX3doaXRlbGlzdCkpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuQkFEX0RBVEEsIFNVUFBPUlRfRVJST1JTLlBBUkFNRVRFUlNfTk9UX1ZBTElEKSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkT3B0aW9ucyA9IFVOU1VQUE9SVEVEX1RPS0VOX09QVElPTlMuZmlsdGVyKFxuICAgICAgICAob3B0aW9uKSA9PiBfLmlzTmlsKHJlcS5ib2R5W29wdGlvbl0pID09PSBmYWxzZVxuICAgICAgKTtcbiAgICAgIGlmICh1bnN1cHBvcnRlZE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIud2FybihcbiAgICAgICAgICB7IG9wdGlvbnM6IHVuc3VwcG9ydGVkT3B0aW9ucy5qb2luKCcsICcpLCB1c2VyQWdlbnQ6IHJlcS5nZXQoJ3VzZXItYWdlbnQnKSA/PyAndW5rbm93bicgfSxcbiAgICAgICAgICAnZ3JhbnVsYXIgYWNjZXNzIHRva2VuIG9wdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgeWV0IGFuZCB3aWxsIGJlIGlnbm9yZWQ6IEB7b3B0aW9uc30gKGNsaWVudDogQHt1c2VyQWdlbnR9KSdcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI/OiBSZW1vdGVVc2VyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGUgPSBlcnIubWVzc2FnZSA/IEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCA6IEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVycm9yQ29kZSwgZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG5cbiAgICAgICAgaWYgKCFfLmlzRnVuY3Rpb24oc3RvcmFnZS5zYXZlVG9rZW4pKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5OT1RfSU1QTEVNRU5URUQsIFNVUFBPUlRfRVJST1JTLlNUT1JBR0VfTk9UX0lNUExFTUVOVClcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBjcnlwdG9VdGlscy5nZW5lcmF0ZVJhbmRvbUhleFN0cmluZygxNik7XG4gICAgICAgICAgY29uc3QgdG9rZW4gPSAoYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyIGFzIFJlbW90ZVVzZXIsIHBhc3N3b3JkLCB7XG4gICAgICAgICAgICB0b2tlbktleToga2V5LFxuICAgICAgICAgIH0pKSBhcyBzdHJpbmc7XG4gICAgICAgICAgLy8gVE9ETzogdXNlIGEgdXRpbGl0eSBoZXJlXG4gICAgICAgICAgY29uc3QgbWFza2VkVG9rZW4gPSBjcnlwdG9VdGlscy5tYXNrKHRva2VuIGFzIHN0cmluZywgNSk7XG4gICAgICAgICAgY29uc3QgY3JlYXRlZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICAgKiB0b2tlbjogd2UgZG8gbm90IHN0b3JlIHRoZSByZWFsIHRva2VuIChpdCBpcyBnZW5lcmF0ZWQgb25jZSBhbmQgcmV0cmlldmVkIHRvIHRoZSB1c2VyKSwganVzdCBhIG1hc2sgb2YgaXQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICB0b2tlbjogbWFza2VkVG9rZW4sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYXdhaXQgc3RvcmFnZS5zYXZlVG9rZW4oc2F2ZVRva2VuKTtcbiAgICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZXIuZGVsZXRlKFxuICAgICcvLS9ucG0vdjEvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFyYW1zOiB7IHRva2VuS2V5IH0sXG4gICAgICB9ID0gcmVxO1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHN0b3JhZ2UuZGVsZXRlVG9rZW4obmFtZSwgdG9rZW5LZXkpO1xuICAgICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFBa0QsU0FBQUQsdUJBQUFTLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFHbEQsTUFBTUcsS0FBSyxHQUFHLElBQUFDLGNBQVUsRUFBQyxpQkFBaUIsQ0FBQzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0EsTUFBTUMseUJBQXlCLEdBQUcsQ0FDaEMsZ0NBQWdDLEVBQ2hDLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUNSLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGFBQWEsRUFDYixZQUFZLENBQ2I7QUFNRCxTQUFTQyxjQUFjQSxDQUFDQyxLQUFZLEVBQWtCO0VBQ3BELE9BQU87SUFDTCxHQUFHQSxLQUFLO0lBQ1JDLE9BQU8sRUFBRSxJQUFJQyxJQUFJLENBQUNGLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLENBQUNFLFdBQVcsQ0FBQztFQUMvQyxDQUFDO0FBQ0g7O0FBRUE7QUFDZSxTQUFBQyxTQUFVQyxNQUFjLEVBQUVDLElBQVUsRUFBRUMsT0FBZ0IsRUFBRUMsTUFBYyxFQUFFO0VBQ3JGSCxNQUFNLENBQUNJLEdBQUcsQ0FDUixrQkFBa0IsRUFDbEIsSUFBQUMscUJBQVMsRUFBQ0YsTUFBTSxFQUFFRyxhQUFhLENBQUMsRUFDaEMsZ0JBQWdCQyxHQUFtQixFQUFFQyxHQUFhLEVBQUVDLElBQXNCLEVBQUU7SUFDMUUsTUFBTTtNQUFFQztJQUFLLENBQUMsR0FBR0gsR0FBRyxDQUFDSSxXQUFXO0lBRWhDLElBQUlDLGVBQUMsQ0FBQ0MsS0FBSyxDQUFDSCxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUU7TUFDM0IsSUFBSTtRQUNGLE1BQU1JLE1BQU0sR0FBRyxNQUFNWixPQUFPLENBQUNhLFVBQVUsQ0FBQztVQUFFQyxJQUFJLEVBQUVOO1FBQUssQ0FBQyxDQUFDO1FBQ3ZELE1BQU1PLFdBQVcsR0FBR0gsTUFBTSxDQUFDSSxNQUFNO1FBQ2pDM0IsS0FBSyxDQUFDLDBCQUEwQixFQUFFMEIsV0FBVyxDQUFDO1FBQzlDVCxHQUFHLENBQUNXLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQ0MsRUFBRSxDQUFDO1FBQzFCLE9BQU9aLElBQUksQ0FBQztVQUNWYSxPQUFPLEVBQUVSLE1BQU0sQ0FBQ1MsR0FBRyxDQUFDN0IsY0FBYyxDQUFDO1VBQ25DOEIsSUFBSSxFQUFFO1lBQ0pmLElBQUksRUFBRSxFQUFFLENBQUU7VUFDWjtRQUNGLENBQUMsQ0FBQztNQUNKLENBQUMsQ0FBQyxPQUFPZ0IsS0FBVSxFQUFFO1FBQ25CQyxjQUFNLENBQUNELEtBQUssQ0FBQztVQUFFQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7UUFBSSxDQUFDLEVBQUUsaUNBQWlDLENBQUM7UUFDckUsT0FBT2xCLElBQUksQ0FBQ21CLGdCQUFTLENBQUNDLE9BQU8sQ0FBQ1Qsc0JBQVcsQ0FBQ1UsY0FBYyxFQUFFTCxLQUFLLENBQUNNLE9BQU8sQ0FBQyxDQUFDO01BQzNFO0lBQ0Y7SUFDQSxPQUFPdEIsSUFBSSxDQUFDbUIsZ0JBQVMsQ0FBQ0ksZUFBZSxDQUFDLENBQUMsQ0FBQztFQUMxQyxDQUNGLENBQUM7RUFFRGhDLE1BQU0sQ0FBQ2lDLElBQUksQ0FDVCxrQkFBa0IsRUFDbEIsSUFBQTVCLHFCQUFTLEVBQUNGLE1BQU0sRUFBRUcsYUFBYSxDQUFDLEVBQ2hDLFVBQVVDLEdBQW1CLEVBQUVDLEdBQWEsRUFBRUMsSUFBc0IsRUFBRTtJQUNwRSxNQUFNO01BQUV5QixRQUFRO01BQUVDLFFBQVEsR0FBRyxLQUFLO01BQUVDLGNBQWMsR0FBRztJQUFHLENBQUMsR0FBRzdCLEdBQUcsQ0FBQzhCLElBQUk7SUFDcEUsTUFBTTtNQUFFM0I7SUFBSyxDQUFDLEdBQUdILEdBQUcsQ0FBQ0ksV0FBVztJQUNoQztJQUNBO0lBQ0E7SUFDQTs7SUFFQSxJQUFJLENBQUNDLGVBQUMsQ0FBQzBCLFNBQVMsQ0FBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQ3ZCLGVBQUMsQ0FBQzJCLE9BQU8sQ0FBQ0gsY0FBYyxDQUFDLEVBQUU7TUFDeEQsT0FBTzNCLElBQUksQ0FBQ21CLGdCQUFTLENBQUNDLE9BQU8sQ0FBQ1Qsc0JBQVcsQ0FBQ29CLFFBQVEsRUFBRUMseUJBQWMsQ0FBQ0Msb0JBQW9CLENBQUMsQ0FBQztJQUMzRjtJQUVBLE1BQU1DLGtCQUFrQixHQUFHbEQseUJBQXlCLENBQUNtRCxNQUFNLENBQ3hEQyxNQUFNLElBQUtqQyxlQUFDLENBQUNDLEtBQUssQ0FBQ04sR0FBRyxDQUFDOEIsSUFBSSxDQUFDUSxNQUFNLENBQUMsQ0FBQyxLQUFLLEtBQzVDLENBQUM7SUFDRCxJQUFJRixrQkFBa0IsQ0FBQ3pCLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDakNRLGNBQU0sQ0FBQ29CLElBQUksQ0FDVDtRQUFFQyxPQUFPLEVBQUVKLGtCQUFrQixDQUFDSyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUVDLFNBQVMsRUFBRTFDLEdBQUcsQ0FBQ0gsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJO01BQVUsQ0FBQyxFQUN6Riw0R0FDRixDQUFDO0lBQ0g7SUFFQUgsSUFBSSxDQUFDaUQsWUFBWSxDQUFDeEMsSUFBSSxFQUFFd0IsUUFBUSxFQUFFLE9BQU9pQixHQUFHLEVBQUVuQyxJQUFpQixLQUFLO01BQ2xFLElBQUltQyxHQUFHLEVBQUU7UUFDUCxNQUFNQyxTQUFTLEdBQUdELEdBQUcsQ0FBQ3BCLE9BQU8sR0FBR1gsc0JBQVcsQ0FBQ2lDLFlBQVksR0FBR2pDLHNCQUFXLENBQUNVLGNBQWM7UUFDckYsT0FBT3JCLElBQUksQ0FBQ21CLGdCQUFTLENBQUNDLE9BQU8sQ0FBQ3VCLFNBQVMsRUFBRUQsR0FBRyxDQUFDcEIsT0FBTyxDQUFDLENBQUM7TUFDeEQ7TUFFQXhCLEdBQUcsQ0FBQ0ksV0FBVyxHQUFHSyxJQUFJO01BRXRCLElBQUksQ0FBQ0osZUFBQyxDQUFDMEMsVUFBVSxDQUFDcEQsT0FBTyxDQUFDcUQsU0FBUyxDQUFDLEVBQUU7UUFDcEMsT0FBTzlDLElBQUksQ0FDVG1CLGdCQUFTLENBQUNDLE9BQU8sQ0FBQ1Qsc0JBQVcsQ0FBQ29DLGVBQWUsRUFBRWYseUJBQWMsQ0FBQ2dCLHFCQUFxQixDQUNyRixDQUFDO01BQ0g7TUFFQSxJQUFJO1FBQ0YsTUFBTUMsR0FBRyxHQUFHQyxpQkFBVyxDQUFDQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTWpFLEtBQUssR0FBSSxNQUFNLElBQUFrRSxpQkFBVyxFQUFDNUQsSUFBSSxFQUFFRSxNQUFNLEVBQUVhLElBQUksRUFBZ0JrQixRQUFRLEVBQUU7VUFDM0U0QixRQUFRLEVBQUVKO1FBQ1osQ0FBQyxDQUFZO1FBQ2I7UUFDQSxNQUFNSyxXQUFXLEdBQUdKLGlCQUFXLENBQUNLLElBQUksQ0FBQ3JFLEtBQUssRUFBWSxDQUFDLENBQUM7UUFDeEQsTUFBTUMsT0FBTyxHQUFHLElBQUlDLElBQUksQ0FBQyxDQUFDLENBQUNvRSxPQUFPLENBQUMsQ0FBQzs7UUFFcEM7QUFDVjtBQUNBO0FBQ0E7UUFDVSxNQUFNVixTQUFnQixHQUFHO1VBQ3ZCdkMsSUFBSSxFQUFFTixJQUFJO1VBQ1ZmLEtBQUssRUFBRW9FLFdBQVc7VUFDbEJMLEdBQUc7VUFDSFEsSUFBSSxFQUFFOUIsY0FBYztVQUNwQkQsUUFBUTtVQUNSdkM7UUFDRixDQUFDO1FBRUQsTUFBTU0sT0FBTyxDQUFDcUQsU0FBUyxDQUFDQSxTQUFTLENBQUM7UUFDbENoRSxLQUFLLENBQUMsa0NBQWtDLEVBQUVtRSxHQUFHLEVBQUVoRCxJQUFJLENBQUM7UUFDcERGLEdBQUcsQ0FBQzJELEdBQUcsQ0FBQ0Msa0JBQU8sQ0FBQ0MsYUFBYSxFQUFFLG9CQUFvQixDQUFDO1FBQ3BELE9BQU81RCxJQUFJLENBQ1RmLGNBQWMsQ0FBQztVQUNiQyxLQUFLO1VBQ0xxQixJQUFJLEVBQUVOLElBQUk7VUFDVmdELEdBQUcsRUFBRUgsU0FBUyxDQUFDRyxHQUFHO1VBQ2xCUSxJQUFJLEVBQUU5QixjQUFjO1VBQ3BCRCxRQUFRO1VBQ1J2QyxPQUFPLEVBQUUyRCxTQUFTLENBQUMzRDtRQUNyQixDQUFDLENBQ0gsQ0FBQztNQUNILENBQUMsQ0FBQyxPQUFPNkIsS0FBVSxFQUFFO1FBQ25CQyxjQUFNLENBQUNELEtBQUssQ0FBQztVQUFFQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7UUFBSSxDQUFDLEVBQUUscUNBQXFDLENBQUM7UUFDekUsT0FBT2xCLElBQUksQ0FBQ21CLGdCQUFTLENBQUNDLE9BQU8sQ0FBQ1Qsc0JBQVcsQ0FBQ1UsY0FBYyxFQUFFTCxLQUFLLENBQUNNLE9BQU8sQ0FBQyxDQUFDO01BQzNFO0lBQ0YsQ0FBQyxDQUFDO0VBQ0osQ0FDRixDQUFDO0VBRUQvQixNQUFNLENBQUNzRSxNQUFNLENBQ1gsa0NBQWtDLEVBQ2xDLElBQUFqRSxxQkFBUyxFQUFDRixNQUFNLEVBQUVHLGFBQWEsQ0FBQyxFQUNoQyxPQUFPQyxHQUFtQixFQUFFQyxHQUFhLEVBQUVDLElBQXNCLEtBQUs7SUFDcEUsTUFBTTtNQUNKOEQsTUFBTSxFQUFFO1FBQUVUO01BQVM7SUFDckIsQ0FBQyxHQUFHdkQsR0FBRztJQUNQLE1BQU07TUFBRUc7SUFBSyxDQUFDLEdBQUdILEdBQUcsQ0FBQ0ksV0FBVztJQUVoQyxJQUFJQyxlQUFDLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO01BQzNCbkIsS0FBSyxDQUFDLGlDQUFpQyxFQUFFbUIsSUFBSSxDQUFDO01BQzlDLElBQUk7UUFDRixNQUFNUixPQUFPLENBQUNzRSxXQUFXLENBQUM5RCxJQUFJLEVBQUVvRCxRQUFRLENBQUM7UUFDekNwQyxjQUFNLENBQUMrQyxJQUFJLENBQUM7VUFBRVgsUUFBUTtVQUFFcEQ7UUFBSyxDQUFDLEVBQUUsbURBQW1ELENBQUM7UUFDcEYsT0FBT0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQ2pCLENBQUMsQ0FBQyxPQUFPZ0IsS0FBVSxFQUFFO1FBQ25CQyxjQUFNLENBQUNELEtBQUssQ0FBQztVQUFFQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7UUFBSSxDQUFDLEVBQUUscUNBQXFDLENBQUM7UUFDekUsT0FBT2xCLElBQUksQ0FBQ21CLGdCQUFTLENBQUNDLE9BQU8sQ0FBQ1Qsc0JBQVcsQ0FBQ1UsY0FBYyxFQUFFTCxLQUFLLENBQUNNLE9BQU8sQ0FBQyxDQUFDO01BQzNFO0lBQ0Y7SUFDQSxPQUFPdEIsSUFBSSxDQUFDbUIsZ0JBQVMsQ0FBQ0ksZUFBZSxDQUFDLENBQUMsQ0FBQztFQUMxQyxDQUNGLENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,2 @@
1
+ import type { Router } from 'express';
2
+ export default function (route: Router): void;
@@ -0,0 +1,4 @@
1
+ import type { Auth } from '@verdaccio/auth';
2
+ import type { Config } from '@verdaccio/types';
3
+ import type Storage from '../../lib/storage';
4
+ export default function (config: Config, auth: Auth, storage: Storage): import("express-serve-static-core").Router;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = _default;
7
7
  var _express = _interopRequireDefault(require("express"));
8
8
  var _middleware = require("@verdaccio/middleware");
9
+ var _logger = require("../../lib/logger");
9
10
  var _distTags = _interopRequireDefault(require("./api/dist-tags"));
10
11
  var _package = _interopRequireDefault(require("./api/package"));
11
12
  var _ping = _interopRequireDefault(require("./api/ping"));
@@ -35,6 +36,7 @@ function _default(config, auth, storage) {
35
36
  app.param('_rev', (0, _middleware.match)(/^-rev$/));
36
37
  app.param('org_couchdb_user', (0, _middleware.match)(/^org\.couchdb\.user:/));
37
38
  app.use(auth.apiJWTmiddleware());
39
+ app.use((0, _middleware.enforceGeneratedTokenMetadata)(storage, _logger.logger));
38
40
  app.use(_express.default.json({
39
41
  strict: false,
40
42
  limit: config.max_body_size || '10mb'
@@ -55,4 +57,4 @@ function _default(config, auth, storage) {
55
57
  (0, _package.default)(app, auth, storage, config);
56
58
  return app;
57
59
  }
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21pZGRsZXdhcmUiLCJfZGlzdFRhZ3MiLCJfcGFja2FnZSIsIl9waW5nIiwiX3B1Ymxpc2giLCJfc2VhcmNoIiwiX3N0YXJzIiwiX3VzZXIiLCJfcHJvZmlsZSIsIl9zZWFyY2gyIiwiX3Rva2VuIiwiX3dob2FtaSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0IiwiY29uZmlnIiwiYXV0aCIsInN0b3JhZ2UiLCJhcHAiLCJleHByZXNzIiwiUm91dGVyIiwicGFyYW0iLCJ2YWxpZGF0ZVBhY2thZ2UiLCJ2YWxpZGF0ZU5hbWUiLCJtYXRjaCIsInVzZSIsImFwaUpXVG1pZGRsZXdhcmUiLCJqc29uIiwic3RyaWN0IiwibGltaXQiLCJtYXhfYm9keV9zaXplIiwiYW50aUxvb3AiLCJlbmNvZGVTY29wZVBhY2thZ2UiLCJ3aG9hbWkiLCJwcm9maWxlIiwic2VhcmNoIiwidXNlciIsImRpc3RUYWdzIiwicHVibGlzaCIsInBpbmciLCJzdGFycyIsInYxU2VhcmNoIiwidG9rZW4iLCJwa2ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgdHlwZSB7IEF1dGggfSBmcm9tICdAdmVyZGFjY2lvL2F1dGgnO1xuaW1wb3J0IHtcbiAgYW50aUxvb3AsXG4gIGVuY29kZVNjb3BlUGFja2FnZSxcbiAgbWF0Y2gsXG4gIHZhbGlkYXRlTmFtZSxcbiAgdmFsaWRhdGVQYWNrYWdlLFxufSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IHR5cGUgU3RvcmFnZSBmcm9tICcuLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgZGlzdFRhZ3MgZnJvbSAnLi9hcGkvZGlzdC10YWdzJztcbmltcG9ydCBwa2cgZnJvbSAnLi9hcGkvcGFja2FnZSc7XG5pbXBvcnQgcGluZyBmcm9tICcuL2FwaS9waW5nJztcbmltcG9ydCBwdWJsaXNoIGZyb20gJy4vYXBpL3B1Ymxpc2gnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHN0YXJzIGZyb20gJy4vYXBpL3N0YXJzJztcbmltcG9ydCB1c2VyIGZyb20gJy4vYXBpL3VzZXInO1xuaW1wb3J0IHByb2ZpbGUgZnJvbSAnLi9hcGkvdjEvcHJvZmlsZSc7XG5pbXBvcnQgdjFTZWFyY2ggZnJvbSAnLi9hcGkvdjEvc2VhcmNoJztcbmltcG9ydCB0b2tlbiBmcm9tICcuL2FwaS92MS90b2tlbic7XG5pbXBvcnQgd2hvYW1pIGZyb20gJy4vYXBpL3dob2FtaSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChjb25maWc6IENvbmZpZywgYXV0aDogQXV0aCwgc3RvcmFnZTogU3RvcmFnZSkge1xuICBjb25zdCBhcHAgPSBleHByZXNzLlJvdXRlcigpO1xuXG4gIC8vIHZhbGlkYXRlIGFsbCBvZiB0aGVzZSBwYXJhbXMgYXMgYSBwYWNrYWdlIG5hbWVcbiAgLy8gdGhpcyBtaWdodCBiZSB0b28gaGFyc2gsIHNvIGFzayBpZiBpdCBjYXVzZXMgdHJvdWJsZVxuICBhcHAucGFyYW0oJ3BhY2thZ2UnLCB2YWxpZGF0ZVBhY2thZ2UpO1xuICBhcHAucGFyYW0oJ2ZpbGVuYW1lJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd0YWcnLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3ZlcnNpb24nLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3JldmlzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd0b2tlbicsIHZhbGlkYXRlTmFtZSk7XG5cbiAgLy8gdGhlc2UgY2FuJ3QgYmUgc2FmZWx5IHB1dCBpbnRvIGV4cHJlc3MgdXJsIGZvciBzb21lIHJlYXNvblxuICAvLyBUT0RPOiBGb3Igc29tZSByZWFzb24/IHdoYXQgcmVhc29uP1xuICBhcHAucGFyYW0oJ19yZXYnLCBtYXRjaCgvXi1yZXYkLykpO1xuICBhcHAucGFyYW0oJ29yZ19jb3VjaGRiX3VzZXInLCBtYXRjaCgvXm9yZ1xcLmNvdWNoZGJcXC51c2VyOi8pKTtcblxuICBhcHAudXNlKGF1dGguYXBpSldUbWlkZGxld2FyZSgpKTtcbiAgYXBwLnVzZShleHByZXNzLmpzb24oeyBzdHJpY3Q6IGZhbHNlLCBsaW1pdDogY29uZmlnLm1heF9ib2R5X3NpemUgfHwgJzEwbWInIH0pKTtcbiAgYXBwLnVzZShhbnRpTG9vcChjb25maWcpKTtcbiAgLy8gZW5jb2RlIC8gaW4gYSBzY29wZWQgcGFja2FnZSBuYW1lIHRvIGJlIG1hdGNoZWQgYXMgYSBzaW5nbGUgcGFyYW1ldGVyIGluIHJvdXRlc1xuICBhcHAudXNlKGVuY29kZVNjb3BlUGFja2FnZSk7XG4gIHdob2FtaShhcHApO1xuICBwcm9maWxlKGFwcCwgYXV0aCwgY29uZmlnKTtcbiAgc2VhcmNoKGFwcCwgYXV0aCwgc3RvcmFnZSk7XG4gIHVzZXIoYXBwLCBhdXRoLCBjb25maWcpO1xuICBkaXN0VGFncyhhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBwdWJsaXNoKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcGluZyhhcHApO1xuICBzdGFycyhhcHAsIHN0b3JhZ2UpO1xuICB2MVNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICB0b2tlbihhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHBrZyhhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHJldHVybiBhcHA7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQVVBLElBQUFFLFNBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFTLFFBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLE1BQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFZLE9BQUEsR0FBQWIsc0JBQUEsQ0FBQUMsT0FBQTtBQUFrQyxTQUFBRCx1QkFBQWMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVuQixTQUFBRyxTQUFVQyxNQUFjLEVBQUVDLElBQVUsRUFBRUMsT0FBZ0IsRUFBRTtFQUNyRSxNQUFNQyxHQUFHLEdBQUdDLGdCQUFPLENBQUNDLE1BQU0sQ0FBQyxDQUFDOztFQUU1QjtFQUNBO0VBQ0FGLEdBQUcsQ0FBQ0csS0FBSyxDQUFDLFNBQVMsRUFBRUMsMkJBQWUsQ0FBQztFQUNyQ0osR0FBRyxDQUFDRyxLQUFLLENBQUMsVUFBVSxFQUFFRSx3QkFBWSxDQUFDO0VBQ25DTCxHQUFHLENBQUNHLEtBQUssQ0FBQyxLQUFLLEVBQUVFLHdCQUFZLENBQUM7RUFDOUJMLEdBQUcsQ0FBQ0csS0FBSyxDQUFDLFNBQVMsRUFBRUUsd0JBQVksQ0FBQztFQUNsQ0wsR0FBRyxDQUFDRyxLQUFLLENBQUMsVUFBVSxFQUFFRSx3QkFBWSxDQUFDO0VBQ25DTCxHQUFHLENBQUNHLEtBQUssQ0FBQyxPQUFPLEVBQUVFLHdCQUFZLENBQUM7O0VBRWhDO0VBQ0E7RUFDQUwsR0FBRyxDQUFDRyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUFHLGlCQUFLLEVBQUMsUUFBUSxDQUFDLENBQUM7RUFDbENOLEdBQUcsQ0FBQ0csS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUFHLGlCQUFLLEVBQUMsc0JBQXNCLENBQUMsQ0FBQztFQUU1RE4sR0FBRyxDQUFDTyxHQUFHLENBQUNULElBQUksQ0FBQ1UsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0VBQ2hDUixHQUFHLENBQUNPLEdBQUcsQ0FBQ04sZ0JBQU8sQ0FBQ1EsSUFBSSxDQUFDO0lBQUVDLE1BQU0sRUFBRSxLQUFLO0lBQUVDLEtBQUssRUFBRWQsTUFBTSxDQUFDZSxhQUFhLElBQUk7RUFBTyxDQUFDLENBQUMsQ0FBQztFQUMvRVosR0FBRyxDQUFDTyxHQUFHLENBQUMsSUFBQU0sb0JBQVEsRUFBQ2hCLE1BQU0sQ0FBQyxDQUFDO0VBQ3pCO0VBQ0FHLEdBQUcsQ0FBQ08sR0FBRyxDQUFDTyw4QkFBa0IsQ0FBQztFQUMzQixJQUFBQyxlQUFNLEVBQUNmLEdBQUcsQ0FBQztFQUNYLElBQUFnQixnQkFBTyxFQUFDaEIsR0FBRyxFQUFFRixJQUFJLEVBQUVELE1BQU0sQ0FBQztFQUMxQixJQUFBb0IsZUFBTSxFQUFDakIsR0FBRyxFQUFFRixJQUFJLEVBQUVDLE9BQU8sQ0FBQztFQUMxQixJQUFBbUIsYUFBSSxFQUFDbEIsR0FBRyxFQUFFRixJQUFJLEVBQUVELE1BQU0sQ0FBQztFQUN2QixJQUFBc0IsaUJBQVEsRUFBQ25CLEdBQUcsRUFBRUYsSUFBSSxFQUFFQyxPQUFPLENBQUM7RUFDNUIsSUFBQXFCLGdCQUFPLEVBQUNwQixHQUFHLEVBQUVGLElBQUksRUFBRUMsT0FBTyxFQUFFRixNQUFNLENBQUM7RUFDbkMsSUFBQXdCLGFBQUksRUFBQ3JCLEdBQUcsQ0FBQztFQUNULElBQUFzQixjQUFLLEVBQUN0QixHQUFHLEVBQUVELE9BQU8sQ0FBQztFQUNuQixJQUFBd0IsZ0JBQVEsRUFBQ3ZCLEdBQUcsRUFBRUYsSUFBSSxFQUFFQyxPQUFPLENBQUM7RUFDNUIsSUFBQXlCLGNBQUssRUFBQ3hCLEdBQUcsRUFBRUYsSUFBSSxFQUFFQyxPQUFPLEVBQUVGLE1BQU0sQ0FBQztFQUNqQyxJQUFBNEIsZ0JBQUcsRUFBQ3pCLEdBQUcsRUFBRUYsSUFBSSxFQUFFQyxPQUFPLEVBQUVGLE1BQU0sQ0FBQztFQUMvQixPQUFPRyxHQUFHO0FBQ1oiLCJpZ25vcmVMaXN0IjpbXX0=
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21pZGRsZXdhcmUiLCJfbG9nZ2VyIiwiX2Rpc3RUYWdzIiwiX3BhY2thZ2UiLCJfcGluZyIsIl9wdWJsaXNoIiwiX3NlYXJjaCIsIl9zdGFycyIsIl91c2VyIiwiX3Byb2ZpbGUiLCJfc2VhcmNoMiIsIl90b2tlbiIsIl93aG9hbWkiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZGVmYXVsdCIsImNvbmZpZyIsImF1dGgiLCJzdG9yYWdlIiwiYXBwIiwiZXhwcmVzcyIsIlJvdXRlciIsInBhcmFtIiwidmFsaWRhdGVQYWNrYWdlIiwidmFsaWRhdGVOYW1lIiwibWF0Y2giLCJ1c2UiLCJhcGlKV1RtaWRkbGV3YXJlIiwiZW5mb3JjZUdlbmVyYXRlZFRva2VuTWV0YWRhdGEiLCJsb2dnZXIiLCJqc29uIiwic3RyaWN0IiwibGltaXQiLCJtYXhfYm9keV9zaXplIiwiYW50aUxvb3AiLCJlbmNvZGVTY29wZVBhY2thZ2UiLCJ3aG9hbWkiLCJwcm9maWxlIiwic2VhcmNoIiwidXNlciIsImRpc3RUYWdzIiwicHVibGlzaCIsInBpbmciLCJzdGFycyIsInYxU2VhcmNoIiwidG9rZW4iLCJwa2ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgdHlwZSB7IEF1dGggfSBmcm9tICdAdmVyZGFjY2lvL2F1dGgnO1xuaW1wb3J0IHtcbiAgYW50aUxvb3AsXG4gIGVuY29kZVNjb3BlUGFja2FnZSxcbiAgZW5mb3JjZUdlbmVyYXRlZFRva2VuTWV0YWRhdGEsXG4gIG1hdGNoLFxuICB2YWxpZGF0ZU5hbWUsXG4gIHZhbGlkYXRlUGFja2FnZSxcbn0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHR5cGUgU3RvcmFnZSBmcm9tICcuLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgZGlzdFRhZ3MgZnJvbSAnLi9hcGkvZGlzdC10YWdzJztcbmltcG9ydCBwa2cgZnJvbSAnLi9hcGkvcGFja2FnZSc7XG5pbXBvcnQgcGluZyBmcm9tICcuL2FwaS9waW5nJztcbmltcG9ydCBwdWJsaXNoIGZyb20gJy4vYXBpL3B1Ymxpc2gnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHN0YXJzIGZyb20gJy4vYXBpL3N0YXJzJztcbmltcG9ydCB1c2VyIGZyb20gJy4vYXBpL3VzZXInO1xuaW1wb3J0IHByb2ZpbGUgZnJvbSAnLi9hcGkvdjEvcHJvZmlsZSc7XG5pbXBvcnQgdjFTZWFyY2ggZnJvbSAnLi9hcGkvdjEvc2VhcmNoJztcbmltcG9ydCB0b2tlbiBmcm9tICcuL2FwaS92MS90b2tlbic7XG5pbXBvcnQgd2hvYW1pIGZyb20gJy4vYXBpL3dob2FtaSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChjb25maWc6IENvbmZpZywgYXV0aDogQXV0aCwgc3RvcmFnZTogU3RvcmFnZSkge1xuICBjb25zdCBhcHAgPSBleHByZXNzLlJvdXRlcigpO1xuXG4gIC8vIHZhbGlkYXRlIGFsbCBvZiB0aGVzZSBwYXJhbXMgYXMgYSBwYWNrYWdlIG5hbWVcbiAgLy8gdGhpcyBtaWdodCBiZSB0b28gaGFyc2gsIHNvIGFzayBpZiBpdCBjYXVzZXMgdHJvdWJsZVxuICBhcHAucGFyYW0oJ3BhY2thZ2UnLCB2YWxpZGF0ZVBhY2thZ2UpO1xuICBhcHAucGFyYW0oJ2ZpbGVuYW1lJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd0YWcnLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3ZlcnNpb24nLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3JldmlzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd0b2tlbicsIHZhbGlkYXRlTmFtZSk7XG5cbiAgLy8gdGhlc2UgY2FuJ3QgYmUgc2FmZWx5IHB1dCBpbnRvIGV4cHJlc3MgdXJsIGZvciBzb21lIHJlYXNvblxuICAvLyBUT0RPOiBGb3Igc29tZSByZWFzb24/IHdoYXQgcmVhc29uP1xuICBhcHAucGFyYW0oJ19yZXYnLCBtYXRjaCgvXi1yZXYkLykpO1xuICBhcHAucGFyYW0oJ29yZ19jb3VjaGRiX3VzZXInLCBtYXRjaCgvXm9yZ1xcLmNvdWNoZGJcXC51c2VyOi8pKTtcblxuICBhcHAudXNlKGF1dGguYXBpSldUbWlkZGxld2FyZSgpKTtcbiAgYXBwLnVzZShlbmZvcmNlR2VuZXJhdGVkVG9rZW5NZXRhZGF0YShzdG9yYWdlLCBsb2dnZXIpKTtcbiAgYXBwLnVzZShleHByZXNzLmpzb24oeyBzdHJpY3Q6IGZhbHNlLCBsaW1pdDogY29uZmlnLm1heF9ib2R5X3NpemUgfHwgJzEwbWInIH0pKTtcbiAgYXBwLnVzZShhbnRpTG9vcChjb25maWcpKTtcbiAgLy8gZW5jb2RlIC8gaW4gYSBzY29wZWQgcGFja2FnZSBuYW1lIHRvIGJlIG1hdGNoZWQgYXMgYSBzaW5nbGUgcGFyYW1ldGVyIGluIHJvdXRlc1xuICBhcHAudXNlKGVuY29kZVNjb3BlUGFja2FnZSk7XG4gIHdob2FtaShhcHApO1xuICBwcm9maWxlKGFwcCwgYXV0aCwgY29uZmlnKTtcbiAgc2VhcmNoKGFwcCwgYXV0aCwgc3RvcmFnZSk7XG4gIHVzZXIoYXBwLCBhdXRoLCBjb25maWcpO1xuICBkaXN0VGFncyhhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBwdWJsaXNoKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcGluZyhhcHApO1xuICBzdGFycyhhcHAsIHN0b3JhZ2UpO1xuICB2MVNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICB0b2tlbihhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHBrZyhhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHJldHVybiBhcHA7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQVVBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLFFBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFZLE1BQUEsR0FBQWIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFhLE9BQUEsR0FBQWQsc0JBQUEsQ0FBQUMsT0FBQTtBQUFrQyxTQUFBRCx1QkFBQWUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVuQixTQUFBRyxTQUFVQyxNQUFjLEVBQUVDLElBQVUsRUFBRUMsT0FBZ0IsRUFBRTtFQUNyRSxNQUFNQyxHQUFHLEdBQUdDLGdCQUFPLENBQUNDLE1BQU0sQ0FBQyxDQUFDOztFQUU1QjtFQUNBO0VBQ0FGLEdBQUcsQ0FBQ0csS0FBSyxDQUFDLFNBQVMsRUFBRUMsMkJBQWUsQ0FBQztFQUNyQ0osR0FBRyxDQUFDRyxLQUFLLENBQUMsVUFBVSxFQUFFRSx3QkFBWSxDQUFDO0VBQ25DTCxHQUFHLENBQUNHLEtBQUssQ0FBQyxLQUFLLEVBQUVFLHdCQUFZLENBQUM7RUFDOUJMLEdBQUcsQ0FBQ0csS0FBSyxDQUFDLFNBQVMsRUFBRUUsd0JBQVksQ0FBQztFQUNsQ0wsR0FBRyxDQUFDRyxLQUFLLENBQUMsVUFBVSxFQUFFRSx3QkFBWSxDQUFDO0VBQ25DTCxHQUFHLENBQUNHLEtBQUssQ0FBQyxPQUFPLEVBQUVFLHdCQUFZLENBQUM7O0VBRWhDO0VBQ0E7RUFDQUwsR0FBRyxDQUFDRyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUFHLGlCQUFLLEVBQUMsUUFBUSxDQUFDLENBQUM7RUFDbENOLEdBQUcsQ0FBQ0csS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUFHLGlCQUFLLEVBQUMsc0JBQXNCLENBQUMsQ0FBQztFQUU1RE4sR0FBRyxDQUFDTyxHQUFHLENBQUNULElBQUksQ0FBQ1UsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0VBQ2hDUixHQUFHLENBQUNPLEdBQUcsQ0FBQyxJQUFBRSx5Q0FBNkIsRUFBQ1YsT0FBTyxFQUFFVyxjQUFNLENBQUMsQ0FBQztFQUN2RFYsR0FBRyxDQUFDTyxHQUFHLENBQUNOLGdCQUFPLENBQUNVLElBQUksQ0FBQztJQUFFQyxNQUFNLEVBQUUsS0FBSztJQUFFQyxLQUFLLEVBQUVoQixNQUFNLENBQUNpQixhQUFhLElBQUk7RUFBTyxDQUFDLENBQUMsQ0FBQztFQUMvRWQsR0FBRyxDQUFDTyxHQUFHLENBQUMsSUFBQVEsb0JBQVEsRUFBQ2xCLE1BQU0sQ0FBQyxDQUFDO0VBQ3pCO0VBQ0FHLEdBQUcsQ0FBQ08sR0FBRyxDQUFDUyw4QkFBa0IsQ0FBQztFQUMzQixJQUFBQyxlQUFNLEVBQUNqQixHQUFHLENBQUM7RUFDWCxJQUFBa0IsZ0JBQU8sRUFBQ2xCLEdBQUcsRUFBRUYsSUFBSSxFQUFFRCxNQUFNLENBQUM7RUFDMUIsSUFBQXNCLGVBQU0sRUFBQ25CLEdBQUcsRUFBRUYsSUFBSSxFQUFFQyxPQUFPLENBQUM7RUFDMUIsSUFBQXFCLGFBQUksRUFBQ3BCLEdBQUcsRUFBRUYsSUFBSSxFQUFFRCxNQUFNLENBQUM7RUFDdkIsSUFBQXdCLGlCQUFRLEVBQUNyQixHQUFHLEVBQUVGLElBQUksRUFBRUMsT0FBTyxDQUFDO0VBQzVCLElBQUF1QixnQkFBTyxFQUFDdEIsR0FBRyxFQUFFRixJQUFJLEVBQUVDLE9BQU8sRUFBRUYsTUFBTSxDQUFDO0VBQ25DLElBQUEwQixhQUFJLEVBQUN2QixHQUFHLENBQUM7RUFDVCxJQUFBd0IsY0FBSyxFQUFDeEIsR0FBRyxFQUFFRCxPQUFPLENBQUM7RUFDbkIsSUFBQTBCLGdCQUFRLEVBQUN6QixHQUFHLEVBQUVGLElBQUksRUFBRUMsT0FBTyxDQUFDO0VBQzVCLElBQUEyQixjQUFLLEVBQUMxQixHQUFHLEVBQUVGLElBQUksRUFBRUMsT0FBTyxFQUFFRixNQUFNLENBQUM7RUFDakMsSUFBQThCLGdCQUFHLEVBQUMzQixHQUFHLEVBQUVGLElBQUksRUFBRUMsT0FBTyxFQUFFRixNQUFNLENBQUM7RUFDL0IsT0FBT0csR0FBRztBQUNaIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,4 @@
1
+ import express from 'express';
2
+ import type { ConfigYaml } from '@verdaccio/types';
3
+ declare const _default: (configHash: ConfigYaml) => Promise<express.Application>;
4
+ export default _default;
@@ -24,7 +24,7 @@ var _endpoint = _interopRequireDefault(require("./endpoint"));
24
24
  var _middleware2 = require("./middleware");
25
25
  var _web = _interopRequireDefault(require("./web"));
26
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
- const version = "6.7.1" || 'dev';
27
+ const version = "6.7.3" || 'dev';
28
28
  const defineAPI = async function (config, storage) {
29
29
  const auth = new _auth.Auth(config, _logger.logger, {
30
30
  legacyMergeConfigs: true
@@ -0,0 +1,3 @@
1
+ import type { Config } from '@verdaccio/types';
2
+ import type { $RequestExtend, $ResponseExtend } from '../types';
3
+ export declare function serveFavicon(config: Config): (_req: $RequestExtend, res: $ResponseExtend) => void;
@@ -0,0 +1,2 @@
1
+ declare const _default: (auth: any, storage: any, config: any) => import("express-serve-static-core").Router;
2
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { Config, Manifest } from '@verdaccio/types';
4
+ import type Storage from '../../../lib/storage';
5
+ export type PackcageExt = Manifest & {
6
+ author: any;
7
+ dist?: {
8
+ tarball: string;
9
+ };
10
+ };
11
+ declare function addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router;
12
+ export default addPackageWebApi;
@@ -0,0 +1,5 @@
1
+ import { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type Storage from '../../../lib/storage';
4
+ declare function addSearchWebApi(storage: Storage, auth: Auth): Router;
5
+ export default addSearchWebApi;
@@ -0,0 +1,5 @@
1
+ import { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
+ import type { Config } from '@verdaccio/types';
4
+ declare function addUserAuthApi(auth: Auth, config: Config): Router;
5
+ export default addUserAuthApi;
@@ -0,0 +1,2 @@
1
+ export declare function wrapPath(urlPath: string): string;
2
+ export declare function wrapSecPath(urlPath: string): string;
@@ -0,0 +1,9 @@
1
+ import type { RequestHandler } from 'express';
2
+ import { Router } from 'express';
3
+ export declare const PLUGIN_UI_PREFIX = "verdaccio-theme";
4
+ export declare const DEFAULT_PLUGIN_UI_THEME = "@verdaccio/ui-theme";
5
+ export declare function loadTheme(config: any): Promise<any>;
6
+ export declare function webAPIMiddleware(tokenMiddleware: RequestHandler, webEndpointsApi: RequestHandler): Router;
7
+ export declare function webMiddleware(config: any, middlewares: any, pluginOptions: any): any;
8
+ declare const _default: (config: any, auth: any, storage: any, logger: any) => Promise<import("express-serve-static-core").Router>;
9
+ export default _default;
@@ -0,0 +1,4 @@
1
+ export { startVerdaccio as default, startVerdaccio } from './lib/bootstrap';
2
+ export { runServer } from './lib/run-server';
3
+ export { ConfigBuilder, parseConfigFile, getDefaultConfig, Config } from '@verdaccio/config';
4
+ export { fileUtils, errorUtils, cryptoUtils, pkgUtils } from '@verdaccio/core';
@@ -0,0 +1,2 @@
1
+ import { Config, Security } from '@verdaccio/types';
2
+ export declare function getSecurity(config: Config): Security;
@@ -0,0 +1,22 @@
1
+ import { Application } from 'express';
2
+ import { Callback, ConfigYaml } from '@verdaccio/types';
3
+ /**
4
+ * Trigger the server after configuration has been loaded.
5
+ * @param {Object} config
6
+ * @param {Object} cliArguments
7
+ * @param {String} configPath
8
+ * @param {String} pkgVersion
9
+ * @param {String} pkgName
10
+ * @deprecated use runServer instead
11
+ */
12
+ declare function startVerdaccio(config: ConfigYaml, cliListen: string, configPath: string, pkgVersion: string, pkgName: string, callback: Callback): void;
13
+ /**
14
+ *
15
+ * @param webServer
16
+ * @param addr
17
+ * @param pkgName
18
+ * @param pkgVersion
19
+ * @deprecated use initServer instead
20
+ */
21
+ declare function listenDefaultCallback(webServer: Application, addr: any, pkgName: string, pkgVersion: string): void;
22
+ export { startVerdaccio, listenDefaultCallback };
@@ -0,0 +1 @@
1
+ export {};
@@ -5,7 +5,7 @@ var _info = require("./commands/info");
5
5
  var _init = require("./commands/init");
6
6
  var _version = require("./commands/version");
7
7
  var _utils = require("./utils");
8
- const pkgVersion = "6.7.1" || 'dev';
8
+ const pkgVersion = "6.7.3" || 'dev';
9
9
  if (process.getuid && process.getuid() === 0) {
10
10
  process.emitWarning(`Verdaccio doesn't need superuser privileges. don't run it under root`);
11
11
  }
@@ -0,0 +1,5 @@
1
+ import { Command } from 'clipanion';
2
+ export declare class InfoCommand extends Command {
3
+ static paths: string[][];
4
+ execute(): Promise<void>;
5
+ }
@@ -0,0 +1,9 @@
1
+ import { Command } from 'clipanion';
2
+ export declare const DEFAULT_PROCESS_NAME: string;
3
+ export declare class InitCommand extends Command {
4
+ static paths: never[][];
5
+ listen: string | undefined;
6
+ static usage: import("clipanion").Usage;
7
+ config: string | undefined;
8
+ execute(): Promise<void>;
9
+ }
@@ -13,7 +13,7 @@ var _runServer = require("../../run-server");
13
13
  var _utils = require("../../utils");
14
14
  var _utils2 = require("../utils");
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- const pkgVersion = "6.7.1" || 'dev';
16
+ const pkgVersion = "6.7.3" || 'dev';
17
17
  const pkgName = 'verdaccio';
18
18
  const DEFAULT_PROCESS_NAME = exports.DEFAULT_PROCESS_NAME = 'verdaccio';
19
19
  class InitCommand extends _clipanion.Command {
@@ -0,0 +1,5 @@
1
+ import { Command } from 'clipanion';
2
+ export declare class VersionCommand extends Command {
3
+ static paths: string[][];
4
+ execute(): Promise<void>;
5
+ }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.VersionCommand = void 0;
7
7
  var _clipanion = require("clipanion");
8
- const pkgVersion = "6.7.1" || 'dev';
8
+ const pkgVersion = "6.7.3" || 'dev';
9
9
  class VersionCommand extends _clipanion.Command {
10
10
  static paths = [[`--version`], [`-v`]];
11
11
  async execute() {
@@ -0,0 +1,4 @@
1
+ export declare const MIN_NODE_VERSION = "18";
2
+ export declare const RECOMMENDED_NODE_VERSION = "22";
3
+ export declare function isVersionValid(version: any): boolean;
4
+ export declare function isVersionRecommended(version: any): boolean;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import './cli/cli';
@@ -0,0 +1,5 @@
1
+ import { Config as ConfigCore } from '@verdaccio/config';
2
+ declare class Config extends ConfigCore {
3
+ constructor(config: any);
4
+ }
5
+ export default Config;
@@ -0,0 +1,25 @@
1
+ export { API_ERROR, API_MESSAGE, HTTP_STATUS, HEADERS, HEADER_TYPE, CHARACTER_ENCODING, TOKEN_BASIC, TOKEN_BEARER, SUPPORT_ERRORS, APP_ERROR, DEFAULT_PROTOCOL, DEFAULT_DOMAIN, } from '@verdaccio/core';
2
+ export { ROLES, PACKAGE_ACCESS } from '@verdaccio/utils';
3
+ export declare const TIME_EXPIRATION_24H = "24h";
4
+ export declare const TIME_EXPIRATION_1H = "1h";
5
+ export declare const DIST_TAGS = "dist-tags";
6
+ export declare const LATEST = "latest";
7
+ export declare const USERS = "users";
8
+ export declare const DEFAULT_MIN_LIMIT_PASSWORD = 3;
9
+ export declare const keyPem = "verdaccio-key.pem";
10
+ export declare const certPem = "verdaccio-cert.pem";
11
+ export declare const csrPem = "verdaccio-csr.pem";
12
+ export declare const ERROR_CODE: {
13
+ token_required: string;
14
+ };
15
+ export declare const DEFAULT_REGISTRY = "https://registry.npmjs.org";
16
+ export declare const DEFAULT_UPLINK = "npmjs";
17
+ export declare const DEFAULT_NO_README = "ERROR: No README data found!";
18
+ export declare const MODULE_NOT_FOUND = "MODULE_NOT_FOUND";
19
+ export declare const WEB_TITLE = "Verdaccio";
20
+ export declare const STORAGE: {
21
+ PACKAGE_FILE_NAME: string;
22
+ FILE_EXIST_ERROR: string;
23
+ NO_SUCH_FILE_ERROR: string;
24
+ DEFAULT_REVISION: string;
25
+ };
@@ -0,0 +1 @@
1
+ export declare function displayExperimentsInfoBox(flags: any): any;