@stemy/backend 4.0.0 → 4.0.2

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 (41) hide show
  1. package/esm2020/commands/fixtures-command.mjs +5 -3
  2. package/esm2020/requests/asset-image-params.mjs +20 -11
  3. package/esm2020/rest-controllers/assets.controller.mjs +35 -10
  4. package/esm2020/rest-controllers/auth.controller.mjs +14 -5
  5. package/esm2020/rest-controllers/gallery.controller.mjs +9 -4
  6. package/esm2020/rest-controllers/progresses.controller.mjs +10 -4
  7. package/esm2020/rest-controllers/terminal.controller.mjs +17 -6
  8. package/esm2020/rest-middlewares/container.middleware.mjs +4 -3
  9. package/esm2020/rest-middlewares/error-handler.middleware.mjs +6 -3
  10. package/esm2020/rest-middlewares/language.middleware.mjs +5 -3
  11. package/esm2020/rest-middlewares/request-ended.middleware.mjs +5 -3
  12. package/esm2020/rest-middlewares/request-started.middleware.mjs +5 -3
  13. package/esm2020/services/asset-resolver.mjs +6 -3
  14. package/esm2020/services/assets.mjs +6 -3
  15. package/esm2020/services/backend-provider.mjs +4 -3
  16. package/esm2020/services/cache.mjs +7 -3
  17. package/esm2020/services/configuration.mjs +4 -3
  18. package/esm2020/services/fixtures.mjs +4 -3
  19. package/esm2020/services/gallery-cache.mjs +4 -3
  20. package/esm2020/services/gallery.mjs +6 -3
  21. package/esm2020/services/id-generator.mjs +5 -3
  22. package/esm2020/services/job-manager.mjs +7 -3
  23. package/esm2020/services/lazy-assets.mjs +13 -3
  24. package/esm2020/services/logger.mjs +5 -3
  25. package/esm2020/services/mail-sender.mjs +6 -3
  26. package/esm2020/services/memory-cache.mjs +5 -3
  27. package/esm2020/services/mongo-connector.mjs +5 -3
  28. package/esm2020/services/open-api.mjs +4 -3
  29. package/esm2020/services/progresses.mjs +6 -3
  30. package/esm2020/services/template-renderer.mjs +6 -3
  31. package/esm2020/services/terminal-manager.mjs +7 -3
  32. package/esm2020/services/token-generator.mjs +4 -3
  33. package/esm2020/services/translation-provider.mjs +6 -3
  34. package/esm2020/services/translator.mjs +5 -3
  35. package/esm2020/socket-controllers/progress.controller.mjs +14 -5
  36. package/esm2020/socket-controllers/terminal.controller.mjs +17 -6
  37. package/fesm2015/stemy-backend.mjs +1303 -1196
  38. package/fesm2015/stemy-backend.mjs.map +1 -1
  39. package/fesm2020/stemy-backend.mjs +1369 -1262
  40. package/fesm2020/stemy-backend.mjs.map +1 -1
  41. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { __decorate, __param } from "tslib";
1
+ import { __decorate, __metadata, __param } from "tslib";
2
2
  import { inject, injectable, injectAll, Lifecycle, scoped } from "tsyringe";
3
3
  import cron from "node-cron";
4
4
  import { socket } from "zeromq";
@@ -7,6 +7,8 @@ import { filter, map } from "rxjs/operators";
7
7
  import { ObjectId } from "bson";
8
8
  import { DI_CONTAINER, JOB } from "../common-types";
9
9
  import { colorize, ConsoleColor, getConstructorName, getType, isArray, isObject, jsonHighlight, promiseTimeout } from "../utils";
10
+ import { Configuration } from "./configuration";
11
+ import { Logger } from "./logger";
10
12
  let JobManager = class JobManager {
11
13
  constructor(config, logger, container, jobTypes) {
12
14
  this.config = config;
@@ -181,7 +183,9 @@ JobManager = __decorate([
181
183
  injectable(),
182
184
  scoped(Lifecycle.ContainerScoped),
183
185
  __param(2, inject(DI_CONTAINER)),
184
- __param(3, injectAll(JOB))
186
+ __param(3, injectAll(JOB)),
187
+ __metadata("design:paramtypes", [Configuration,
188
+ Logger, Object, Array])
185
189
  ], JobManager);
186
190
  export { JobManager };
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvam9iLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBc0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMvRixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFDLE1BQU0sRUFBUyxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQ0gsWUFBWSxFQUtaLEdBQUcsRUFNTixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNqQixNQUFNLFVBQVUsQ0FBQztBQU1YLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFjbkIsWUFBcUIsTUFBcUIsRUFDckIsTUFBYyxFQUNRLFNBQThCLEVBQzdDLFFBQXNCO1FBSDdCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNRLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBRXJFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQW9CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO2dCQUN0RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxhQUFhLEdBQW1CO29CQUNsQyxXQUFXLEVBQUUsQ0FBQyxPQUFlLEVBQUUsTUFBcUIsRUFBRSxFQUFFO3dCQUNwRCxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVELENBQUM7aUJBQ0osQ0FBQztnQkFDRixhQUFhLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO2dCQUMxRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFBO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEVBQUUsQ0FBQyxPQUFlLEVBQUUsRUFBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsUUFBUTthQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDO2FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUIsRUFBRSxTQUFvQixFQUFFO1FBQ3JELElBQUksUUFBUSxHQUFTLElBQUksQ0FBQztRQUMxQixJQUFJO1lBQ0EsUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdkQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNySDtRQUNELE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQVksRUFBRSxTQUFvQixFQUFFO1FBQ3RELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1CLEVBQUUsU0FBb0IsRUFBRTtRQUNyRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQXVCLEVBQUUsSUFBcUIsRUFBRSxVQUEyQixFQUFFLEtBQXNCLEVBQUUsU0FBMEIsRUFBRSxPQUFtQixFQUFFLFNBQW9CLEVBQUU7UUFDakwsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BFLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNiLE1BQU0sS0FBSyxHQUFHLENBQXFCLENBQUM7Z0JBQ3BDLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ2hEO1lBQ0QsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNiLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSw2QkFBNkIsT0FBTyx1Q0FBdUMsQ0FBQyxDQUFDO1lBQzVHLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsT0FBTyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEYsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMscUVBQXFFLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDcEksT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsaUNBQWlDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFNUUsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxpQ0FBaUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDL0UsSUFBSTtnQkFDQSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQWMsQ0FBQztnQkFDakUsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsc0NBQXNDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFdkosSUFBSTtvQkFDQSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLHVDQUF1QyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2xIO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNSLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLDBCQUEwQixRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUMxRztnQkFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUN2RTtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFtQixFQUFFLE1BQWlCO1FBQzdDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sNkJBQTZCLE9BQU8sMkJBQTJCLENBQUM7U0FDekU7UUFDRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsTUFBTSxpQ0FBaUMsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztTQUMxRztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsTUFBaUI7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsTUFBTSxrQ0FBa0MsT0FBTywyQkFBMkIsQ0FBQztTQUM5RTtRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsT0FBbUIsRUFBRSxNQUFpQjtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSwrQkFBK0IsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN6RTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBWSxFQUFFLElBQWEsRUFBRSxFQUFFO2dCQUN2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFjLENBQUM7Z0JBQ3ZFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUN2RCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxPQUFPLEdBQUcsQ0FBQztnQkFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLG9DQUFvQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFKLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsK0JBQStCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDN0U7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFtQixFQUFFLE1BQWlCLEVBQUUsV0FBbUIsRUFBRTtRQUN0RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztRQUNyRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVTLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZSxFQUFFLE1BQWlCO1FBQzVELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKLENBQUE7QUFsTVksVUFBVTtJQUZ0QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztJQWlCakIsV0FBQSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDcEIsV0FBQSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7R0FqQmxCLFVBQVUsQ0FrTXRCO1NBbE1ZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlcGVuZGVuY3lDb250YWluZXIsIGluamVjdCwgaW5qZWN0YWJsZSwgaW5qZWN0QWxsLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCBjcm9uIGZyb20gXCJub2RlLWNyb25cIjtcclxuaW1wb3J0IHtzb2NrZXQsIFNvY2tldH0gZnJvbSBcInplcm9tcVwiO1xyXG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCB7XHJcbiAgICBESV9DT05UQUlORVIsXHJcbiAgICBJSm9iLFxyXG4gICAgSUpvYlRhc2ssXHJcbiAgICBJTWVzc2FnZUJyaWRnZSxcclxuICAgIElTb2NrZXRNZXNzYWdlLFxyXG4gICAgSk9CLFxyXG4gICAgSm9iUGFyYW1zLFxyXG4gICAgSm9iU2NoZWR1bGVSYW5nZSxcclxuICAgIEpvYlNjaGVkdWxlVGltZSxcclxuICAgIFNvY2tldFBhcmFtcyxcclxuICAgIFR5cGVcclxufSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7XHJcbiAgICBjb2xvcml6ZSxcclxuICAgIENvbnNvbGVDb2xvcixcclxuICAgIGdldENvbnN0cnVjdG9yTmFtZSxcclxuICAgIGdldFR5cGUsXHJcbiAgICBpc0FycmF5LFxyXG4gICAgaXNPYmplY3QsXHJcbiAgICBqc29uSGlnaGxpZ2h0LFxyXG4gICAgcHJvbWlzZVRpbWVvdXRcclxufSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi9sb2dnZXJcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgSm9iTWFuYWdlciB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGpvYlR5cGVzOiBUeXBlPElKb2I+W107XHJcbiAgICBwcm90ZWN0ZWQgam9iczogeyBbbmFtZTogc3RyaW5nXTogKGpvYlBhcmFtczogSm9iUGFyYW1zLCB1bmlxdWVJZDogc3RyaW5nKSA9PiBQcm9taXNlPGFueT4gfTtcclxuICAgIHByb3RlY3RlZCBtZXNzYWdlczogU3ViamVjdDxJU29ja2V0TWVzc2FnZT47XHJcbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc2luZzogYm9vbGVhbjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYXBpUHVzaDogU29ja2V0O1xyXG4gICAgcHJvdGVjdGVkIGFwaVB1bGw6IFNvY2tldDtcclxuICAgIHByb3RlY3RlZCB3b3JrZXJQdXNoOiBTb2NrZXQ7XHJcbiAgICBwcm90ZWN0ZWQgd29ya2VyUHVsbDogU29ja2V0O1xyXG5cclxuICAgIHJlYWRvbmx5IG1heFRpbWVvdXQ6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSBsb2dnZXI6IExvZ2dlcixcclxuICAgICAgICAgICAgICAgIEBpbmplY3QoRElfQ09OVEFJTkVSKSByZWFkb25seSBjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIsXHJcbiAgICAgICAgICAgICAgICBAaW5qZWN0QWxsKEpPQikgam9iVHlwZXM6IFR5cGU8SUpvYj5bXSkge1xyXG4gICAgICAgIHRoaXMuam9iVHlwZXMgPSBqb2JUeXBlcyB8fCBbXTtcclxuICAgICAgICB0aGlzLmpvYnMgPSB0aGlzLmpvYlR5cGVzLnJlZHVjZSgocmVzLCBqb2JUeXBlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgICAgIHJlc1tqb2JOYW1lXSA9IChqb2JQYXJhbXM6IEpvYlBhcmFtcywgdW5pcXVlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgam9iID0gdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgam9iUGFyYW1zLCB1bmlxdWVJZCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlQnJpZGdlOiBJTWVzc2FnZUJyaWRnZSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogU29ja2V0UGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy51bmlxdWVJZCA9IHVuaXF1ZUlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtlclB1c2guc2VuZChbbWVzc2FnZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zKV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlQnJpZGdlLnNlbmRNZXNzYWdlKGBqb2Itc3RhcnRlZGAsIHtuYW1lOiBqb2JOYW1lfSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gam9iLnByb2Nlc3MobWVzc2FnZUJyaWRnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG5ldyBTdWJqZWN0PElTb2NrZXRNZXNzYWdlPigpO1xyXG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWF4VGltZW91dCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJqb2JUaW1lb3V0XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uKG1lc3NhZ2U6IHN0cmluZywgY2I6IChwYXJhbXM6IFNvY2tldFBhcmFtcykgPT4gYW55KTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlc1xyXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIodCA9PiB0Lm1lc3NhZ2UgPT09IG1lc3NhZ2UpKVxyXG4gICAgICAgICAgICAucGlwZShtYXAodCA9PiB0LnBhcmFtcykpLnN1YnNjcmliZShjYik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcHJvY2Vzcyhqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcyA9IHt9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBsZXQgaW5zdGFuY2U6IElKb2IgPSBudWxsO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGluc3RhbmNlID0gdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgcGFyYW1zKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgcmVzb2x2ZSBwYXJhbXMgZm9yIGpvYjogJHtqb2JOYW1lfSwgd2l0aCBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX0uIFJlYXNvbjogJHtlfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaW5zdGFuY2UucHJvY2VzcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVucXVldWVXaXRoTmFtZShuYW1lOiBzdHJpbmcsIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbmRUb1dvcmtlcnModGhpcy50cnlSZXNvbHZlRnJvbU5hbWUobmFtZSwgcGFyYW1zKSwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlbnF1ZXVlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbmRUb1dvcmtlcnModGhpcy50cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlLCBwYXJhbXMpLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHNjaGVkdWxlKG1pbnV0ZTogSm9iU2NoZWR1bGVUaW1lLCBob3VyOiBKb2JTY2hlZHVsZVRpbWUsIGRheU9mTW9udGg6IEpvYlNjaGVkdWxlVGltZSwgbW9udGg6IEpvYlNjaGVkdWxlVGltZSwgZGF5T2ZXZWVrOiBKb2JTY2hlZHVsZVRpbWUsIGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBJSm9iVGFzayB7XHJcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IFttaW51dGUsIGhvdXIsIGRheU9mTW9udGgsIG1vbnRoLCBkYXlPZldlZWtdLm1hcCh0ID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHQpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZSA9IHQgYXMgSm9iU2NoZWR1bGVSYW5nZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtyYW5nZS5taW4gfHwgMH0tJHtyYW5nZS5tYXggfHwgMH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdC5qb2luKFwiLFwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gYCR7dH1gO1xyXG4gICAgICAgIH0pLmpvaW4oXCIgXCIpO1xyXG4gICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgaWYgKCFjcm9uLnZhbGlkYXRlKGV4cHJlc3Npb24pKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImpvYi1tYW5hZ2VyXCIsIGBDYW4ndCBzY2hlZHVsZSB0aGUgdGFzazogJyR7am9iTmFtZX0nIGJlY2F1c2UgdGltZSBleHByZXNzaW9uIGlzIGludmFsaWQuYCk7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3Jvbi5zY2hlZHVsZShleHByZXNzaW9uLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5xdWV1ZShqb2JUeXBlLCBwYXJhbXMpLmNhdGNoKGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiam9iLW1hbmFnZXJcIiwgYENhbid0IGVucXVldWUgam9iOiAnJHtqb2JOYW1lfScgYmVjYXVzZTogJHtlfWApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdGFydFByb2Nlc3NpbmcoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAodGhpcy5wcm9jZXNzaW5nKSByZXR1cm4gbnVsbDtcclxuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnJlc29sdmUoXCJpc1dvcmtlclwiKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJqb2ItbWFuYWdlclwiLCBjb2xvcml6ZShgUHJvY2Vzc2luZyBjYW4gbm90IGJlIHN0YXJ0ZWQgYmVjYXVzZSB0aGlzIGlzIE5PVCBhIHdvcmtlciBwcm9jZXNzIWAsIENvbnNvbGVDb2xvci5GZ1JlZCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xUmVtb3RlSG9zdFwiKTtcclxuICAgICAgICBjb25zdCBwdXNoSG9zdCA9IGAke2hvc3R9OiR7dGhpcy5jb25maWcucmVzb2x2ZShcInptcUJhY2tQb3J0XCIpfWA7XHJcbiAgICAgICAgdGhpcy53b3JrZXJQdXNoID0gc29ja2V0KFwicHVzaFwiKTtcclxuICAgICAgICBhd2FpdCB0aGlzLndvcmtlclB1c2guY29ubmVjdChwdXNoSG9zdCk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiam9iLW1hbmFnZXJcIiwgYFdvcmtlciBwcm9kdWNlciBjb25uZWN0ZWQgdG86ICR7cHVzaEhvc3R9YCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHB1bGxIb3N0ID0gYCR7aG9zdH06JHt0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xUG9ydFwiKX1gO1xyXG4gICAgICAgIHRoaXMud29ya2VyUHVsbCA9IHNvY2tldChcInB1bGxcIik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy53b3JrZXJQdWxsLmNvbm5lY3QocHVsbEhvc3QpO1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImpvYi1tYW5hZ2VyXCIsIGBXb3JrZXIgY29uc3VtZXIgY29ubmVjdGVkIHRvOiAke3B1bGxIb3N0fWApO1xyXG5cclxuICAgICAgICB0aGlzLndvcmtlclB1bGwub24oXCJtZXNzYWdlXCIsIGFzeW5jIChuYW1lOiBCdWZmZXIsIGFyZ3M6IEJ1ZmZlciwgdW5pcUlkOiBCdWZmZXIpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBuYW1lLnRvU3RyaW5nKFwidXRmOFwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGpvYlBhcmFtcyA9IEpTT04ucGFyc2UoYXJncy50b1N0cmluZyhcInV0ZjhcIikpIGFzIEpvYlBhcmFtcztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gdW5pcUlkPy50b1N0cmluZyhcInV0ZjhcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lKHVuaXF1ZUlkKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUxvZyh1bmlxdWVJZCwgYFN0YXJ0ZWQgd29ya2luZyBvbiBiYWNrZ3JvdW5kIGpvYjogJHtjb2xvcml6ZShqb2JOYW1lLCBDb25zb2xlQ29sb3IuRmdDeWFuKX0gd2l0aCBhcmdzOiBcXG4ke2pzb25IaWdobGlnaHQoam9iUGFyYW1zKX1cXG5cXG5gKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IFByb21pc2UucmFjZShbdGhpcy5qb2JzW2pvYk5hbWVdKGpvYlBhcmFtcywgdW5pcXVlSWQpLCBwcm9taXNlVGltZW91dCh0aGlzLm1heFRpbWVvdXQsIHRydWUpXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS50aW1lTG9nKHVuaXF1ZUlkLCBgRmluaXNoZWQgd29ya2luZyBvbiBiYWNrZ3JvdW5kIGpvYjogJHtjb2xvcml6ZShqb2JOYW1lLCBDb25zb2xlQ29sb3IuRmdDeWFuKX1cXG5cXG5gKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVMb2codW5pcXVlSWQsIGBCYWNrZ3JvdW5kIGpvYiBmYWlsZWQ6ICR7Y29sb3JpemUoam9iTmFtZSwgQ29uc29sZUNvbG9yLkZnUmVkKX1cXG4ke2V9XFxuXFxuYCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVFbmQodW5pcXVlSWQpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJqb2ItbWFuYWdlclwiLCBgRmFpbGVkIHRvIHN0YXJ0IGpvYjogJHtlLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cnlSZXNvbHZlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqb2JOYW1lID0gZ2V0Q29uc3RydWN0b3JOYW1lKGpvYlR5cGUpO1xyXG4gICAgICAgIGlmICghdGhpcy5qb2JzW2pvYk5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRocm93IGBDYW4ndCBmaW5kIGpvYiB3aXRoIG5hbWU6ICR7am9iTmFtZX0gc28gaXQgY2FuJ3QgYmUgZW5xdWV1ZWQhYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgcGFyYW1zKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRocm93IGBDYW4ndCByZXNvbHZlIHBhcmFtcyBmb3Igam9iOiAke2pvYk5hbWV9LCB3aXRoIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfS4gUmVhc29uOiAke2V9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGpvYk5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyeVJlc29sdmVGcm9tTmFtZShqb2JOYW1lOiBzdHJpbmcsIHBhcmFtczogSm9iUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqb2JUeXBlID0gdGhpcy5qb2JUeXBlcy5maW5kKHR5cGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29uc3RydWN0b3JOYW1lKHR5cGUpID09IGpvYk5hbWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFqb2JUeXBlKSB7XHJcbiAgICAgICAgICAgIHRocm93IGBDYW4ndCBmaW5kIGpvYiB0eXBlIHdpdGggbmFtZTogJHtqb2JOYW1lfSBzbyBpdCBjYW4ndCBiZSBlbnF1ZXVlZCFgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy50cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFwaVB1c2gpIHtcclxuICAgICAgICAgICAgY29uc3QgcG9ydCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFQb3J0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1c2ggPSBzb2NrZXQoXCJwdXNoXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1c2guYmluZChgdGNwOi8vMC4wLjAuMDoke3BvcnR9YCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImpvYi1tYW5hZ2VyXCIsIGBBUEkgcHJvZHVjZXIgYm91bmQgdG8gcG9ydDogJHtwb3J0fWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuYXBpUHVsbCkge1xyXG4gICAgICAgICAgICBjb25zdCBiYWNrUG9ydCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFCYWNrUG9ydFwiKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdWxsID0gc29ja2V0KFwicHVsbFwiKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdWxsLmJpbmQoYHRjcDovLzAuMC4wLjA6JHtiYWNrUG9ydH1gKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdWxsLm9uKFwibWVzc2FnZVwiLCAobmFtZTogQnVmZmVyLCBhcmdzPzogQnVmZmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gbmFtZS50b1N0cmluZyhcInV0ZjhcIik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBKU09OLnBhcnNlKGFyZ3M/LnRvU3RyaW5nKFwidXRmOFwiKSB8fCBcInt9XCIpIGFzIEpvYlBhcmFtcztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtVHlwZXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXNba2V5XSA9IGdldFR5cGUocGFyYW1zW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJqb2ItbWFuYWdlclwiLCBgUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gd29ya2VyOiBcIiR7Y29sb3JpemUobWVzc2FnZSwgQ29uc29sZUNvbG9yLkZnQ3lhbil9XCIgd2l0aCBhcmdzOiAke2pzb25IaWdobGlnaHQocGFyYW1UeXBlcyl9XFxuXFxuYCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLm5leHQoe21lc3NhZ2UsIHBhcmFtc30pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiam9iLW1hbmFnZXJcIiwgYEFQSSBjb25zdW1lciBib3VuZCB0byBwb3J0OiAke2JhY2tQb3J0fWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy50cnlSZXNvbHZlKGpvYlR5cGUsIHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlc29sdmVKb2JJbnN0YW5jZShqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcywgdW5pcXVlSWQ6IHN0cmluZyA9IFwiXCIpOiBJSm9iIHtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDaGlsZENvbnRhaW5lcigpO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmFtcykubWFwKChuYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5yZWdpc3RlcihuYW1lLCB7dXNlVmFsdWU6IHBhcmFtc1tuYW1lXX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRhaW5lci5yZWdpc3RlcihcInVuaXF1ZUlkXCIsIHt1c2VWYWx1ZTogdW5pcXVlSWR9KTtcclxuICAgICAgICBjb250YWluZXIucmVnaXN0ZXIoam9iVHlwZSwgam9iVHlwZSk7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5yZXNvbHZlKGpvYlR5cGUpIGFzIElKb2I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHNlbmRUb1dvcmtlcnMoam9iTmFtZTogc3RyaW5nLCBwYXJhbXM6IEpvYlBhcmFtcyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgcHVibGlzaGVyID0gYXdhaXQgdGhpcy5hcGlQdXNoO1xyXG4gICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gbmV3IE9iamVjdElkKCkudG9IZXhTdHJpbmcoKTtcclxuICAgICAgICBhd2FpdCBwdWJsaXNoZXIuc2VuZChbam9iTmFtZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zKSwgdW5pcXVlSWRdKTtcclxuICAgICAgICByZXR1cm4gdW5pcXVlSWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvam9iLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBc0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUMvRixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFDLE1BQU0sRUFBUyxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQ0gsWUFBWSxFQUtaLEdBQUcsRUFNTixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNqQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUl6QixJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBY25CLFlBQXFCLE1BQXFCLEVBQ3JCLE1BQWMsRUFDUSxTQUE4QixFQUM3QyxRQUFzQjtRQUg3QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDUSxjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUVyRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FB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QWUsRUFBRSxNQUFpQjtRQUM1RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFBO0FBbE1ZLFVBQVU7SUFGdEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFpQmpCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFBO3FDQUhFLGFBQWE7UUFDYixNQUFNO0dBZjFCLFVBQVUsQ0FrTXRCO1NBbE1ZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RlcGVuZGVuY3lDb250YWluZXIsIGluamVjdCwgaW5qZWN0YWJsZSwgaW5qZWN0QWxsLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCBjcm9uIGZyb20gXCJub2RlLWNyb25cIjtcclxuaW1wb3J0IHtzb2NrZXQsIFNvY2tldH0gZnJvbSBcInplcm9tcVwiO1xyXG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCB7XHJcbiAgICBESV9DT05UQUlORVIsXHJcbiAgICBJSm9iLFxyXG4gICAgSUpvYlRhc2ssXHJcbiAgICBJTWVzc2FnZUJyaWRnZSxcclxuICAgIElTb2NrZXRNZXNzYWdlLFxyXG4gICAgSk9CLFxyXG4gICAgSm9iUGFyYW1zLFxyXG4gICAgSm9iU2NoZWR1bGVSYW5nZSxcclxuICAgIEpvYlNjaGVkdWxlVGltZSxcclxuICAgIFNvY2tldFBhcmFtcyxcclxuICAgIFR5cGVcclxufSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7XHJcbiAgICBjb2xvcml6ZSxcclxuICAgIENvbnNvbGVDb2xvcixcclxuICAgIGdldENvbnN0cnVjdG9yTmFtZSxcclxuICAgIGdldFR5cGUsXHJcbiAgICBpc0FycmF5LFxyXG4gICAgaXNPYmplY3QsXHJcbiAgICBqc29uSGlnaGxpZ2h0LFxyXG4gICAgcHJvbWlzZVRpbWVvdXRcclxufSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi9sb2dnZXJcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgSm9iTWFuYWdlciB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGpvYlR5cGVzOiBUeXBlPElKb2I+W107XHJcbiAgICBwcm90ZWN0ZWQgam9iczogeyBbbmFtZTogc3RyaW5nXTogKGpvYlBhcmFtczogSm9iUGFyYW1zLCB1bmlxdWVJZDogc3RyaW5nKSA9PiBQcm9taXNlPGFueT4gfTtcclxuICAgIHByb3RlY3RlZCBtZXNzYWdlczogU3ViamVjdDxJU29ja2V0TWVzc2FnZT47XHJcbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc2luZzogYm9vbGVhbjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYXBpUHVzaDogU29ja2V0O1xyXG4gICAgcHJvdGVjdGVkIGFwaVB1bGw6IFNvY2tldDtcclxuICAgIHByb3RlY3RlZCB3b3JrZXJQdXNoOiBTb2NrZXQ7XHJcbiAgICBwcm90ZWN0ZWQgd29ya2VyUHVsbDogU29ja2V0O1xyXG5cclxuICAgIHJlYWRvbmx5IG1heFRpbWVvdXQ6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSBsb2dnZXI6IExvZ2dlcixcclxuICAgICAgICAgICAgICAgIEBpbmplY3QoRElfQ09OVEFJTkVSKSByZWFkb25seSBjb250YWluZXI6IERlcGVuZGVuY3lDb250YWluZXIsXHJcbiAgICAgICAgICAgICAgICBAaW5qZWN0QWxsKEpPQikgam9iVHlwZXM6IFR5cGU8SUpvYj5bXSkge1xyXG4gICAgICAgIHRoaXMuam9iVHlwZXMgPSBqb2JUeXBlcyB8fCBbXTtcclxuICAgICAgICB0aGlzLmpvYnMgPSB0aGlzLmpvYlR5cGVzLnJlZHVjZSgocmVzLCBqb2JUeXBlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgICAgIHJlc1tqb2JOYW1lXSA9IChqb2JQYXJhbXM6IEpvYlBhcmFtcywgdW5pcXVlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgam9iID0gdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgam9iUGFyYW1zLCB1bmlxdWVJZCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlQnJpZGdlOiBJTWVzc2FnZUJyaWRnZSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogU29ja2V0UGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy51bmlxdWVJZCA9IHVuaXF1ZUlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtlclB1c2guc2VuZChbbWVzc2FnZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zKV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlQnJpZGdlLnNlbmRNZXNzYWdlKGBqb2Itc3RhcnRlZGAsIHtuYW1lOiBqb2JOYW1lfSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gam9iLnByb2Nlc3MobWVzc2FnZUJyaWRnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG5ldyBTdWJqZWN0PElTb2NrZXRNZXNzYWdlPigpO1xyXG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWF4VGltZW91dCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJqb2JUaW1lb3V0XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uKG1lc3NhZ2U6IHN0cmluZywgY2I6IChwYXJhbXM6IFNvY2tldFBhcmFtcykgPT4gYW55KTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlc1xyXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIodCA9PiB0Lm1lc3NhZ2UgPT09IG1lc3NhZ2UpKVxyXG4gICAgICAgICAgICAucGlwZShtYXAodCA9PiB0LnBhcmFtcykpLnN1YnNjcmliZShjYik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcHJvY2Vzcyhqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcyA9IHt9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBsZXQgaW5zdGFuY2U6IElKb2IgPSBudWxsO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGluc3RhbmNlID0gdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgcGFyYW1zKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgcmVzb2x2ZSBwYXJhbXMgZm9yIGpvYjogJHtqb2JOYW1lfSwgd2l0aCBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX0uIFJlYXNvbjogJHtlfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaW5zdGFuY2UucHJvY2VzcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVucXVldWVXaXRoTmFtZShuYW1lOiBzdHJpbmcsIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbmRUb1dvcmtlcnModGhpcy50cnlSZXNvbHZlRnJvbU5hbWUobmFtZSwgcGFyYW1zKSwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlbnF1ZXVlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbmRUb1dvcmtlcnModGhpcy50cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlLCBwYXJhbXMpLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHNjaGVkdWxlKG1pbnV0ZTogSm9iU2NoZWR1bGVUaW1lLCBob3VyOiBKb2JTY2hlZHVsZVRpbWUsIGRheU9mTW9udGg6IEpvYlNjaGVkdWxlVGltZSwgbW9udGg6IEpvYlNjaGVkdWxlVGltZSwgZGF5T2ZXZWVrOiBKb2JTY2hlZHVsZVRpbWUsIGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zID0ge30pOiBJSm9iVGFzayB7XHJcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IFttaW51dGUsIGhvdXIsIGRheU9mTW9udGgsIG1vbnRoLCBkYXlPZldlZWtdLm1hcCh0ID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHQpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZSA9IHQgYXMgSm9iU2NoZWR1bGVSYW5nZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtyYW5nZS5taW4gfHwgMH0tJHtyYW5nZS5tYXggfHwgMH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdC5qb2luKFwiLFwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gYCR7dH1gO1xyXG4gICAgICAgIH0pLmpvaW4oXCIgXCIpO1xyXG4gICAgICAgIGNvbnN0IGpvYk5hbWUgPSBnZXRDb25zdHJ1Y3Rvck5hbWUoam9iVHlwZSk7XHJcbiAgICAgICAgaWYgKCFjcm9uLnZhbGlkYXRlKGV4cHJlc3Npb24pKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImpvYi1tYW5hZ2VyXCIsIGBDYW4ndCBzY2hlZHVsZSB0aGUgdGFzazogJyR7am9iTmFtZX0nIGJlY2F1c2UgdGltZSBleHByZXNzaW9uIGlzIGludmFsaWQuYCk7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3Jvbi5zY2hlZHVsZShleHByZXNzaW9uLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5xdWV1ZShqb2JUeXBlLCBwYXJhbXMpLmNhdGNoKGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiam9iLW1hbmFnZXJcIiwgYENhbid0IGVucXVldWUgam9iOiAnJHtqb2JOYW1lfScgYmVjYXVzZTogJHtlfWApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdGFydFByb2Nlc3NpbmcoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBpZiAodGhpcy5wcm9jZXNzaW5nKSByZXR1cm4gbnVsbDtcclxuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnJlc29sdmUoXCJpc1dvcmtlclwiKSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJqb2ItbWFuYWdlclwiLCBjb2xvcml6ZShgUHJvY2Vzc2luZyBjYW4gbm90IGJlIHN0YXJ0ZWQgYmVjYXVzZSB0aGlzIGlzIE5PVCBhIHdvcmtlciBwcm9jZXNzIWAsIENvbnNvbGVDb2xvci5GZ1JlZCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xUmVtb3RlSG9zdFwiKTtcclxuICAgICAgICBjb25zdCBwdXNoSG9zdCA9IGAke2hvc3R9OiR7dGhpcy5jb25maWcucmVzb2x2ZShcInptcUJhY2tQb3J0XCIpfWA7XHJcbiAgICAgICAgdGhpcy53b3JrZXJQdXNoID0gc29ja2V0KFwicHVzaFwiKTtcclxuICAgICAgICBhd2FpdCB0aGlzLndvcmtlclB1c2guY29ubmVjdChwdXNoSG9zdCk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiam9iLW1hbmFnZXJcIiwgYFdvcmtlciBwcm9kdWNlciBjb25uZWN0ZWQgdG86ICR7cHVzaEhvc3R9YCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHB1bGxIb3N0ID0gYCR7aG9zdH06JHt0aGlzLmNvbmZpZy5yZXNvbHZlKFwiem1xUG9ydFwiKX1gO1xyXG4gICAgICAgIHRoaXMud29ya2VyUHVsbCA9IHNvY2tldChcInB1bGxcIik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy53b3JrZXJQdWxsLmNvbm5lY3QocHVsbEhvc3QpO1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImpvYi1tYW5hZ2VyXCIsIGBXb3JrZXIgY29uc3VtZXIgY29ubmVjdGVkIHRvOiAke3B1bGxIb3N0fWApO1xyXG5cclxuICAgICAgICB0aGlzLndvcmtlclB1bGwub24oXCJtZXNzYWdlXCIsIGFzeW5jIChuYW1lOiBCdWZmZXIsIGFyZ3M6IEJ1ZmZlciwgdW5pcUlkOiBCdWZmZXIpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGpvYk5hbWUgPSBuYW1lLnRvU3RyaW5nKFwidXRmOFwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGpvYlBhcmFtcyA9IEpTT04ucGFyc2UoYXJncy50b1N0cmluZyhcInV0ZjhcIikpIGFzIEpvYlBhcmFtcztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gdW5pcUlkPy50b1N0cmluZyhcInV0ZjhcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lKHVuaXF1ZUlkKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUxvZyh1bmlxdWVJZCwgYFN0YXJ0ZWQgd29ya2luZyBvbiBiYWNrZ3JvdW5kIGpvYjogJHtjb2xvcml6ZShqb2JOYW1lLCBDb25zb2xlQ29sb3IuRmdDeWFuKX0gd2l0aCBhcmdzOiBcXG4ke2pzb25IaWdobGlnaHQoam9iUGFyYW1zKX1cXG5cXG5gKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IFByb21pc2UucmFjZShbdGhpcy5qb2JzW2pvYk5hbWVdKGpvYlBhcmFtcywgdW5pcXVlSWQpLCBwcm9taXNlVGltZW91dCh0aGlzLm1heFRpbWVvdXQsIHRydWUpXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS50aW1lTG9nKHVuaXF1ZUlkLCBgRmluaXNoZWQgd29ya2luZyBvbiBiYWNrZ3JvdW5kIGpvYjogJHtjb2xvcml6ZShqb2JOYW1lLCBDb25zb2xlQ29sb3IuRmdDeWFuKX1cXG5cXG5gKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVMb2codW5pcXVlSWQsIGBCYWNrZ3JvdW5kIGpvYiBmYWlsZWQ6ICR7Y29sb3JpemUoam9iTmFtZSwgQ29uc29sZUNvbG9yLkZnUmVkKX1cXG4ke2V9XFxuXFxuYCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVFbmQodW5pcXVlSWQpO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJqb2ItbWFuYWdlclwiLCBgRmFpbGVkIHRvIHN0YXJ0IGpvYjogJHtlLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cnlSZXNvbHZlKGpvYlR5cGU6IFR5cGU8SUpvYj4sIHBhcmFtczogSm9iUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqb2JOYW1lID0gZ2V0Q29uc3RydWN0b3JOYW1lKGpvYlR5cGUpO1xyXG4gICAgICAgIGlmICghdGhpcy5qb2JzW2pvYk5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRocm93IGBDYW4ndCBmaW5kIGpvYiB3aXRoIG5hbWU6ICR7am9iTmFtZX0gc28gaXQgY2FuJ3QgYmUgZW5xdWV1ZWQhYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5yZXNvbHZlSm9iSW5zdGFuY2Uoam9iVHlwZSwgcGFyYW1zKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRocm93IGBDYW4ndCByZXNvbHZlIHBhcmFtcyBmb3Igam9iOiAke2pvYk5hbWV9LCB3aXRoIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfS4gUmVhc29uOiAke2V9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGpvYk5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyeVJlc29sdmVGcm9tTmFtZShqb2JOYW1lOiBzdHJpbmcsIHBhcmFtczogSm9iUGFyYW1zKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBqb2JUeXBlID0gdGhpcy5qb2JUeXBlcy5maW5kKHR5cGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29uc3RydWN0b3JOYW1lKHR5cGUpID09IGpvYk5hbWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCFqb2JUeXBlKSB7XHJcbiAgICAgICAgICAgIHRocm93IGBDYW4ndCBmaW5kIGpvYiB0eXBlIHdpdGggbmFtZTogJHtqb2JOYW1lfSBzbyBpdCBjYW4ndCBiZSBlbnF1ZXVlZCFgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy50cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cnlSZXNvbHZlQW5kSW5pdChqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFwaVB1c2gpIHtcclxuICAgICAgICAgICAgY29uc3QgcG9ydCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFQb3J0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1c2ggPSBzb2NrZXQoXCJwdXNoXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFwaVB1c2guYmluZChgdGNwOi8vMC4wLjAuMDoke3BvcnR9YCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhcImpvYi1tYW5hZ2VyXCIsIGBBUEkgcHJvZHVjZXIgYm91bmQgdG8gcG9ydDogJHtwb3J0fWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuYXBpUHVsbCkge1xyXG4gICAgICAgICAgICBjb25zdCBiYWNrUG9ydCA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJ6bXFCYWNrUG9ydFwiKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdWxsID0gc29ja2V0KFwicHVsbFwiKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdWxsLmJpbmQoYHRjcDovLzAuMC4wLjA6JHtiYWNrUG9ydH1gKTtcclxuICAgICAgICAgICAgdGhpcy5hcGlQdWxsLm9uKFwibWVzc2FnZVwiLCAobmFtZTogQnVmZmVyLCBhcmdzPzogQnVmZmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gbmFtZS50b1N0cmluZyhcInV0ZjhcIik7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBKU09OLnBhcnNlKGFyZ3M/LnRvU3RyaW5nKFwidXRmOFwiKSB8fCBcInt9XCIpIGFzIEpvYlBhcmFtcztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtVHlwZXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpLnJlZHVjZSgocmVzLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXNba2V5XSA9IGdldFR5cGUocGFyYW1zW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJqb2ItbWFuYWdlclwiLCBgUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gd29ya2VyOiBcIiR7Y29sb3JpemUobWVzc2FnZSwgQ29uc29sZUNvbG9yLkZnQ3lhbil9XCIgd2l0aCBhcmdzOiAke2pzb25IaWdobGlnaHQocGFyYW1UeXBlcyl9XFxuXFxuYCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLm5leHQoe21lc3NhZ2UsIHBhcmFtc30pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKFwiam9iLW1hbmFnZXJcIiwgYEFQSSBjb25zdW1lciBib3VuZCB0byBwb3J0OiAke2JhY2tQb3J0fWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy50cnlSZXNvbHZlKGpvYlR5cGUsIHBhcmFtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlc29sdmVKb2JJbnN0YW5jZShqb2JUeXBlOiBUeXBlPElKb2I+LCBwYXJhbXM6IEpvYlBhcmFtcywgdW5pcXVlSWQ6IHN0cmluZyA9IFwiXCIpOiBJSm9iIHtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDaGlsZENvbnRhaW5lcigpO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmFtcykubWFwKChuYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5yZWdpc3RlcihuYW1lLCB7dXNlVmFsdWU6IHBhcmFtc1tuYW1lXX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRhaW5lci5yZWdpc3RlcihcInVuaXF1ZUlkXCIsIHt1c2VWYWx1ZTogdW5pcXVlSWR9KTtcclxuICAgICAgICBjb250YWluZXIucmVnaXN0ZXIoam9iVHlwZSwgam9iVHlwZSk7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5yZXNvbHZlKGpvYlR5cGUpIGFzIElKb2I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHNlbmRUb1dvcmtlcnMoam9iTmFtZTogc3RyaW5nLCBwYXJhbXM6IEpvYlBhcmFtcyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgcHVibGlzaGVyID0gYXdhaXQgdGhpcy5hcGlQdXNoO1xyXG4gICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gbmV3IE9iamVjdElkKCkudG9IZXhTdHJpbmcoKTtcclxuICAgICAgICBhd2FpdCBwdWJsaXNoZXIuc2VuZChbam9iTmFtZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1zKSwgdW5pcXVlSWRdKTtcclxuICAgICAgICByZXR1cm4gdW5pcXVlSWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,7 +1,12 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { injectable, Lifecycle, scoped } from "tsyringe";
3
3
  import { ObjectId } from "bson";
4
+ import { MongoConnector } from "./mongo-connector";
5
+ import { Assets } from "./assets";
4
6
  import { LazyAsset } from "./entities/lazy-asset";
7
+ import { JobManager } from "./job-manager";
8
+ import { Logger } from "./logger";
9
+ import { Progresses } from "./progresses";
5
10
  let LazyAssets = class LazyAssets {
6
11
  constructor(connector, assets, progresses, logger, jobMan) {
7
12
  this.connector = connector;
@@ -42,7 +47,12 @@ let LazyAssets = class LazyAssets {
42
47
  };
43
48
  LazyAssets = __decorate([
44
49
  injectable(),
45
- scoped(Lifecycle.ContainerScoped)
50
+ scoped(Lifecycle.ContainerScoped),
51
+ __metadata("design:paramtypes", [MongoConnector,
52
+ Assets,
53
+ Progresses,
54
+ Logger,
55
+ JobManager])
46
56
  ], LazyAssets);
47
57
  export { LazyAssets };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbGF6eS1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBTTlCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQU96QyxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBSW5CLFlBQXFCLFNBQXlCLEVBQ3pCLE1BQWMsRUFDZCxVQUFzQixFQUN0QixNQUFjLEVBQ2QsTUFBa0I7UUFKbEIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFtQixFQUFFLFlBQXVCLEVBQUUsRUFBRSxTQUFpQixNQUFNO1FBQ2hGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHO1lBQ1QsT0FBTztZQUNQLFNBQVM7WUFDVCxNQUFNO1NBQ1QsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLGFBQWE7WUFBRSxPQUFPLGFBQWEsQ0FBQztRQUN4QyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQVU7UUFDakIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUE4QjtRQUNyQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxJQUFJO1lBQ1IsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQVU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNKLENBQUE7QUF6Q1ksVUFBVTtJQUZ0QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztHQUNyQixVQUFVLENBeUN0QjtTQXpDWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvbn0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtGaWx0ZXJRdWVyeX0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCB7SUpvYiwgSUxhenlBc3NldCwgSm9iUGFyYW1zLCBUeXBlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL21vbmdvLWNvbm5lY3RvclwiO1xyXG5pbXBvcnQge0Fzc2V0c30gZnJvbSBcIi4vYXNzZXRzXCI7XHJcbmltcG9ydCB7TGF6eUFzc2V0fSBmcm9tIFwiLi9lbnRpdGllcy9sYXp5LWFzc2V0XCI7XHJcbmltcG9ydCB7Sm9iTWFuYWdlcn0gZnJvbSBcIi4vam9iLW1hbmFnZXJcIjtcclxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuL2xvZ2dlclwiO1xyXG5pbXBvcnQge1Byb2dyZXNzZXN9IGZyb20gXCIuL3Byb2dyZXNzZXNcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgTGF6eUFzc2V0cyB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbGxlY3Rpb246IENvbGxlY3Rpb248UGFydGlhbDxJTGF6eUFzc2V0Pj47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29ubmVjdG9yOiBNb25nb0Nvbm5lY3RvcixcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGFzc2V0czogQXNzZXRzLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgcHJvZ3Jlc3NlczogUHJvZ3Jlc3NlcyxcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyLFxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgam9iTWFuOiBKb2JNYW5hZ2VyKSB7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uID0gY29ubmVjdG9yLmRhdGFiYXNlLmNvbGxlY3Rpb24oXCJsYXp5YXNzZXRzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZShqb2JUeXBlOiBUeXBlPElKb2I+LCBqb2JQYXJhbXM6IEpvYlBhcmFtcyA9IHt9LCBqb2JRdWU6IHN0cmluZyA9IFwibWFpblwiKTogUHJvbWlzZTxJTGF6eUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3Qgam9iTmFtZSA9IHRoaXMuam9iTWFuLnRyeVJlc29sdmUoam9iVHlwZSwgey4uLmpvYlBhcmFtcywgbGF6eUlkOiBcIlwifSk7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgam9iTmFtZSxcclxuICAgICAgICAgICAgam9iUGFyYW1zLFxyXG4gICAgICAgICAgICBqb2JRdWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQXNzZXQgPSBhd2FpdCB0aGlzLmZpbmQoZGF0YSk7XHJcbiAgICAgICAgaWYgKGV4aXN0aW5nQXNzZXQpIHJldHVybiBleGlzdGluZ0Fzc2V0O1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbi5pbnNlcnRPbmUoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBMYXp5QXNzZXQocmVzLmluc2VydGVkSWQsIGRhdGEsIHRoaXMuY29sbGVjdGlvbiwgdGhpcy5sb2dnZXIsIHRoaXMuYXNzZXRzLCB0aGlzLnByb2dyZXNzZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlYWQoaWQ6IHN0cmluZyk6IFByb21pc2U8SUxhenlBc3NldD4ge1xyXG4gICAgICAgIHJldHVybiAhaWQgPyBudWxsIDogdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJTGF6eUFzc2V0Pik6IFByb21pc2U8SUxhenlBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuICFkYXRhXHJcbiAgICAgICAgICAgID8gbnVsbFxyXG4gICAgICAgICAgICA6IG5ldyBMYXp5QXNzZXQoZGF0YS5faWQsIGRhdGEsIHRoaXMuY29sbGVjdGlvbiwgdGhpcy5sb2dnZXIsIHRoaXMuYXNzZXRzLCB0aGlzLnByb2dyZXNzZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVubGluayhpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMucmVhZChpZCk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LnVubGluaygpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbGF6eS1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSTlCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUlqQyxJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBSW5CLFlBQXFCLFNBQXlCLEVBQ3pCLE1BQWMsRUFDZCxVQUFzQixFQUN0QixNQUFjLEVBQ2QsTUFBa0I7UUFKbEIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFtQixFQUFFLFlBQXVCLEVBQUUsRUFBRSxTQUFpQixNQUFNO1FBQ2hGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHO1lBQ1QsT0FBTztZQUNQLFNBQVM7WUFDVCxNQUFNO1NBQ1QsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLGFBQWE7WUFBRSxPQUFPLGFBQWEsQ0FBQztRQUN4QyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQVU7UUFDakIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUE4QjtRQUNyQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxJQUFJO1lBQ1IsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQVU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNKLENBQUE7QUF6Q1ksVUFBVTtJQUZ0QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztxQ0FLRSxjQUFjO1FBQ2pCLE1BQU07UUFDRixVQUFVO1FBQ2QsTUFBTTtRQUNOLFVBQVU7R0FSOUIsVUFBVSxDQXlDdEI7U0F6Q1ksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge09iamVjdElkfSBmcm9tIFwiYnNvblwiO1xyXG5pbXBvcnQge0NvbGxlY3Rpb259IGZyb20gXCJtb25nb2RiXCI7XHJcbmltcG9ydCB7RmlsdGVyUXVlcnl9IGZyb20gXCJtb25nb29zZVwiO1xyXG5pbXBvcnQge0lKb2IsIElMYXp5QXNzZXQsIEpvYlBhcmFtcywgVHlwZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge01vbmdvQ29ubmVjdG9yfSBmcm9tIFwiLi9tb25nby1jb25uZWN0b3JcIjtcclxuaW1wb3J0IHtBc3NldHN9IGZyb20gXCIuL2Fzc2V0c1wiO1xyXG5pbXBvcnQge0xhenlBc3NldH0gZnJvbSBcIi4vZW50aXRpZXMvbGF6eS1hc3NldFwiO1xyXG5pbXBvcnQge0pvYk1hbmFnZXJ9IGZyb20gXCIuL2pvYi1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi9sb2dnZXJcIjtcclxuaW1wb3J0IHtQcm9ncmVzc2VzfSBmcm9tIFwiLi9wcm9ncmVzc2VzXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIExhenlBc3NldHMge1xyXG5cclxuICAgIHByb3RlY3RlZCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFBhcnRpYWw8SUxhenlBc3NldD4+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbm5lY3RvcjogTW9uZ29Db25uZWN0b3IsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSBhc3NldHM6IEFzc2V0cyxcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IHByb2dyZXNzZXM6IFByb2dyZXNzZXMsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSBsb2dnZXI6IExvZ2dlcixcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5IGpvYk1hbjogSm9iTWFuYWdlcikge1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IGNvbm5lY3Rvci5kYXRhYmFzZS5jb2xsZWN0aW9uKFwibGF6eWFzc2V0c1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGUoam9iVHlwZTogVHlwZTxJSm9iPiwgam9iUGFyYW1zOiBKb2JQYXJhbXMgPSB7fSwgam9iUXVlOiBzdHJpbmcgPSBcIm1haW5cIik6IFByb21pc2U8SUxhenlBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGpvYk5hbWUgPSB0aGlzLmpvYk1hbi50cnlSZXNvbHZlKGpvYlR5cGUsIHsuLi5qb2JQYXJhbXMsIGxhenlJZDogXCJcIn0pO1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgIGpvYk5hbWUsXHJcbiAgICAgICAgICAgIGpvYlBhcmFtcyxcclxuICAgICAgICAgICAgam9iUXVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBleGlzdGluZ0Fzc2V0ID0gYXdhaXQgdGhpcy5maW5kKGRhdGEpO1xyXG4gICAgICAgIGlmIChleGlzdGluZ0Fzc2V0KSByZXR1cm4gZXhpc3RpbmdBc3NldDtcclxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uaW5zZXJ0T25lKGRhdGEpO1xyXG4gICAgICAgIHJldHVybiBuZXcgTGF6eUFzc2V0KHJlcy5pbnNlcnRlZElkLCBkYXRhLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMubG9nZ2VyLCB0aGlzLmFzc2V0cywgdGhpcy5wcm9ncmVzc2VzKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWFkKGlkOiBzdHJpbmcpOiBQcm9taXNlPElMYXp5QXNzZXQ+IHtcclxuICAgICAgICByZXR1cm4gIWlkID8gbnVsbCA6IHRoaXMuZmluZCh7X2lkOiBuZXcgT2JqZWN0SWQoaWQpfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmluZCh3aGVyZTogRmlsdGVyUXVlcnk8SUxhenlBc3NldD4pOiBQcm9taXNlPElMYXp5QXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmZpbmRPbmUod2hlcmUpO1xyXG4gICAgICAgIHJldHVybiAhZGF0YVxyXG4gICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgOiBuZXcgTGF6eUFzc2V0KGRhdGEuX2lkLCBkYXRhLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMubG9nZ2VyLCB0aGlzLmFzc2V0cywgdGhpcy5wcm9ncmVzc2VzKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1bmxpbmsoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLnJlYWQoaWQpO1xyXG4gICAgICAgIGlmICghYXNzZXQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiBhc3NldC51bmxpbmsoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,6 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { singleton } from "tsyringe";
3
+ import { Configuration } from "./configuration";
3
4
  let Logger = class Logger {
4
5
  constructor(config) {
5
6
  this.config = config;
@@ -15,7 +16,8 @@ let Logger = class Logger {
15
16
  }
16
17
  };
17
18
  Logger = __decorate([
18
- singleton()
19
+ singleton(),
20
+ __metadata("design:paramtypes", [Configuration])
19
21
  ], Logger);
20
22
  export { Logger };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUk1QixJQUFNLE1BQU0sR0FBWixNQUFNLE1BQU07SUFLZixZQUFxQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQUcsTUFBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQWhCWSxNQUFNO0lBRGxCLFNBQVMsRUFBRTtHQUNDLE1BQU0sQ0FnQmxCO1NBaEJZLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4vY29uZmlndXJhdGlvblwiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xyXG5cclxuICAgIHByb3RlY3RlZCB0YWdzOiBzdHJpbmdbXTtcclxuICAgIHByb3RlY3RlZCBpZ25vcmVkVGFnczogc3RyaW5nW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29uZmlnOiBDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgICAgdGhpcy50YWdzID0gdGhpcy5jb25maWcucmVzb2x2ZShcImxvZ1RhZ3NcIik7XHJcbiAgICAgICAgdGhpcy5pZ25vcmVkVGFncyA9IHRoaXMuY29uZmlnLnJlc29sdmUoXCJpZ25vcmVkTG9nVGFnc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2codGFnOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pZ25vcmVkVGFncy5pbmNsdWRlcyh0YWcpKSByZXR1cm47XHJcbiAgICAgICAgaWYgKHRoaXMudGFncy5sZW5ndGggPT09IDAgfHwgdGhpcy50YWdzLmluY2x1ZGVzKHRhZykpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYFske3RhZ31dYCwgLi4ucGFyYW1zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHdkMsSUFBTSxNQUFNLEdBQVosTUFBTSxNQUFNO0lBS2YsWUFBcUIsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFHLE1BQWE7UUFDN0IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPO1FBQzNDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztDQUNKLENBQUE7QUFoQlksTUFBTTtJQURsQixTQUFTLEVBQUU7cUNBTXFCLGFBQWE7R0FMakMsTUFBTSxDQWdCbEI7U0FoQlksTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIExvZ2dlciB7XHJcblxyXG4gICAgcHJvdGVjdGVkIHRhZ3M6IHN0cmluZ1tdO1xyXG4gICAgcHJvdGVjdGVkIGlnbm9yZWRUYWdzOiBzdHJpbmdbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICB0aGlzLnRhZ3MgPSB0aGlzLmNvbmZpZy5yZXNvbHZlKFwibG9nVGFnc1wiKTtcclxuICAgICAgICB0aGlzLmlnbm9yZWRUYWdzID0gdGhpcy5jb25maWcucmVzb2x2ZShcImlnbm9yZWRMb2dUYWdzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZyh0YWc6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlnbm9yZWRUYWdzLmluY2x1ZGVzKHRhZykpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy50YWdzLmxlbmd0aCA9PT0gMCB8fCB0aGlzLnRhZ3MuaW5jbHVkZXModGFnKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgWyR7dGFnfV1gLCAuLi5wYXJhbXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,8 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { singleton } from "tsyringe";
3
3
  import { createTransport } from "nodemailer";
4
+ import { TemplateRenderer } from "./template-renderer";
5
+ import { Configuration } from "./configuration";
4
6
  let MailSender = class MailSender {
5
7
  constructor(config, renderer) {
6
8
  this.config = config;
@@ -30,7 +32,8 @@ let MailSender = class MailSender {
30
32
  }
31
33
  };
32
34
  MailSender = __decorate([
33
- singleton()
35
+ singleton(),
36
+ __metadata("design:paramtypes", [Configuration, TemplateRenderer])
34
37
  ], MailSender);
35
38
  export { MailSender };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC1zZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpbC1zZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQWlCcEMsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQVFuQixZQUFxQixNQUFxQixFQUFXLFFBQTBCO1FBQTFELFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVyxhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMzRSxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDckMsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7YUFDNUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBYkQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBYUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLE9BQW9CO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLENBQUM7UUFDdkYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUM3QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM5RCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsT0FBTztZQUNQLElBQUk7U0FDUCxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTtBQTlCWSxVQUFVO0lBRHRCLFNBQVMsRUFBRTtHQUNDLFVBQVUsQ0E4QnRCO1NBOUJZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Y3JlYXRlVHJhbnNwb3J0fSBmcm9tIFwibm9kZW1haWxlclwiO1xyXG5pbXBvcnQgKiBhcyBNYWlsIGZyb20gXCJub2RlbWFpbGVyL2xpYi9tYWlsZXJcIjtcclxuXHJcbmltcG9ydCB7VGVtcGxhdGVSZW5kZXJlcn0gZnJvbSBcIi4vdGVtcGxhdGUtcmVuZGVyZXJcIjtcclxuaW1wb3J0IHtUcmFuc2xhdG9yfSBmcm9tIFwiLi90cmFuc2xhdG9yXCI7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4vY29uZmlndXJhdGlvblwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNYWlsT3B0aW9ucyB7XHJcbiAgICB0bzogc3RyaW5nO1xyXG4gICAgZnJvbT86IHN0cmluZztcclxuICAgIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgICB0ZW1wbGF0ZTogc3RyaW5nO1xyXG4gICAgY29udGV4dDogYW55O1xyXG4gICAgYXR0YWNobWVudHM/OiBNYWlsLkF0dGFjaG1lbnRbXVxyXG59XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIE1haWxTZW5kZXIge1xyXG5cclxuICAgIHJlYWRvbmx5IHRyYW5zcG9ydGVyOiBNYWlsO1xyXG5cclxuICAgIGdldCB0cmFuc2xhdG9yKCk6IFRyYW5zbGF0b3Ige1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLnRyYW5zbGF0b3I7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29uZmlnOiBDb25maWd1cmF0aW9uLCByZWFkb25seSByZW5kZXJlcjogVGVtcGxhdGVSZW5kZXJlcikge1xyXG4gICAgICAgIHRoaXMudHJhbnNwb3J0ZXIgPSBjcmVhdGVUcmFuc3BvcnQoe1xyXG4gICAgICAgICAgICBob3N0OiB0aGlzLmNvbmZpZy5yZXNvbHZlKFwic210cEhvc3RcIiksXHJcbiAgICAgICAgICAgIHBvcnQ6IHRoaXMuY29uZmlnLnJlc29sdmUoXCJzbXRwUG9ydFwiKSxcclxuICAgICAgICAgICAgYXV0aDoge1xyXG4gICAgICAgICAgICAgICAgdXNlcjogdGhpcy5jb25maWcucmVzb2x2ZShcInNtdHBVc2VyXCIpLFxyXG4gICAgICAgICAgICAgICAgcGFzczogdGhpcy5jb25maWcucmVzb2x2ZShcInNtdHBQYXNzd29yZFwiKSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNlbmRNYWlsKGxhbmd1YWdlOiBzdHJpbmcsIG9wdGlvbnM6IE1haWxPcHRpb25zKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBzdWJqZWN0ID0gYXdhaXQgdGhpcy50cmFuc2xhdG9yLmdldFRyYW5zbGF0aW9uKGxhbmd1YWdlLCBvcHRpb25zLnN1YmplY3QgfHwgXCItXCIpO1xyXG4gICAgICAgIGNvbnN0IGh0bWwgPSBhd2FpdCB0aGlzLnJlbmRlcmVyLnJlbmRlcihvcHRpb25zLnRlbXBsYXRlLCBsYW5ndWFnZSwgb3B0aW9ucy5jb250ZXh0KTtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc3BvcnRlci5zZW5kTWFpbCh7XHJcbiAgICAgICAgICAgIGZyb206IG9wdGlvbnMuZnJvbSB8fCB0aGlzLmNvbmZpZy5yZXNvbHZlKFwibWFpbFNlbmRlckFkZHJlc3NcIiksXHJcbiAgICAgICAgICAgIHRvOiBvcHRpb25zLnRvLFxyXG4gICAgICAgICAgICBhdHRhY2htZW50czogb3B0aW9ucy5hdHRhY2htZW50cyxcclxuICAgICAgICAgICAgc3ViamVjdCxcclxuICAgICAgICAgICAgaHRtbFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC1zZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpbC1zZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUczQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFZdkMsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQVFuQixZQUFxQixNQUFxQixFQUFXLFFBQTBCO1FBQTFELFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVyxhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMzRSxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDckMsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7YUFDNUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBYkQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBYUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLE9BQW9CO1FBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLENBQUM7UUFDdkYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUM3QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM5RCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsT0FBTztZQUNQLElBQUk7U0FDUCxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQTtBQTlCWSxVQUFVO0lBRHRCLFNBQVMsRUFBRTtxQ0FTcUIsYUFBYSxFQUFxQixnQkFBZ0I7R0FSdEUsVUFBVSxDQThCdEI7U0E5QlksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtjcmVhdGVUcmFuc3BvcnR9IGZyb20gXCJub2RlbWFpbGVyXCI7XHJcbmltcG9ydCAqIGFzIE1haWwgZnJvbSBcIm5vZGVtYWlsZXIvbGliL21haWxlclwiO1xyXG5cclxuaW1wb3J0IHtUZW1wbGF0ZVJlbmRlcmVyfSBmcm9tIFwiLi90ZW1wbGF0ZS1yZW5kZXJlclwiO1xyXG5pbXBvcnQge1RyYW5zbGF0b3J9IGZyb20gXCIuL3RyYW5zbGF0b3JcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1haWxPcHRpb25zIHtcclxuICAgIHRvOiBzdHJpbmc7XHJcbiAgICBmcm9tPzogc3RyaW5nO1xyXG4gICAgc3ViamVjdD86IHN0cmluZztcclxuICAgIHRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgICBjb250ZXh0OiBhbnk7XHJcbiAgICBhdHRhY2htZW50cz86IE1haWwuQXR0YWNobWVudFtdXHJcbn1cclxuXHJcbkBzaW5nbGV0b24oKVxyXG5leHBvcnQgY2xhc3MgTWFpbFNlbmRlciB7XHJcblxyXG4gICAgcmVhZG9ubHkgdHJhbnNwb3J0ZXI6IE1haWw7XHJcblxyXG4gICAgZ2V0IHRyYW5zbGF0b3IoKTogVHJhbnNsYXRvciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyZXIudHJhbnNsYXRvcjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24sIHJlYWRvbmx5IHJlbmRlcmVyOiBUZW1wbGF0ZVJlbmRlcmVyKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnRlciA9IGNyZWF0ZVRyYW5zcG9ydCh7XHJcbiAgICAgICAgICAgIGhvc3Q6IHRoaXMuY29uZmlnLnJlc29sdmUoXCJzbXRwSG9zdFwiKSxcclxuICAgICAgICAgICAgcG9ydDogdGhpcy5jb25maWcucmVzb2x2ZShcInNtdHBQb3J0XCIpLFxyXG4gICAgICAgICAgICBhdXRoOiB7XHJcbiAgICAgICAgICAgICAgICB1c2VyOiB0aGlzLmNvbmZpZy5yZXNvbHZlKFwic210cFVzZXJcIiksXHJcbiAgICAgICAgICAgICAgICBwYXNzOiB0aGlzLmNvbmZpZy5yZXNvbHZlKFwic210cFBhc3N3b3JkXCIpLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VuZE1haWwobGFuZ3VhZ2U6IHN0cmluZywgb3B0aW9uczogTWFpbE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHN1YmplY3QgPSBhd2FpdCB0aGlzLnRyYW5zbGF0b3IuZ2V0VHJhbnNsYXRpb24obGFuZ3VhZ2UsIG9wdGlvbnMuc3ViamVjdCB8fCBcIi1cIik7XHJcbiAgICAgICAgY29uc3QgaHRtbCA9IGF3YWl0IHRoaXMucmVuZGVyZXIucmVuZGVyKG9wdGlvbnMudGVtcGxhdGUsIGxhbmd1YWdlLCBvcHRpb25zLmNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydGVyLnNlbmRNYWlsKHtcclxuICAgICAgICAgICAgZnJvbTogb3B0aW9ucy5mcm9tIHx8IHRoaXMuY29uZmlnLnJlc29sdmUoXCJtYWlsU2VuZGVyQWRkcmVzc1wiKSxcclxuICAgICAgICAgICAgdG86IG9wdGlvbnMudG8sXHJcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBvcHRpb25zLmF0dGFjaG1lbnRzLFxyXG4gICAgICAgICAgICBzdWJqZWN0LFxyXG4gICAgICAgICAgICBodG1sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,5 +1,6 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { injectable, Lifecycle, scoped } from "tsyringe";
3
+ import { Cache } from "./cache";
3
4
  let MemoryCache = class MemoryCache {
4
5
  constructor(cache) {
5
6
  this.cache = cache;
@@ -51,7 +52,8 @@ let MemoryCache = class MemoryCache {
51
52
  };
52
53
  MemoryCache = __decorate([
53
54
  injectable(),
54
- scoped(Lifecycle.ContainerScoped)
55
+ scoped(Lifecycle.ContainerScoped),
56
+ __metadata("design:paramtypes", [Cache])
55
57
  ], MemoryCache);
56
58
  export { MemoryCache };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21lbW9yeS1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBS2hELElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFJcEIsWUFBK0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLEdBQVksRUFBRSxzQkFBOEIsSUFBSSxFQUFFLE9BQVksRUFBRTtRQUMvRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixHQUFHLEVBQUUsR0FBRztZQUNSLElBQUksRUFBRSxLQUFLO1lBQ1gsbUJBQW1CLEVBQUUsWUFBWTtZQUNqQyxTQUFTLEVBQUUsR0FBRyxHQUFHLFlBQVk7U0FDaEMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXO1FBQ2pCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRTtZQUNoRCxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ3hDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDZjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsbUJBQW1CLEVBQUUsWUFBWTtnQkFDakMsU0FBUyxFQUFFLEdBQUcsR0FBRyxZQUFZO2FBQ2hDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQVcsRUFBRSxPQUEyQixFQUFFLEdBQVksRUFBRSxzQkFBOEIsSUFBSSxFQUFFLE9BQVksRUFBRTtRQUNySCxJQUFJO1lBQ0EsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMvRTtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0osQ0FBQTtBQXJEWSxXQUFXO0lBRnZCLFVBQVUsRUFBRTtJQUNaLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO0dBQ3JCLFdBQVcsQ0FxRHZCO1NBckRZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDYWNoZSwgSUNhY2hlSXRlbX0gZnJvbSBcIi4vY2FjaGVcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgTWVtb3J5Q2FjaGUge1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWNoZU1hcDogTWFwPHN0cmluZywgSUNhY2hlSXRlbT47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGNhY2hlOiBDYWNoZSkge1xyXG4gICAgICAgIHRoaXMuY2FjaGVNYXAgPSBuZXcgTWFwPHN0cmluZywgSUNhY2hlSXRlbT4oKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHR0bD86IG51bWJlciwgZXhwaXJhdGlvblRpbWVzdGFtcDogbnVtYmVyID0gbnVsbCwgdGFnczogYW55ID0ge30pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgICBjb25zdCBleHBUaW1lc3RhbXAgPSBNYXRoLm1pbihpc05hTih0dGwpID8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIgOiB0dGwsIDM2MDApO1xyXG4gICAgICAgIHRoaXMuY2FjaGVNYXAuc2V0KGtleSwge1xyXG4gICAgICAgICAgICBfaWQ6IGtleSxcclxuICAgICAgICAgICAgZGF0YTogdmFsdWUsXHJcbiAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lc3RhbXA6IGV4cFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgZXhwaXJlc0F0OiBub3cgKyBleHBUaW1lc3RhbXAsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUuc2V0KGtleSwgdmFsdWUsIHR0bCwgZXhwaXJhdGlvblRpbWVzdGFtcCwgdGFncyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBsZXQgaXRlbSA9IHRoaXMuY2FjaGVNYXAuZ2V0KGtleSk7XHJcbiAgICAgICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApO1xyXG4gICAgICAgIGxldCBleHBUaW1lc3RhbXAgPSAzNjAwO1xyXG4gICAgICAgIGlmIChpdGVtICYmIGl0ZW0uZXhwaXJlc0F0ICYmIGl0ZW0uZXhwaXJlc0F0IDwgbm93KSB7XHJcbiAgICAgICAgICAgIGV4cFRpbWVzdGFtcCA9IGl0ZW0uZXhwaXJhdGlvblRpbWVzdGFtcDtcclxuICAgICAgICAgICAgaXRlbSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXRlbSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IHRoaXMuY2FjaGUuZ2V0KGtleSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVNYXAuc2V0KGtleSwge1xyXG4gICAgICAgICAgICAgICAgX2lkOiBrZXksXHJcbiAgICAgICAgICAgICAgICBkYXRhOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lc3RhbXA6IGV4cFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgICAgIGV4cGlyZXNBdDogbm93ICsgZXhwVGltZXN0YW1wLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbS5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9yU2V0KGtleTogc3RyaW5nLCB2YWx1ZUNiOiAoKSA9PiBQcm9taXNlPGFueT4sIHR0bD86IG51bWJlciwgZXhwaXJhdGlvblRpbWVzdGFtcDogbnVtYmVyID0gbnVsbCwgdGFnczogYW55ID0ge30pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmdldChrZXkpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2V0KGtleSwgYXdhaXQgdmFsdWVDYigpLCB0dGwsIGV4cGlyYXRpb25UaW1lc3RhbXAsIHRhZ3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGUoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHRoaXMuY2FjaGVNYXAuZGVsZXRlKGtleSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jYWNoZU1hcC5kZWxldGUoa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21lbW9yeS1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxTQUFTLENBQUM7QUFJbkMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUlwQixZQUErQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQ2xELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsR0FBWSxFQUFFLHNCQUE4QixJQUFJLEVBQUUsT0FBWSxFQUFFO1FBQy9GLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ25CLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLEtBQUs7WUFDWCxtQkFBbUIsRUFBRSxZQUFZO1lBQ2pDLFNBQVMsRUFBRSxHQUFHLEdBQUcsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDakIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ2hELFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDeEMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsS0FBSztnQkFDWCxtQkFBbUIsRUFBRSxZQUFZO2dCQUNqQyxTQUFTLEVBQUUsR0FBRyxHQUFHLFlBQVk7YUFDaEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBVyxFQUFFLE9BQTJCLEVBQUUsR0FBWSxFQUFFLHNCQUE4QixJQUFJLEVBQUUsT0FBWSxFQUFFO1FBQ3JILElBQUk7WUFDQSxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1NBQy9FO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDSixDQUFBO0FBckRZLFdBQVc7SUFGdkIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7cUNBS1EsS0FBSztHQUpsQyxXQUFXLENBcUR2QjtTQXJEWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7Q2FjaGUsIElDYWNoZUl0ZW19IGZyb20gXCIuL2NhY2hlXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIE1lbW9yeUNhY2hlIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FjaGVNYXA6IE1hcDxzdHJpbmcsIElDYWNoZUl0ZW0+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjYWNoZTogQ2FjaGUpIHtcclxuICAgICAgICB0aGlzLmNhY2hlTWFwID0gbmV3IE1hcDxzdHJpbmcsIElDYWNoZUl0ZW0+KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCB0dGw/OiBudW1iZXIsIGV4cGlyYXRpb25UaW1lc3RhbXA6IG51bWJlciA9IG51bGwsIHRhZ3M6IGFueSA9IHt9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCk7XHJcbiAgICAgICAgY29uc3QgZXhwVGltZXN0YW1wID0gTWF0aC5taW4oaXNOYU4odHRsKSA/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIDogdHRsLCAzNjAwKTtcclxuICAgICAgICB0aGlzLmNhY2hlTWFwLnNldChrZXksIHtcclxuICAgICAgICAgICAgX2lkOiBrZXksXHJcbiAgICAgICAgICAgIGRhdGE6IHZhbHVlLFxyXG4gICAgICAgICAgICBleHBpcmF0aW9uVGltZXN0YW1wOiBleHBUaW1lc3RhbXAsXHJcbiAgICAgICAgICAgIGV4cGlyZXNBdDogbm93ICsgZXhwVGltZXN0YW1wLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlLnNldChrZXksIHZhbHVlLCB0dGwsIGV4cGlyYXRpb25UaW1lc3RhbXAsIHRhZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldChrZXk6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLmNhY2hlTWFwLmdldChrZXkpO1xyXG4gICAgICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgICBsZXQgZXhwVGltZXN0YW1wID0gMzYwMDtcclxuICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLmV4cGlyZXNBdCAmJiBpdGVtLmV4cGlyZXNBdCA8IG5vdykge1xyXG4gICAgICAgICAgICBleHBUaW1lc3RhbXAgPSBpdGVtLmV4cGlyYXRpb25UaW1lc3RhbXA7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCB0aGlzLmNhY2hlLmdldChrZXkpO1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlTWFwLnNldChrZXksIHtcclxuICAgICAgICAgICAgICAgIF9pZDoga2V5LFxyXG4gICAgICAgICAgICAgICAgZGF0YTogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBleHBpcmF0aW9uVGltZXN0YW1wOiBleHBUaW1lc3RhbXAsXHJcbiAgICAgICAgICAgICAgICBleHBpcmVzQXQ6IG5vdyArIGV4cFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRPclNldChrZXk6IHN0cmluZywgdmFsdWVDYjogKCkgPT4gUHJvbWlzZTxhbnk+LCB0dGw/OiBudW1iZXIsIGV4cGlyYXRpb25UaW1lc3RhbXA6IG51bWJlciA9IG51bGwsIHRhZ3M6IGFueSA9IHt9KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXQoa2V5KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldChrZXksIGF3YWl0IHZhbHVlQ2IoKSwgdHRsLCBleHBpcmF0aW9uVGltZXN0YW1wLCB0YWdzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlKGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICB0aGlzLmNhY2hlTWFwLmRlbGV0ZShrZXkpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY2FjaGVNYXAuZGVsZXRlKGtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,7 +1,8 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { singleton } from "tsyringe";
3
3
  import { GridFSBucket } from "mongodb";
4
4
  import { connect } from "mongoose";
5
+ import { Configuration } from "./configuration";
5
6
  let MongoConnector = class MongoConnector {
6
7
  constructor(configuration) {
7
8
  this.configuration = configuration;
@@ -31,7 +32,8 @@ let MongoConnector = class MongoConnector {
31
32
  }
32
33
  };
33
34
  MongoConnector = __decorate([
34
- singleton()
35
+ singleton(),
36
+ __metadata("design:paramtypes", [Configuration])
35
37
  ], MongoConnector);
36
38
  export { MongoConnector };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21vbmdvLWNvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUssWUFBWSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxPQUFPLEVBQWEsTUFBTSxVQUFVLENBQUM7QUFJdEMsSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQWtCdkIsWUFBcUIsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBcEJELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQVlELEtBQUssQ0FBQyxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFXLEVBQUU7WUFDekUsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQzdDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7U0FDcEQsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0osQ0FBQTtBQWxDWSxjQUFjO0lBRDFCLFNBQVMsRUFBRTtHQUNDLGNBQWMsQ0FrQzFCO1NBbENZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7RGIsIEdyaWRGU0J1Y2tldH0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtjb25uZWN0LCBDb25uZWN0aW9ufSBmcm9tIFwibW9uZ29vc2VcIjtcclxuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tIFwiLi9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIE1vbmdvQ29ubmVjdG9yIHtcclxuXHJcbiAgICBnZXQgY29ubmVjdGlvbigpOiBDb25uZWN0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25uO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkYXRhYmFzZSgpOiBEYiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGJ1Y2tldCgpOiBHcmlkRlNCdWNrZXQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZzQnVja2V0O1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjb25uOiBDb25uZWN0aW9uO1xyXG4gICAgcHJvdGVjdGVkIGRiOiBEYjtcclxuICAgIHByb3RlY3RlZCBmc0J1Y2tldDogR3JpZEZTQnVja2V0O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICB0aGlzLmNvbm4gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZGIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZnNCdWNrZXQgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNvbm5lY3QoKTogUHJvbWlzZTxEYj4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRiKSByZXR1cm4gdGhpcy5kYjtcclxuICAgICAgICB0aGlzLmNvbm4gPSAoYXdhaXQgY29ubmVjdCh0aGlzLmNvbmZpZ3VyYXRpb24ucmVzb2x2ZShcIm1vbmdvVXJpXCIpIGFzIHN0cmluZywge1xyXG4gICAgICAgICAgICBkYk5hbWU6IHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlKFwibW9uZ29EYlwiKSxcclxuICAgICAgICAgICAgdXNlcjogdGhpcy5jb25maWd1cmF0aW9uLnJlc29sdmUoXCJtb25nb1VzZXJcIiksXHJcbiAgICAgICAgICAgIHBhc3M6IHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlKFwibW9uZ29QYXNzd29yZFwiKVxyXG4gICAgICAgIH0pKS5jb25uZWN0aW9uO1xyXG4gICAgICAgIHRoaXMuZGIgPSB0aGlzLmNvbm4uZGIgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuZnNCdWNrZXQgPSBuZXcgR3JpZEZTQnVja2V0KHRoaXMuZGIsIHtidWNrZXROYW1lOiBcImFzc2V0c1wifSk7XHJcbiAgICB9XHJcbn1cclxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28tY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21vbmdvLWNvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUssWUFBWSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxPQUFPLEVBQWEsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR3ZDLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7SUFrQnZCLFlBQXFCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQXBCRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFZRCxLQUFLLENBQUMsT0FBTztRQUNULElBQUksSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBVyxFQUFFO1lBQ3pFLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUM3QyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1NBQ3BELENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUNmLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNKLENBQUE7QUFsQ1ksY0FBYztJQUQxQixTQUFTLEVBQUU7cUNBbUI0QixhQUFhO0dBbEJ4QyxjQUFjLENBa0MxQjtTQWxDWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0RiLCBHcmlkRlNCdWNrZXR9IGZyb20gXCJtb25nb2RiXCI7XHJcbmltcG9ydCB7Y29ubmVjdCwgQ29ubmVjdGlvbn0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSBcIi4vY29uZmlndXJhdGlvblwiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBNb25nb0Nvbm5lY3RvciB7XHJcblxyXG4gICAgZ2V0IGNvbm5lY3Rpb24oKTogQ29ubmVjdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGF0YWJhc2UoKTogRGIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBidWNrZXQoKTogR3JpZEZTQnVja2V0IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mc0J1Y2tldDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY29ubjogQ29ubmVjdGlvbjtcclxuICAgIHByb3RlY3RlZCBkYjogRGI7XHJcbiAgICBwcm90ZWN0ZWQgZnNCdWNrZXQ6IEdyaWRGU0J1Y2tldDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5jb25uID0gbnVsbDtcclxuICAgICAgICB0aGlzLmRiID0gbnVsbDtcclxuICAgICAgICB0aGlzLmZzQnVja2V0ID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8RGI+IHtcclxuICAgICAgICBpZiAodGhpcy5kYikgcmV0dXJuIHRoaXMuZGI7XHJcbiAgICAgICAgdGhpcy5jb25uID0gKGF3YWl0IGNvbm5lY3QodGhpcy5jb25maWd1cmF0aW9uLnJlc29sdmUoXCJtb25nb1VyaVwiKSBhcyBzdHJpbmcsIHtcclxuICAgICAgICAgICAgZGJOYW1lOiB0aGlzLmNvbmZpZ3VyYXRpb24ucmVzb2x2ZShcIm1vbmdvRGJcIiksXHJcbiAgICAgICAgICAgIHVzZXI6IHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlKFwibW9uZ29Vc2VyXCIpLFxyXG4gICAgICAgICAgICBwYXNzOiB0aGlzLmNvbmZpZ3VyYXRpb24ucmVzb2x2ZShcIm1vbmdvUGFzc3dvcmRcIilcclxuICAgICAgICB9KSkuY29ubmVjdGlvbjtcclxuICAgICAgICB0aGlzLmRiID0gdGhpcy5jb25uLmRiIGFzIGFueTtcclxuICAgICAgICB0aGlzLmZzQnVja2V0ID0gbmV3IEdyaWRGU0J1Y2tldCh0aGlzLmRiLCB7YnVja2V0TmFtZTogXCJhc3NldHNcIn0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { __decorate, __param } from "tslib";
1
+ import { __decorate, __metadata, __param } from "tslib";
2
2
  import { inject, singleton } from "tsyringe";
3
3
  import { getMetadataArgsStorage } from "routing-controllers";
4
4
  import { routingControllersToSpec } from "routing-controllers-openapi";
@@ -108,7 +108,8 @@ let OpenApi = class OpenApi {
108
108
  OpenApi = __decorate([
109
109
  singleton(),
110
110
  __param(0, inject(DI_CONTAINER)),
111
- __param(1, inject(OPENAPI_VALIDATION))
111
+ __param(1, inject(OPENAPI_VALIDATION)),
112
+ __metadata("design:paramtypes", [Object, Object])
112
113
  ], OpenApi);
113
114
  export { OpenApi };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvb3Blbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBa0Msa0JBQWtCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFHN0csSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBZWhCLFlBQTRDLFNBQStCLEVBQ3pCLGdCQUFtQztRQUR6QyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2pGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFiRCxJQUFJLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxD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Q0FBQzthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQTtBQW5HWSxPQUFPO0lBRG5CLFNBQVMsRUFBRTtJQWdCSyxXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNwQixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0dBaEI5QixPQUFPLENBbUduQjtTQW5HWSxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIHNpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7T3BlbkFQSU9iamVjdCwgUmVmZXJlbmNlT2JqZWN0LCBTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5pbXBvcnQge2dldE1ldGFkYXRhQXJnc1N0b3JhZ2V9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7cm91dGluZ0NvbnRyb2xsZXJzVG9TcGVjfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVycy1vcGVuYXBpXCI7XHJcbmltcG9ydCB7dmFsaWRhdGlvbk1ldGFkYXRhc1RvU2NoZW1hc30gZnJvbSBcImNsYXNzLXZhbGlkYXRvci1qc29uc2NoZW1hXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblR5cGVzfSBmcm9tIFwiY2xhc3MtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7aXNEZWZpbmVkLCBpc0Z1bmN0aW9uLCBpc09iamVjdH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7SXNGaWxlLCBJc09iamVjdElkfSBmcm9tIFwiLi4vdmFsaWRhdG9yc1wiO1xyXG5pbXBvcnQge0RJX0NPTlRBSU5FUiwgSURlcGVuZGVuY3lDb250YWluZXIsIElSZXF1ZXN0LCBPUEVOQVBJX1ZBTElEQVRJT04sIE9wZW5BcGlWYWxpZGF0aW9ufSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIE9wZW5BcGkge1xyXG5cclxuICAgIHByb3RlY3RlZCBkb2NzOiBPcGVuQVBJT2JqZWN0O1xyXG4gICAgcHJvdGVjdGVkIGRvY3NTdHI6IHN0cmluZztcclxuXHJcbiAgICBnZXQgYXBpRG9jcygpOiBPcGVuQVBJT2JqZWN0IHtcclxuICAgICAgICBpZiAoIXRoaXMuZG9jcykgdGhpcy5kb2NzID0gdGhpcy5jcmVhdGVBcGlEb2NzKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYXBpRG9jc1N0cigpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5kb2NzU3RyKSB0aGlzLmRvY3NTdHIgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmFwaURvY3MpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3NTdHI7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoQGluamVjdChESV9DT05UQUlORVIpIHByb3RlY3RlZCBjb250YWluZXI6IElEZXBlbmRlbmN5Q29udGFpbmVyLFxyXG4gICAgICAgICAgICAgICAgQGluamVjdChPUEVOQVBJX1ZBTElEQVRJT04pIHByb3RlY3RlZCBjdXN0b21WYWxpZGF0aW9uOiBPcGVuQXBpVmFsaWRhdGlvbikge1xyXG4gICAgICAgIHRoaXMuZG9jcyA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2NoZW1hVG9FeGFtcGxlKHNyYzogUmVmZXJlbmNlT2JqZWN0IHwgU2NoZW1hT2JqZWN0LCByZXE/OiBJUmVxdWVzdCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgaWYgKHNyYy4kcmVmKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNjaGVtYXMgPSB0aGlzLmFwaURvY3MuY29tcG9uZW50cy5zY2hlbWFzO1xyXG4gICAgICAgICAgICBjb25zdCBzY2hlbWEgPSBzcmMuJHJlZlxyXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoXCIjL2NvbXBvbmVudHMvc2NoZW1hcy9cIiwgXCJcIilcclxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiIy9kZWZpbml0aW9ucy9cIiwgXCJcIik7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjaGVtYVRvRXhhbXBsZShzY2hlbWFzW3NjaGVtYV0sIHJlcSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBzY2hlbWEgPSBzcmMgYXMgU2NoZW1hT2JqZWN0O1xyXG4gICAgICAgIGlmIChzY2hlbWEub25lT2YpIHtcclxuICAgICAgICAgICAgc2NoZW1hID0gT2JqZWN0LmFzc2lnbih7fSwgc2NoZW1hLCBzY2hlbWEub25lT2ZbMF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2NoZW1hLnR5cGUgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XHJcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKE9iamVjdC5rZXlzKHNjaGVtYS5wcm9wZXJ0aWVzKS5tYXAoYXN5bmMga2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gYXdhaXQgdGhpcy5zY2hlbWFUb0V4YW1wbGUoc2NoZW1hLnByb3BlcnRpZXNba2V5XSwgcmVxKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2NoZW1hLnR5cGUgPT09IFwiYXJyYXlcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gW2F3YWl0IHRoaXMuc2NoZW1hVG9FeGFtcGxlKHNjaGVtYS5pdGVtcywgcmVxKV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzY2hlbWEudHlwZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICBpZiAoaXNEZWZpbmVkKHNjaGVtYS5kZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzRnVuY3Rpb24oc2NoZW1hLmRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0KHRoaXMuY29udGFpbmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoc2NoZW1hLmZvcm1hdCA9PSBcImRhdGVcIikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zdWJzdHIoMCwgMTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChzY2hlbWEuZm9ybWF0ID09IFwiZGF0ZS10aW1lXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNjaGVtYS5lbnVtKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc2NoZW1hLmVudW1bMF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzY2hlbWEudHlwZSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQgPz8gMDtcclxuICAgICAgICB9IGVsc2UgaWYgKHNjaGVtYS50eXBlID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQgPz8gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0ID8/IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjcmVhdGVBcGlEb2NzKCk6IE9wZW5BUElPYmplY3Qge1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRNZXRhZGF0YUFyZ3NTdG9yYWdlKCk7XHJcbiAgICAgICAgY29uc3QgZG9jcyA9IHJvdXRpbmdDb250cm9sbGVyc1RvU3BlYyhzdG9yYWdlKTtcclxuICAgICAgICBkb2NzLmJhc2VQYXRoID0gXCIvYXBpL1wiO1xyXG4gICAgICAgIGRvY3MuZGVmaW5pdGlvbnMgPSB2YWxpZGF0aW9uTWV0YWRhdGFzVG9TY2hlbWFzKHtcclxuICAgICAgICAgICAgYWRkaXRpb25hbENvbnZlcnRlcnM6IHtcclxuICAgICAgICAgICAgICAgIFtWYWxpZGF0aW9uVHlwZXMuQ1VTVE9NX1ZBTElEQVRJT05dOiAobWV0YSwgb3B0aW9ucykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGlzRnVuY3Rpb24odGhpcy5jdXN0b21WYWxpZGF0aW9uKSA/IHRoaXMuY3VzdG9tVmFsaWRhdGlvbihtZXRhLCBvcHRpb25zKSA6IHRoaXMuY3VzdG9tVmFsaWRhdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QocmVzKSkgcmV0dXJuIHJlcztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25zdHJhaW50cyA9IG1ldGEuY29uc3RyYWludHMgfHwgW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGEuY29uc3RyYWludENscyA9PT0gSXNGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aTogY29uc3RyYWludHNbMF0gfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGEuY29uc3RyYWludENscyA9PT0gSXNPYmplY3RJZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6IGNvbnN0cmFpbnRzWzBdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IGNvbnN0cmFpbnRzWzFdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZG9jcy5jb21wb25lbnRzLnNjaGVtYXMgPSBkb2NzLmRlZmluaXRpb25zO1xyXG4gICAgICAgIHJldHVybiBkb2NzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvb3Blbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBa0Msa0JBQWtCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFHN0csSUFBTSxPQUFPLEdBQWIsTUFBTSxPQUFPO0lBZWhCLFlBQTRDLFNBQStCLEVBQ3pCLGdCQUFtQztRQUR6QyxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2pGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFiRCxJQUFJLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxD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Q0FBQzthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQTtBQW5HWSxPQUFPO0lBRG5CLFNBQVMsRUFBRTtJQWdCSyxXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNwQixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBOztHQWhCOUIsT0FBTyxDQW1HbkI7U0FuR1ksT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBzaW5nbGV0b259IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge09wZW5BUElPYmplY3QsIFJlZmVyZW5jZU9iamVjdCwgU2NoZW1hT2JqZWN0fSBmcm9tIFwib3BlbmFwaTMtdHNcIjtcclxuaW1wb3J0IHtnZXRNZXRhZGF0YUFyZ3NTdG9yYWdlfSBmcm9tIFwicm91dGluZy1jb250cm9sbGVyc1wiO1xyXG5pbXBvcnQge3JvdXRpbmdDb250cm9sbGVyc1RvU3BlY30gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnMtb3BlbmFwaVwiO1xyXG5pbXBvcnQge3ZhbGlkYXRpb25NZXRhZGF0YXNUb1NjaGVtYXN9IGZyb20gXCJjbGFzcy12YWxpZGF0b3ItanNvbnNjaGVtYVwiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25UeXBlc30gZnJvbSBcImNsYXNzLXZhbGlkYXRvclwiO1xyXG5pbXBvcnQge2lzRGVmaW5lZCwgaXNGdW5jdGlvbiwgaXNPYmplY3R9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0lzRmlsZSwgSXNPYmplY3RJZH0gZnJvbSBcIi4uL3ZhbGlkYXRvcnNcIjtcclxuaW1wb3J0IHtESV9DT05UQUlORVIsIElEZXBlbmRlbmN5Q29udGFpbmVyLCBJUmVxdWVzdCwgT1BFTkFQSV9WQUxJREFUSU9OLCBPcGVuQXBpVmFsaWRhdGlvbn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBPcGVuQXBpIHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZG9jczogT3BlbkFQSU9iamVjdDtcclxuICAgIHByb3RlY3RlZCBkb2NzU3RyOiBzdHJpbmc7XHJcblxyXG4gICAgZ2V0IGFwaURvY3MoKTogT3BlbkFQSU9iamVjdCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRvY3MpIHRoaXMuZG9jcyA9IHRoaXMuY3JlYXRlQXBpRG9jcygpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3M7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFwaURvY3NTdHIoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuZG9jc1N0cikgdGhpcy5kb2NzU3RyID0gSlNPTi5zdHJpbmdpZnkodGhpcy5hcGlEb2NzKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2NzU3RyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBpbmplY3QoRElfQ09OVEFJTkVSKSBwcm90ZWN0ZWQgY29udGFpbmVyOiBJRGVwZW5kZW5jeUNvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgIEBpbmplY3QoT1BFTkFQSV9WQUxJREFUSU9OKSBwcm90ZWN0ZWQgY3VzdG9tVmFsaWRhdGlvbjogT3BlbkFwaVZhbGlkYXRpb24pIHtcclxuICAgICAgICB0aGlzLmRvY3MgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNjaGVtYVRvRXhhbXBsZShzcmM6IFJlZmVyZW5jZU9iamVjdCB8IFNjaGVtYU9iamVjdCwgcmVxPzogSVJlcXVlc3QpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGlmIChzcmMuJHJlZikge1xyXG4gICAgICAgICAgICBjb25zdCBzY2hlbWFzID0gdGhpcy5hcGlEb2NzLmNvbXBvbmVudHMuc2NoZW1hcztcclxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hID0gc3JjLiRyZWZcclxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKFwiIy9jb21wb25lbnRzL3NjaGVtYXMvXCIsIFwiXCIpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcIiMvZGVmaW5pdGlvbnMvXCIsIFwiXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zY2hlbWFUb0V4YW1wbGUoc2NoZW1hc1tzY2hlbWFdLCByZXEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc2NoZW1hID0gc3JjIGFzIFNjaGVtYU9iamVjdDtcclxuICAgICAgICBpZiAoc2NoZW1hLm9uZU9mKSB7XHJcbiAgICAgICAgICAgIHNjaGVtYSA9IE9iamVjdC5hc3NpZ24oe30sIHNjaGVtYSwgc2NoZW1hLm9uZU9mWzBdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNjaGVtYS50eXBlID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xyXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChPYmplY3Qua2V5cyhzY2hlbWEucHJvcGVydGllcykubWFwKGFzeW5jIGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGF3YWl0IHRoaXMuc2NoZW1hVG9FeGFtcGxlKHNjaGVtYS5wcm9wZXJ0aWVzW2tleV0sIHJlcSk7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNjaGVtYS50eXBlID09PSBcImFycmF5XCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFthd2FpdCB0aGlzLnNjaGVtYVRvRXhhbXBsZShzY2hlbWEuaXRlbXMsIHJlcSldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2NoZW1hLnR5cGUgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgaWYgKGlzRGVmaW5lZChzY2hlbWEuZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHNjaGVtYS5kZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZGVmYXVsdCh0aGlzLmNvbnRhaW5lcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc2NoZW1hLmRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNjaGVtYS5mb3JtYXQgPT0gXCJkYXRlXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3Vic3RyKDAsIDEwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoc2NoZW1hLmZvcm1hdCA9PSBcImRhdGUtdGltZVwiKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChzY2hlbWEuZW51bSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5lbnVtWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBcInN0cmluZ1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2NoZW1hLnR5cGUgPT09IFwibnVtYmVyXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0ID8/IDA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzY2hlbWEudHlwZSA9PT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5kZWZhdWx0ID8/IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBzY2hlbWEuZGVmYXVsdCA/PyBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlQXBpRG9jcygpOiBPcGVuQVBJT2JqZWN0IHtcclxuICAgICAgICBjb25zdCBzdG9yYWdlID0gZ2V0TWV0YWRhdGFBcmdzU3RvcmFnZSgpO1xyXG4gICAgICAgIGNvbnN0IGRvY3MgPSByb3V0aW5nQ29udHJvbGxlcnNUb1NwZWMoc3RvcmFnZSk7XHJcbiAgICAgICAgZG9jcy5iYXNlUGF0aCA9IFwiL2FwaS9cIjtcclxuICAgICAgICBkb2NzLmRlZmluaXRpb25zID0gdmFsaWRhdGlvbk1ldGFkYXRhc1RvU2NoZW1hcyh7XHJcbiAgICAgICAgICAgIGFkZGl0aW9uYWxDb252ZXJ0ZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBbVmFsaWRhdGlvblR5cGVzLkNVU1RPTV9WQUxJREFUSU9OXTogKG1ldGEsIG9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBpc0Z1bmN0aW9uKHRoaXMuY3VzdG9tVmFsaWRhdGlvbikgPyB0aGlzLmN1c3RvbVZhbGlkYXRpb24obWV0YSwgb3B0aW9ucykgOiB0aGlzLmN1c3RvbVZhbGlkYXRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT2JqZWN0KHJlcykpIHJldHVybiByZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludHMgPSBtZXRhLmNvbnN0cmFpbnRzIHx8IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXRhLmNvbnN0cmFpbnRDbHMgPT09IElzRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IGNvbnN0cmFpbnRzWzBdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJmaWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXRhLmNvbnN0cmFpbnRDbHMgPT09IElzT2JqZWN0SWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiBjb25zdHJhaW50c1swXSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiBjb25zdHJhaW50c1sxXSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGRvY3MuY29tcG9uZW50cy5zY2hlbWFzID0gZG9jcy5kZWZpbml0aW9ucztcclxuICAgICAgICByZXR1cm4gZG9jcztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,7 +1,9 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { singleton } from "tsyringe";
3
3
  import { ObjectId } from "bson";
4
4
  import { promiseTimeout } from "../utils";
5
+ import { MongoConnector } from "./mongo-connector";
6
+ import { JobManager } from "./job-manager";
5
7
  import { Progress } from "./entities/progress";
6
8
  let Progresses = class Progresses {
7
9
  constructor(connector, jobMan) {
@@ -80,7 +82,8 @@ let Progresses = class Progresses {
80
82
  }
81
83
  };
82
84
  Progresses = __decorate([
83
- singleton()
85
+ singleton(),
86
+ __metadata("design:paramtypes", [MongoConnector, JobManager])
84
87
  ], Progresses);
85
88
  export { Progresses };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9wcm9ncmVzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJOUIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUd4QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHdEMsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUtuQixZQUFxQixTQUF5QixFQUFXLE1BQWtCO1FBQXRELGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQzFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFZLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBVTtRQUN6QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hDLElBQUksUUFBUSxHQUFH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QVUsR0FBRyxRQUFRLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQzthQUN4QztZQUNELElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7b0JBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztpQkFDL0U7Z0JBQ0QsTUFBTSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7U0FDSjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFBO0FBbkZZLFVBQVU7SUFEdEIsU0FBUyxFQUFFO0dBQ0MsVUFBVSxDQW1GdEI7U0FuRlksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tIFwibW9uZ29kYlwiO1xyXG5pbXBvcnQge0ZpbHRlclF1ZXJ5fSBmcm9tIFwibW9uZ29vc2VcIjtcclxuaW1wb3J0IHtJUHJvZ3Jlc3N9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtwcm9taXNlVGltZW91dH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL21vbmdvLWNvbm5lY3RvclwiO1xyXG5pbXBvcnQge0pvYk1hbmFnZXJ9IGZyb20gXCIuL2pvYi1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3N9IGZyb20gXCIuL2VudGl0aWVzL3Byb2dyZXNzXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzZXMge1xyXG5cclxuICAgIHByb3RlY3RlZCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFBhcnRpYWw8SVByb2dyZXNzPj47XHJcbiAgICBwcm90ZWN0ZWQgcHJvZ3Jlc3Nlczoge1tpZDogc3RyaW5nXTogSVByb2dyZXNzfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25uZWN0b3I6IE1vbmdvQ29ubmVjdG9yLCByZWFkb25seSBqb2JNYW46IEpvYk1hbmFnZXIpIHtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25uZWN0b3IuZGF0YWJhc2UuY29sbGVjdGlvbihcInByb2dyZXNzZXNcIik7XHJcbiAgICAgICAgdGhpcy5wcm9ncmVzc2VzID0ge307XHJcbiAgICAgICAgdGhpcy5qb2JNYW4ub24oXCJwcm9ncmVzcy1jaGFuZ2VkXCIsIHByb2dyZXNzID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaWQgPSBwcm9ncmVzcy5pZCBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3Nlc1tpZF0gPSBuZXcgUHJvZ3Jlc3MobmV3IE9iamVjdElkKGlkKSwgcHJvZ3Jlc3MgYXMgYW55LCB0aGlzLmNvbGxlY3Rpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdhaXRUb0ZpbmlzaChpZDogc3RyaW5nKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yYWNlKFtcclxuICAgICAgICAgICAgdGhpcy53YWl0Rm9yUHJvZ3Jlc3MoaWQsIGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBwcm9ncmVzcyA9IHRoaXMucHJvZ3Jlc3Nlc1tpZF07XHJcbiAgICAgICAgICAgICAgICBpZiAoIXByb2dyZXNzIHx8IHByb2dyZXNzLnBlcmNlbnQgPCAxMDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IGF3YWl0IHRoaXMuZ2V0KGlkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghcHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFByb2dyZXNzIGRvZXMgbm90IGV4aXN0cyB3aXRoIGlkOiAke2lkfWApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb2dyZXNzO1xyXG4gICAgICAgICAgICB9LCA1MDApLFxyXG4gICAgICAgICAgICB0aGlzLndhaXRGb3JQcm9ncmVzcyhpZCwgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvZ3Jlc3Nlc1tpZF0gfHwgbnVsbDtcclxuICAgICAgICAgICAgfSwgMjUpXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0KGlkOiBzdHJpbmcpOiBQcm9taXNlPElQcm9ncmVzcz4ge1xyXG4gICAgICAgIHJldHVybiAhaWQgPyBudWxsIDogdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJUHJvZ3Jlc3M+KTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmZpbmRPbmUod2hlcmUpO1xyXG4gICAgICAgIHJldHVybiAhZGF0YSA/IG51bGwgOiBuZXcgUHJvZ3Jlc3MoZGF0YS5faWQsIGRhdGEsIHRoaXMuY29sbGVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlKG1heDogbnVtYmVyID0gMTAwKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBpZiAoaXNOYU4obWF4KSB8fCBtYXggPD0gMCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1heCBwcm9ncmVzcyB2YWx1ZSBtdXN0IGJlIGJpZ2dlciB0aGFuIHplcm9gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgY3VycmVudDogMCxcclxuICAgICAgICAgICAgbWF4OiBtYXgsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiXCIsXHJcbiAgICAgICAgICAgIGVycm9yOiBcIlwiLFxyXG4gICAgICAgICAgICBjYW5jZWxlZDogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbi5pbnNlcnRPbmUoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9ncmVzcyhyZXMuaW5zZXJ0ZWRJZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZW1vdmUoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmRlbGV0ZU9uZSh7X2lkOiBuZXcgT2JqZWN0SWQoaWQpfSk7XHJcbiAgICAgICAgcmV0dXJuIGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyB3YWl0Rm9yUHJvZ3Jlc3MoaWQ6IHN0cmluZywgY2I6ICgpID0+IFByb21pc2U8SVByb2dyZXNzPiwgZGVsYXk6IG51bWJlcik6IFByb21pc2U8SVByb2dyZXNzPiB7XHJcbiAgICAgICAgbGV0IGlzRmluaXNoZWQgPSBmYWxzZTtcclxuICAgICAgICBsZXQgcHJvZ3Jlc3M6IElQcm9ncmVzcyA9IG51bGw7XHJcbiAgICAgICAgbGV0IHdhaXRUaW1lOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIHdoaWxlICghaXNGaW5pc2hlZCkge1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IGF3YWl0IGNiKCk7XHJcbiAgICAgICAgICAgIHdhaXRUaW1lICs9IGRlbGF5O1xyXG4gICAgICAgICAgICBpZiAocHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzcy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihwcm9ncmVzcy5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpc0ZpbmlzaGVkID0gcHJvZ3Jlc3MucGVyY2VudCA+PSAxMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFpc0ZpbmlzaGVkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAod2FpdFRpbWUgPj0gdGhpcy5qb2JNYW4ubWF4VGltZW91dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvZ3Jlc3Mgd2l0aCBpZDogJHtpZH0gcHJvYmFibHkgbmV2ZXIgd2lsbCBiZSBmaW5pc2hlZCFgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHByb21pc2VUaW1lb3V0KGRlbGF5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvZ3Jlc3M7XHJcbiAgICB9XHJcbn1cclxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9wcm9ncmVzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJOUIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHdEMsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUtuQixZQUFxQixTQUF5QixFQUFXLE1BQWtCO1FBQXRELGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQzFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFZLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBVTtRQUN6QixPQUFPLE9BQU8sQ0FB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USxDQUFDLEtBQUssRUFBRTtvQkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ25DO2dCQUNELFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQzthQUN4QztZQUNELElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2IsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7b0JBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztpQkFDL0U7Z0JBQ0QsTUFBTSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7U0FDSjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFBO0FBbkZZLFVBQVU7SUFEdEIsU0FBUyxFQUFFO3FDQU13QixjQUFjLEVBQW1CLFVBQVU7R0FMbEUsVUFBVSxDQW1GdEI7U0FuRlksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tIFwibW9uZ29kYlwiO1xyXG5pbXBvcnQge0ZpbHRlclF1ZXJ5fSBmcm9tIFwibW9uZ29vc2VcIjtcclxuaW1wb3J0IHtJUHJvZ3Jlc3N9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtwcm9taXNlVGltZW91dH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL21vbmdvLWNvbm5lY3RvclwiO1xyXG5pbXBvcnQge0pvYk1hbmFnZXJ9IGZyb20gXCIuL2pvYi1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3N9IGZyb20gXCIuL2VudGl0aWVzL3Byb2dyZXNzXCI7XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIFByb2dyZXNzZXMge1xyXG5cclxuICAgIHByb3RlY3RlZCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFBhcnRpYWw8SVByb2dyZXNzPj47XHJcbiAgICBwcm90ZWN0ZWQgcHJvZ3Jlc3Nlczoge1tpZDogc3RyaW5nXTogSVByb2dyZXNzfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25uZWN0b3I6IE1vbmdvQ29ubmVjdG9yLCByZWFkb25seSBqb2JNYW46IEpvYk1hbmFnZXIpIHtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25uZWN0b3IuZGF0YWJhc2UuY29sbGVjdGlvbihcInByb2dyZXNzZXNcIik7XHJcbiAgICAgICAgdGhpcy5wcm9ncmVzc2VzID0ge307XHJcbiAgICAgICAgdGhpcy5qb2JNYW4ub24oXCJwcm9ncmVzcy1jaGFuZ2VkXCIsIHByb2dyZXNzID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaWQgPSBwcm9ncmVzcy5pZCBhcyBzdHJpbmc7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3Nlc1tpZF0gPSBuZXcgUHJvZ3Jlc3MobmV3IE9iamVjdElkKGlkKSwgcHJvZ3Jlc3MgYXMgYW55LCB0aGlzLmNvbGxlY3Rpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdhaXRUb0ZpbmlzaChpZDogc3RyaW5nKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yYWNlKFtcclxuICAgICAgICAgICAgdGhpcy53YWl0Rm9yUHJvZ3Jlc3MoaWQsIGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBwcm9ncmVzcyA9IHRoaXMucHJvZ3Jlc3Nlc1tpZF07XHJcbiAgICAgICAgICAgICAgICBpZiAoIXByb2dyZXNzIHx8IHByb2dyZXNzLnBlcmNlbnQgPCAxMDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IGF3YWl0IHRoaXMuZ2V0KGlkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghcHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFByb2dyZXNzIGRvZXMgbm90IGV4aXN0cyB3aXRoIGlkOiAke2lkfWApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb2dyZXNzO1xyXG4gICAgICAgICAgICB9LCA1MDApLFxyXG4gICAgICAgICAgICB0aGlzLndhaXRGb3JQcm9ncmVzcyhpZCwgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvZ3Jlc3Nlc1tpZF0gfHwgbnVsbDtcclxuICAgICAgICAgICAgfSwgMjUpXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0KGlkOiBzdHJpbmcpOiBQcm9taXNlPElQcm9ncmVzcz4ge1xyXG4gICAgICAgIHJldHVybiAhaWQgPyBudWxsIDogdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJUHJvZ3Jlc3M+KTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmZpbmRPbmUod2hlcmUpO1xyXG4gICAgICAgIHJldHVybiAhZGF0YSA/IG51bGwgOiBuZXcgUHJvZ3Jlc3MoZGF0YS5faWQsIGRhdGEsIHRoaXMuY29sbGVjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlKG1heDogbnVtYmVyID0gMTAwKTogUHJvbWlzZTxJUHJvZ3Jlc3M+IHtcclxuICAgICAgICBpZiAoaXNOYU4obWF4KSB8fCBtYXggPD0gMCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1heCBwcm9ncmVzcyB2YWx1ZSBtdXN0IGJlIGJpZ2dlciB0aGFuIHplcm9gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgY3VycmVudDogMCxcclxuICAgICAgICAgICAgbWF4OiBtYXgsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiXCIsXHJcbiAgICAgICAgICAgIGVycm9yOiBcIlwiLFxyXG4gICAgICAgICAgICBjYW5jZWxlZDogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbi5pbnNlcnRPbmUoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9ncmVzcyhyZXMuaW5zZXJ0ZWRJZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZW1vdmUoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmRlbGV0ZU9uZSh7X2lkOiBuZXcgT2JqZWN0SWQoaWQpfSk7XHJcbiAgICAgICAgcmV0dXJuIGlkO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyB3YWl0Rm9yUHJvZ3Jlc3MoaWQ6IHN0cmluZywgY2I6ICgpID0+IFByb21pc2U8SVByb2dyZXNzPiwgZGVsYXk6IG51bWJlcik6IFByb21pc2U8SVByb2dyZXNzPiB7XHJcbiAgICAgICAgbGV0IGlzRmluaXNoZWQgPSBmYWxzZTtcclxuICAgICAgICBsZXQgcHJvZ3Jlc3M6IElQcm9ncmVzcyA9IG51bGw7XHJcbiAgICAgICAgbGV0IHdhaXRUaW1lOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIHdoaWxlICghaXNGaW5pc2hlZCkge1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IGF3YWl0IGNiKCk7XHJcbiAgICAgICAgICAgIHdhaXRUaW1lICs9IGRlbGF5O1xyXG4gICAgICAgICAgICBpZiAocHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzcy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihwcm9ncmVzcy5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpc0ZpbmlzaGVkID0gcHJvZ3Jlc3MucGVyY2VudCA+PSAxMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFpc0ZpbmlzaGVkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAod2FpdFRpbWUgPj0gdGhpcy5qb2JNYW4ubWF4VGltZW91dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUHJvZ3Jlc3Mgd2l0aCBpZDogJHtpZH0gcHJvYmFibHkgbmV2ZXIgd2lsbCBiZSBmaW5pc2hlZCFgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHByb21pc2VUaW1lb3V0KGRlbGF5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvZ3Jlc3M7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,8 +1,10 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { singleton } from "tsyringe";
3
3
  import { lstatSync, readdir, readFileSync } from "fs";
4
4
  import { join } from "path";
5
5
  import * as Handlebars from "handlebars";
6
+ import { Translator } from "./translator";
7
+ import { Configuration } from "./configuration";
6
8
  let TemplateRenderer = class TemplateRenderer {
7
9
  constructor(translator, config) {
8
10
  this.translator = translator;
@@ -58,7 +60,8 @@ let TemplateRenderer = class TemplateRenderer {
58
60
  }
59
61
  };
60
62
  TemplateRenderer = __decorate([
61
- singleton()
63
+ singleton(),
64
+ __metadata("design:paramtypes", [Translator, Configuration])
62
65
  ], TemplateRenderer);
63
66
  export { TemplateRenderer };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGUtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sSUFBSSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFNbEMsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFNekIsWUFBcUIsVUFBc0IsRUFBVyxNQUFxQjtRQUF0RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2RSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxVQUFTLEVBQUMsSUFBSSxFQUFDO1lBQy9DLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUU7WUFDN0IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBUyxHQUFRO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFVBQVUsR0FBVyxFQUFFLE1BQVc7WUFDckUsT0FBTyxVQUFVLENB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7bHN0YXRTeW5jLCByZWFkZGlyLCByZWFkRmlsZVN5bmN9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQge2pvaW59IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCAqIGFzIEhhbmRsZWJhcnMgZnJvbSBcImhhbmRsZWJhcnNcIjtcclxuXHJcbmltcG9ydCB7VHJhbnNsYXRvcn0gZnJvbSBcIi4vdHJhbnNsYXRvclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuXHJcbkBzaW5nbGV0b24oKVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVSZW5kZXJlciB7XHJcblxyXG4gICAgdGVtcGxhdGVzOiB7W25hbWU6IHN0cmluZ106IEZ1bmN0aW9ufTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgaW5pdFByb21pc2U6IFByb21pc2U8YW55PjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSB0cmFuc2xhdG9yOiBUcmFuc2xhdG9yLCByZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlcyA9IHt9O1xyXG4gICAgICAgIEhhbmRsZWJhcnMucmVnaXN0ZXJIZWxwZXIoYG9iamVjdGAsIGZ1bmN0aW9uKHtoYXNofSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaGFzaDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBIYW5kbGViYXJzLnJlZ2lzdGVySGVscGVyKGBub3dgLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIEhhbmRsZWJhcnMucmVnaXN0ZXJIZWxwZXIoYGtleXNgLCBmdW5jdGlvbihvYmo6IGFueSkge1xyXG4gICAgICAgICAgICByZXR1cm4gIW9iaiA/IFtdIDogT2JqZWN0LmtleXMob2JqKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBIYW5kbGViYXJzLnJlZ2lzdGVySGVscGVyKGB0cmFuc2xhdGVgLCBmdW5jdGlvbiAoa2V5OiBzdHJpbmcsIHBhcmFtczogYW55KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdG9yLmdldFRyYW5zbGF0aW9uU3luYyh0aGlzLmxhbmd1YWdlLCBrZXksIHBhcmFtcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGluaXQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICB0aGlzLmluaXRQcm9taXNlID0gdGhpcy5pbml0UHJvbWlzZSB8fCB0aGlzLnBhcnNlVGVtcGxhdGVzKHRoaXMuY29uZmlnLnJlc29sdmUoXCJ0ZW1wbGF0ZXNEaXJcIiksIFtdKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbml0UHJvbWlzZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwYXJzZVRlbXBsYXRlcyhkaXI6IHN0cmluZywgZGlyUGF0aDogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHJlYWRkaXIoZGlyLCBhc3luYyAoZXJyLCBmaWxlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBqb2luKGRpciwgZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxzdGF0U3luYyhwYXRoKS5pc0RpcmVjdG9yeSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGFyc2VUZW1wbGF0ZXMoam9pbihkaXIsIGZpbGUpLCBkaXJQYXRoLmNvbmNhdChbZmlsZV0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gZmlsZS5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHBhcnRzLmpvaW4oXCIuXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gZGlyUGF0aC5jb25jYXQoW25hbWVdKS5qb2luKFwiLVwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKHBhdGgpLnRvU3RyaW5nKFwidXRmOFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlc1tmdWxsTmFtZV0gPSBIYW5kbGViYXJzLmNvbXBpbGUoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgSGFuZGxlYmFycy5yZWdpc3RlclBhcnRpYWwoZnVsbE5hbWUsIGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZW5kZXIodGVtcGxhdGU6IHN0cmluZywgbGFuZ3VhZ2U6IHN0cmluZywgY29udGV4dD86IGFueSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdG9yLmdldERpY3Rpb25hcnkobGFuZ3VhZ2UpO1xyXG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZXNbdGVtcGxhdGVdKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChgVGVtcGxhdGUgbm90IGZvdW5kIHdpdGggbmFtZTogJHt0ZW1wbGF0ZX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGV4dCA9IE9iamVjdC5hc3NpZ24oe2xhbmd1YWdlfSwgY29udGV4dCB8fCB7fSk7XHJcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy50ZW1wbGF0ZXNbdGVtcGxhdGVdKGNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiByZXMgaW5zdGFuY2VvZiBFcnJvciA/IGF3YWl0IFByb21pc2UucmVqZWN0KHJlcykgOiByZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGUtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sSUFBSSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFFekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHdkMsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFNekIsWUFBcUIsVUFBc0IsRUFBVyxNQUFxQjtRQUF0RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2RSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxVQUFTLEVBQUMsSUFBSSxFQUFDO1lBQy9DLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUU7WUFDN0IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBUyxHQUFRO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFD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QztJQUNsRSxDQUFDO0NBQ0osQ0FBQTtBQTNEWSxnQkFBZ0I7SUFENUIsU0FBUyxFQUFFO3FDQU95QixVQUFVLEVBQW1CLGFBQWE7R0FObEUsZ0JBQWdCLENBMkQ1QjtTQTNEWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpbmdsZXRvbn0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7bHN0YXRTeW5jLCByZWFkZGlyLCByZWFkRmlsZVN5bmN9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQge2pvaW59IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCAqIGFzIEhhbmRsZWJhcnMgZnJvbSBcImhhbmRsZWJhcnNcIjtcclxuXHJcbmltcG9ydCB7VHJhbnNsYXRvcn0gZnJvbSBcIi4vdHJhbnNsYXRvclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuXHJcbkBzaW5nbGV0b24oKVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVSZW5kZXJlciB7XHJcblxyXG4gICAgdGVtcGxhdGVzOiB7W25hbWU6IHN0cmluZ106IEZ1bmN0aW9ufTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgaW5pdFByb21pc2U6IFByb21pc2U8YW55PjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSB0cmFuc2xhdG9yOiBUcmFuc2xhdG9yLCByZWFkb25seSBjb25maWc6IENvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlcyA9IHt9O1xyXG4gICAgICAgIEhhbmRsZWJhcnMucmVnaXN0ZXJIZWxwZXIoYG9iamVjdGAsIGZ1bmN0aW9uKHtoYXNofSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaGFzaDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBIYW5kbGViYXJzLnJlZ2lzdGVySGVscGVyKGBub3dgLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIEhhbmRsZWJhcnMucmVnaXN0ZXJIZWxwZXIoYGtleXNgLCBmdW5jdGlvbihvYmo6IGFueSkge1xyXG4gICAgICAgICAgICByZXR1cm4gIW9iaiA/IFtdIDogT2JqZWN0LmtleXMob2JqKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBIYW5kbGViYXJzLnJlZ2lzdGVySGVscGVyKGB0cmFuc2xhdGVgLCBmdW5jdGlvbiAoa2V5OiBzdHJpbmcsIHBhcmFtczogYW55KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdG9yLmdldFRyYW5zbGF0aW9uU3luYyh0aGlzLmxhbmd1YWdlLCBrZXksIHBhcmFtcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGluaXQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICB0aGlzLmluaXRQcm9taXNlID0gdGhpcy5pbml0UHJvbWlzZSB8fCB0aGlzLnBhcnNlVGVtcGxhdGVzKHRoaXMuY29uZmlnLnJlc29sdmUoXCJ0ZW1wbGF0ZXNEaXJcIiksIFtdKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbml0UHJvbWlzZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwYXJzZVRlbXBsYXRlcyhkaXI6IHN0cmluZywgZGlyUGF0aDogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHJlYWRkaXIoZGlyLCBhc3luYyAoZXJyLCBmaWxlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBqb2luKGRpciwgZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxzdGF0U3luYyhwYXRoKS5pc0RpcmVjdG9yeSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucGFyc2VUZW1wbGF0ZXMoam9pbihkaXIsIGZpbGUpLCBkaXJQYXRoLmNvbmNhdChbZmlsZV0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gZmlsZS5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHBhcnRzLmpvaW4oXCIuXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gZGlyUGF0aC5jb25jYXQoW25hbWVdKS5qb2luKFwiLVwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKHBhdGgpLnRvU3RyaW5nKFwidXRmOFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlc1tmdWxsTmFtZV0gPSBIYW5kbGViYXJzLmNvbXBpbGUoY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgSGFuZGxlYmFycy5yZWdpc3RlclBhcnRpYWwoZnVsbE5hbWUsIGNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZW5kZXIodGVtcGxhdGU6IHN0cmluZywgbGFuZ3VhZ2U6IHN0cmluZywgY29udGV4dD86IGFueSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdG9yLmdldERpY3Rpb25hcnkobGFuZ3VhZ2UpO1xyXG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZXNbdGVtcGxhdGVdKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChgVGVtcGxhdGUgbm90IGZvdW5kIHdpdGggbmFtZTogJHt0ZW1wbGF0ZX1gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGV4dCA9IE9iamVjdC5hc3NpZ24oe2xhbmd1YWdlfSwgY29udGV4dCB8fCB7fSk7XHJcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy50ZW1wbGF0ZXNbdGVtcGxhdGVdKGNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiByZXMgaW5zdGFuY2VvZiBFcnJvciA/IGF3YWl0IFByb21pc2UucmVqZWN0KHJlcykgOiByZXM7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,7 +1,9 @@
1
- import { __decorate, __param } from "tslib";
1
+ import { __decorate, __metadata, __param } from "tslib";
2
2
  import { injectAll, singleton } from "tsyringe";
3
3
  import { CommandsAddon } from "@stemy/terminal-commands-addon";
4
4
  import { TERMINAL_COMMAND } from "../common-types";
5
+ import { Logger } from "./logger";
6
+ import { Configuration } from "./configuration";
5
7
  import { camelCaseToDash, colorize, ConsoleColor } from "../utils";
6
8
  let TerminalManager = class TerminalManager {
7
9
  constructor(logger, config, commands) {
@@ -71,7 +73,9 @@ let TerminalManager = class TerminalManager {
71
73
  };
72
74
  TerminalManager = __decorate([
73
75
  singleton(),
74
- __param(2, injectAll(TERMINAL_COMMAND))
76
+ __param(2, injectAll(TERMINAL_COMMAND)),
77
+ __metadata("design:paramtypes", [Logger,
78
+ Configuration, Array])
75
79
  ], TerminalManager);
76
80
  export { TerminalManager };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90ZXJtaW5hbC1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQUMsYUFBYSxFQUE4QixNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBOEIsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RSxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHMUQsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQU94QixZQUFzQixNQUFjLEVBQ2QsTUFBcUIsRUFDRixRQUE0QjtRQUYvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUV2QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDakIsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7Z0JBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixFQUFFLEVBQUUsS0FBSzt3QkFDVCxLQUFLLEVBQUUsS0FBSzt3QkFDWixNQUFNLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUM7WUFDUCxDQUFDO1lB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QUFyRVksZUFBZTtJQUQzQixTQUFTLEVBQUU7SUFVSyxXQUFBLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0dBVC9CLGVBQWUsQ0FxRTNCO1NBckVZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdEFsbCwgc2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDb21tYW5kc0FkZG9uLCBJQ29tbWFuZE1hcCwgSVN1Z2dlc3Rpb25NYXB9IGZyb20gXCJAc3RlbXkvdGVybWluYWwtY29tbWFuZHMtYWRkb25cIjtcclxuaW1wb3J0IHtJVGVybWluYWwsIElUZXJtaW5hbENvbW1hbmQsIFRFUk1JTkFMX0NPTU1BTkR9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuL2xvZ2dlclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtjYW1lbENhc2VUb0Rhc2gsIGNvbG9yaXplLCBDb25zb2xlQ29sb3J9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbE1hbmFnZXIge1xyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2VQYXNzd29yZDogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIHN1Z2dlc3Rpb25zOiBJU3VnZ2VzdGlvbk1hcDtcclxuICAgIHByb3RlY3RlZCBjb21tYW5kczogSUNvbW1hbmRNYXA7XHJcbiAgICBwcm90ZWN0ZWQgbG9nZ2VkT3V0Q29tbWFuZHM6IHN0cmluZ1tdO1xyXG4gICAgcHJvdGVjdGVkIGxvZ2dlZEluQ29tbWFuZHM6IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlcixcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBjb25maWc6IENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgICAgICAgICBAaW5qZWN0QWxsKFRFUk1JTkFMX0NPTU1BTkQpIGNvbW1hbmRzOiBJVGVybWluYWxDb21tYW5kW10pIHtcclxuICAgICAgICB0aGlzLnNlcnZpY2VQYXNzd29yZCA9IGNvbmZpZy5yZXNvbHZlKFwic2VydmljZVBhc3N3b3JkXCIpO1xyXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIGxvZ2luOiBhc3luYyAoYXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBgJHthcmdzLmF0KDEpLmxhYmVsfWA7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKCFpbnB1dCkgPyBbXSA6IFt7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGlucHV0LFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpbnB1dCxcclxuICAgICAgICAgICAgICAgICAgICBtYXNrZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAuLi5jb21tYW5kcy5yZWR1Y2UoKGFjYywgY29tbWFuZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29tbWFuZC5uYW1lID0gY2FtZWxDYXNlVG9EYXNoKGNvbW1hbmQubmFtZSB8fCBjb21tYW5kLmNvbnN0cnVjdG9yLm5hbWUgfHwgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWNvbW1hbmQubmFtZSB8fCAhY29tbWFuZC5zdWdnZXN0KSByZXR1cm4gYWNjO1xyXG4gICAgICAgICAgICAgICAgYWNjW2NvbW1hbmQubmFtZV0gPSBhc3luYyAoYSwgdCkgPT4gY29tbWFuZC5zdWdnZXN0KGEsIHQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgfSwge30pXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmNvbW1hbmRzID0gY29tbWFuZHMucmVkdWNlKChhY2MsIGNvbW1hbmQpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFjb21tYW5kLm5hbWUpIHJldHVybiBhY2M7XHJcbiAgICAgICAgICAgIGFjY1tjb21tYW5kLm5hbWVdID0gYXN5bmMgKGEsIHQpID0+IGNvbW1hbmQuZXhlY3V0ZShhLCB0KTtcclxuICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRPdXRDb21tYW5kcyA9IFtcImxvZ2luXCIsIFwiY2xlYXJcIl07XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbkNvbW1hbmRzID0gT2JqZWN0LmtleXModGhpcy5jb21tYW5kcyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbkNvbW1hbmRzLnB1c2goXCJsb2dvdXRcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEN1cnJlbnQgc2VydmljZSBwYXNzd29yZCBpczogJHtjb2xvcml6ZSh0aGlzLnNlcnZpY2VQYXNzd29yZCwgQ29uc29sZUNvbG9yLkZnR3JlZW4pfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRBZGRvbnModGVybWluYWw6IElUZXJtaW5hbCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBsb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGFkZG9uID0gbmV3IENvbW1hbmRzQWRkb24oe1xyXG4gICAgICAgICAgICBjb21tYW5kczoge1xyXG4gICAgICAgICAgICAgICAgbG9naW46IGFzeW5jIChhcmdzLCB0ZXJtaW5hbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhcmdzLmF0KDEpLmxhYmVsID09PSB0aGlzLnNlcnZpY2VQYXNzd29yZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dnZWRJbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsLndyaXRlbG4oXCJMb2dnZWQgaW4gYXMgYWRtaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBsb2dpblwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbG9nb3V0OiBhc3luYyAoYXJncywgdGVybWluYWwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsLndyaXRlbG4oXCJMb2dnZWQgb3V0XCIpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbWFuZHNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3VnZ2VzdENvbW1hbmRzOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9nZ2VkSW4pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2dnZWRJbkNvbW1hbmRzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9nZ2VkT3V0Q29tbWFuZHM7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiB0aGlzLnN1Z2dlc3Rpb25zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGVybWluYWwubG9hZEFkZG9uKGFkZG9uKTtcclxuICAgIH1cclxufVxyXG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90ZXJtaW5hbC1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQUMsYUFBYSxFQUE4QixNQUFNLGdDQUFnQyxDQUFDO0FBQzFGLE9BQU8sRUFBOEIsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFHMUQsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQU94QixZQUFzQixNQUFjLEVBQ2QsTUFBcUIsRUFDRixRQUE0QjtRQUYvQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUV2QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDakIsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7Z0JBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixF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QyxXQUFXO1NBQ2hDLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKLENBQUE7QUFyRVksZUFBZTtJQUQzQixTQUFTLEVBQUU7SUFVSyxXQUFBLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO3FDQUZWLE1BQU07UUFDTixhQUFhO0dBUmxDLGVBQWUsQ0FxRTNCO1NBckVZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdEFsbCwgc2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtDb21tYW5kc0FkZG9uLCBJQ29tbWFuZE1hcCwgSVN1Z2dlc3Rpb25NYXB9IGZyb20gXCJAc3RlbXkvdGVybWluYWwtY29tbWFuZHMtYWRkb25cIjtcclxuaW1wb3J0IHtJVGVybWluYWwsIElUZXJtaW5hbENvbW1hbmQsIFRFUk1JTkFMX0NPTU1BTkR9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCIuL2xvZ2dlclwiO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHtjYW1lbENhc2VUb0Rhc2gsIGNvbG9yaXplLCBDb25zb2xlQ29sb3J9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuQHNpbmdsZXRvbigpXHJcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbE1hbmFnZXIge1xyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2VQYXNzd29yZDogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIHN1Z2dlc3Rpb25zOiBJU3VnZ2VzdGlvbk1hcDtcclxuICAgIHByb3RlY3RlZCBjb21tYW5kczogSUNvbW1hbmRNYXA7XHJcbiAgICBwcm90ZWN0ZWQgbG9nZ2VkT3V0Q29tbWFuZHM6IHN0cmluZ1tdO1xyXG4gICAgcHJvdGVjdGVkIGxvZ2dlZEluQ29tbWFuZHM6IHN0cmluZ1tdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2dnZXI6IExvZ2dlcixcclxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBjb25maWc6IENvbmZpZ3VyYXRpb24sXHJcbiAgICAgICAgICAgICAgICBAaW5qZWN0QWxsKFRFUk1JTkFMX0NPTU1BTkQpIGNvbW1hbmRzOiBJVGVybWluYWxDb21tYW5kW10pIHtcclxuICAgICAgICB0aGlzLnNlcnZpY2VQYXNzd29yZCA9IGNvbmZpZy5yZXNvbHZlKFwic2VydmljZVBhc3N3b3JkXCIpO1xyXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIGxvZ2luOiBhc3luYyAoYXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBgJHthcmdzLmF0KDEpLmxhYmVsfWA7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKCFpbnB1dCkgPyBbXSA6IFt7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGlucHV0LFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpbnB1dCxcclxuICAgICAgICAgICAgICAgICAgICBtYXNrZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgIH1dO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAuLi5jb21tYW5kcy5yZWR1Y2UoKGFjYywgY29tbWFuZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29tbWFuZC5uYW1lID0gY2FtZWxDYXNlVG9EYXNoKGNvbW1hbmQubmFtZSB8fCBjb21tYW5kLmNvbnN0cnVjdG9yLm5hbWUgfHwgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWNvbW1hbmQubmFtZSB8fCAhY29tbWFuZC5zdWdnZXN0KSByZXR1cm4gYWNjO1xyXG4gICAgICAgICAgICAgICAgYWNjW2NvbW1hbmQubmFtZV0gPSBhc3luYyAoYSwgdCkgPT4gY29tbWFuZC5zdWdnZXN0KGEsIHQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICAgICAgfSwge30pXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmNvbW1hbmRzID0gY29tbWFuZHMucmVkdWNlKChhY2MsIGNvbW1hbmQpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFjb21tYW5kLm5hbWUpIHJldHVybiBhY2M7XHJcbiAgICAgICAgICAgIGFjY1tjb21tYW5kLm5hbWVdID0gYXN5bmMgKGEsIHQpID0+IGNvbW1hbmQuZXhlY3V0ZShhLCB0KTtcclxuICAgICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICB9LCB7fSk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRPdXRDb21tYW5kcyA9IFtcImxvZ2luXCIsIFwiY2xlYXJcIl07XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbkNvbW1hbmRzID0gT2JqZWN0LmtleXModGhpcy5jb21tYW5kcyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbkNvbW1hbmRzLnB1c2goXCJsb2dvdXRcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEN1cnJlbnQgc2VydmljZSBwYXNzd29yZCBpczogJHtjb2xvcml6ZSh0aGlzLnNlcnZpY2VQYXNzd29yZCwgQ29uc29sZUNvbG9yLkZnR3JlZW4pfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRBZGRvbnModGVybWluYWw6IElUZXJtaW5hbCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBsb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGFkZG9uID0gbmV3IENvbW1hbmRzQWRkb24oe1xyXG4gICAgICAgICAgICBjb21tYW5kczoge1xyXG4gICAgICAgICAgICAgICAgbG9naW46IGFzeW5jIChhcmdzLCB0ZXJtaW5hbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhcmdzLmF0KDEpLmxhYmVsID09PSB0aGlzLnNlcnZpY2VQYXNzd29yZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dnZWRJbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsLndyaXRlbG4oXCJMb2dnZWQgaW4gYXMgYWRtaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBsb2dpblwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbG9nb3V0OiBhc3luYyAoYXJncywgdGVybWluYWwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsLndyaXRlbG4oXCJMb2dnZWQgb3V0XCIpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbWFuZHNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3VnZ2VzdENvbW1hbmRzOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobG9nZ2VkSW4pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2dnZWRJbkNvbW1hbmRzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9nZ2VkT3V0Q29tbWFuZHM7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zOiB0aGlzLnN1Z2dlc3Rpb25zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGVybWluYWwubG9hZEFkZG9uKGFkZG9uKTtcclxuICAgIH1cclxufVxyXG4iXX0=