@smarterplan/ngx-smarterplan-core 1.4.4 → 1.4.6

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 (79) hide show
  1. package/esm2022/lib/components/csv-export/csv-export.component.mjs +5 -6
  2. package/esm2022/lib/components/loader/loader.component.mjs +7 -8
  3. package/esm2022/lib/components/menu-bar/avatar/avatar.component.mjs +6 -7
  4. package/esm2022/lib/components/menu-bar/menu-bar.component.mjs +7 -8
  5. package/esm2022/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +8 -9
  6. package/esm2022/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +6 -7
  7. package/esm2022/lib/components/search-bar/search-bar.component.mjs +6 -7
  8. package/esm2022/lib/components/support-modal/support-modal.component.mjs +6 -7
  9. package/esm2022/lib/helpers.service.mjs +1 -1
  10. package/esm2022/lib/matterport-extensions/hsl-loader/HlsLoader.mjs +1 -1
  11. package/esm2022/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +1 -1
  12. package/esm2022/lib/matterport-extensions/nest-thermostat/CanvasRenderer.mjs +1 -1
  13. package/esm2022/lib/matterport-extensions/nest-thermostat/NestThermostat.mjs +1 -1
  14. package/esm2022/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +1 -1
  15. package/esm2022/lib/matterport-extensions/security-camera/SecurityCamera.mjs +1 -1
  16. package/esm2022/lib/matterport-extensions/tv-player/TvPlayer.mjs +1 -1
  17. package/esm2022/lib/matterport-extensions/video-renderer/VideoRenderer.mjs +1 -1
  18. package/esm2022/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.mjs +1 -1
  19. package/esm2022/lib/mattertagData.mjs +1 -1
  20. package/esm2022/lib/ngx-smarterplan-core.module.mjs +6 -7
  21. package/esm2022/lib/ngx-smarterplan-core.service.mjs +6 -7
  22. package/esm2022/lib/pipes/duration-to-string.pipe.mjs +6 -7
  23. package/esm2022/lib/pipes/format-date-number-to-digits.pipe.mjs +6 -7
  24. package/esm2022/lib/pipes/hashtag-from-id.pipe.mjs +6 -7
  25. package/esm2022/lib/pipes/safe-url.pipe.mjs +6 -7
  26. package/esm2022/lib/pipes/time-date-to-local-string.pipe.mjs +9 -10
  27. package/esm2022/lib/pipes/username-from-id.pipe.mjs +6 -7
  28. package/esm2022/lib/services/amplify-cache.service.mjs +7 -8
  29. package/esm2022/lib/services/base-tab.service.mjs +6 -7
  30. package/esm2022/lib/services/baseVisibility.service.mjs +6 -7
  31. package/esm2022/lib/services/content.service.mjs +6 -7
  32. package/esm2022/lib/services/filter.service.mjs +6 -7
  33. package/esm2022/lib/services/intervention.service.mjs +6 -7
  34. package/esm2022/lib/services/locale.service.mjs +9 -10
  35. package/esm2022/lib/services/matterport-import.service.mjs +6 -7
  36. package/esm2022/lib/services/matterport.service.mjs +7 -8
  37. package/esm2022/lib/services/models/affectation.service.mjs +7 -8
  38. package/esm2022/lib/services/models/base-object.service.mjs +6 -7
  39. package/esm2022/lib/services/models/capture.service.mjs +7 -8
  40. package/esm2022/lib/services/models/comment.service.mjs +7 -8
  41. package/esm2022/lib/services/models/domain.service.mjs +7 -8
  42. package/esm2022/lib/services/models/equipment.service.mjs +7 -8
  43. package/esm2022/lib/services/models/event.service.mjs +7 -8
  44. package/esm2022/lib/services/models/feature.service.mjs +7 -8
  45. package/esm2022/lib/services/models/hashtag.service.mjs +7 -8
  46. package/esm2022/lib/services/models/layer.service.mjs +7 -8
  47. package/esm2022/lib/services/models/measurement.service.mjs +7 -8
  48. package/esm2022/lib/services/models/mission.service.mjs +7 -8
  49. package/esm2022/lib/services/models/navigation.service.mjs +7 -8
  50. package/esm2022/lib/services/models/node.service.mjs +7 -8
  51. package/esm2022/lib/services/models/object3D.service.mjs +7 -8
  52. package/esm2022/lib/services/models/operation.service.mjs +7 -8
  53. package/esm2022/lib/services/models/organisation.service.mjs +7 -8
  54. package/esm2022/lib/services/models/plan.service.mjs +8 -10
  55. package/esm2022/lib/services/models/poi.service.mjs +7 -8
  56. package/esm2022/lib/services/models/profile.service.mjs +7 -8
  57. package/esm2022/lib/services/models/property.service.mjs +7 -8
  58. package/esm2022/lib/services/models/space.service.mjs +7 -8
  59. package/esm2022/lib/services/models/template.service.mjs +7 -8
  60. package/esm2022/lib/services/models/ticket.service.mjs +7 -8
  61. package/esm2022/lib/services/models/visit.service.mjs +6 -7
  62. package/esm2022/lib/services/models/zone.service.mjs +7 -8
  63. package/esm2022/lib/services/navigator.service.mjs +6 -7
  64. package/esm2022/lib/services/s3.service.mjs +1 -1
  65. package/esm2022/lib/services/search.service.mjs +6 -7
  66. package/esm2022/lib/services/support.service.mjs +6 -7
  67. package/esm2022/lib/services/tag.service.mjs +6 -7
  68. package/esm2022/lib/services/user.service.mjs +9 -10
  69. package/esm2022/lib/services/validators.service.mjs +6 -7
  70. package/esm2022/lib/services/viewer.service.mjs +6 -7
  71. package/esm2022/lib/services/zone-drawer.service.mjs +1 -1
  72. package/esm2022/lib/services/zoneChange.service.mjs +6 -7
  73. package/esm2022/lib/types.service.mjs +1 -1
  74. package/esm2022/lib/validators/no-empty.directive.mjs +1 -1
  75. package/esm2022/lib/validators/number.directive.mjs +1 -1
  76. package/esm2022/lib/validators/text.directive.mjs +1 -1
  77. package/fesm2022/smarterplan-ngx-smarterplan-core.mjs +277 -278
  78. package/fesm2022/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  79. package/package.json +26 -6
@@ -5,7 +5,7 @@ import { dateHasExpired } from "../../helpers.service";
5
5
  import { ProfileStatus, RoleStatus } from "../../types.service";
6
6
  import { DateTime } from "luxon";
7
7
  import * as i0 from "@angular/core";
8
- class MissionService {
8
+ export class MissionService {
9
9
  currentMissionsUpdated = new Subject();
10
10
  lastExpiredMission;
11
11
  nextMissionToStart;
@@ -195,17 +195,16 @@ class MissionService {
195
195
  return lastConnectedAtTimestamp > visitStartTimestamp;
196
196
  });
197
197
  }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MissionService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
199
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MissionService, providedIn: "root" });
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MissionService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
199
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MissionService, providedIn: "root" });
200
200
  }
201
- export { MissionService };
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MissionService, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MissionService, decorators: [{
203
202
  type: Injectable,
204
203
  args: [{
205
204
  providedIn: "root",
206
205
  }]
207
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
206
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
208
207
  type: Inject,
209
208
  args: ['currentAPIService']
210
- }] }]; } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvbWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWtDLGFBQWEsRUFBRSxVQUFVLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDL0csT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFFakMsTUFHYSxjQUFjO0lBQ3ZCLHNCQUFzQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFaEQsa0JBQWtCLENBQVU7SUFFNUIsa0JBQWtCLENBQVU7SUFFNUIsYUFBYSxDQUFTO0lBRXRCLEdBQUcsQ0FBTSxDQUFDLEtBQUs7SUFFZjtJQUNJLGtEQUFrRDtJQUNyQixXQUFnQjtRQUU3QyxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQWM7UUFDdEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDL0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FB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QUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxzQ0FBc0MsQ0FBQyxRQUF1QixFQUFFLFFBQW1CO1FBQy9FLE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFO2dCQUN4QixPQUFPLEtBQUssQ0FBQzthQUNoQjtZQUNELElBQUksR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBQ0QsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEYsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlFLE9BQU8sd0JBQXdCLEdBQUcsbUJBQW1CLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQTVQUSxjQUFjLGtCQWFYLG1CQUFtQjs0R0FidEIsY0FBYyxjQUZYLE1BQU07O1NBRVQsY0FBYzs0RkFBZCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBY1EsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBkYXRlSGFzRXhwaXJlZCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWlzc2lvbiwgT3JnYW5pc2F0aW9uLCBQcm9maWxlLCBQcm9maWxlU3RhdHVzLCBSb2xlU3RhdHVzLCBWaXNpdFRlbXBsYXRlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWlzc2lvblNlcnZpY2Uge1xyXG4gICAgY3VycmVudE1pc3Npb25zVXBkYXRlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gICAgbGFzdEV4cGlyZWRNaXNzaW9uOiBNaXNzaW9uO1xyXG5cclxuICAgIG5leHRNaXNzaW9uVG9TdGFydDogTWlzc2lvbjtcclxuXHJcbiAgICBjdXJyZW50VXNlcklEOiBzdHJpbmc7XHJcblxyXG4gICAgQVBJOiBhbnk7IC8vQVdTXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy8gcHJpdmF0ZSBhZmZlY3RhdGlvblNlcnZpY2U6IEFmZmVjdGF0aW9uU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnlcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNGcm9tVXNlcklEKHVzZXJJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlVc2VyKHVzZXJJRCkudGhlbigobWlzc2lvbnMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG1pc3Npb25zLml0ZW1zLmZpbHRlcigobWlzKSA9PiAhbWlzLmRlbGV0ZWRBdCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNCeU9yZGVyZWRPcmdhbmlzYXRpb24oXHJcbiAgICAgICAgb3JkZXJlZE9yZ0lEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPE1pc3Npb25bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTWlzc2lvbnNCeU9yZGVyZWRPcmdhbmlzYXRpb24ob3JkZXJlZE9yZ0lEKS50aGVuKFxyXG4gICAgICAgICAgICAocmVzcG9uc2UpID0+IHJlc3BvbnNlLml0ZW1zLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNCeU9yZ2FuaXNhdGlvbihvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlPcmdhbmlzYXRpb24ob3JnSUQpLnRoZW4oXHJcbiAgICAgICAgICAgIChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaXRlbXMsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGUobWlzc2lvbjogTWlzc2lvbik6IFByb21pc2U8TWlzc2lvbj4ge1xyXG4gICAgICAgIGNvbnN0IHVwZE1pc3Npb24gPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uQ3JlYXRlTWlzc2lvbihtaXNzaW9uKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1pc3Npb24gY3JlYXRlZFwiLCB1cGRNaXNzaW9uKTtcclxuICAgICAgICBhd2FpdCB0aGlzLmNoZWNrSWZDdXJyZW50VXNlck1pc3Npb25DaGFuZ2VkKHVwZE1pc3Npb24pO1xyXG4gICAgICAgIHJldHVybiB1cGRNaXNzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZShtaXNzaW9uOiBhbnkpOiBQcm9taXNlPE1pc3Npb24+IHtcclxuICAgICAgICBjb25zdCB1cGRNaXNzaW9uID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZU1pc3Npb24obWlzc2lvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNaXNzaW9uIHVwZGF0ZWRcIiwgdXBkTWlzc2lvbik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jaGVja0lmQ3VycmVudFVzZXJNaXNzaW9uQ2hhbmdlZCh1cGRNaXNzaW9uKTtcclxuICAgICAgICByZXR1cm4gdXBkTWlzc2lvbjtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhc3NlcnRSb2xlRm9yVXNlckluT3JnKFxyXG4gICAgICAgIHVzZXI6IFByb2ZpbGUsXHJcbiAgICAgICAgb3JnOiBPcmdhbmlzYXRpb24sXHJcbiAgICAgICAgcm9sZTogUm9sZVN0YXR1cyxcclxuICAgICk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1pc3Npb25zRnJvbVVzZXJJRCh1c2VyLmlkKS50aGVuKChtaXNzaW9ucykgPT4ge1xyXG4gICAgICAgICAgICBpZiAobWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1pc09yZyA9IG1pc3Npb25zLmZpbHRlcigobWlzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1pcy5vcmdhbmlzYXRpb25JRCA9PT0gb3JnLmlkICYmIG1pcy5yb2xlID09PSByb2xlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzT3JnLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE1pc3Npb25zQnlPcmRlcmVkT3JnYW5pc2F0aW9uQnlTcGFjZShcclxuICAgICAgICBvcmRPcmdJRDogc3RyaW5nLFxyXG4gICAgICAgIHNwYWNlSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8TWlzc2lvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5NaXNzaW9uc0J5T3JkZXJlZE9yZ2FuaXNhdGlvbkJ5U3BhY2Uob3JkT3JnSUQsIHtcclxuICAgICAgICAgICAgZXE6IHNwYWNlSUQsXHJcbiAgICAgICAgfSkudGhlbigobWlzKSA9PiBtaXMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNvZnREZWxldGVNaXNzaW9uKG1pc3Npb25JRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uPiB7XHJcbiAgICAgICAgLy8gY29uc3QgaGFyZERlbGV0ZSA9IGF3YWl0IHRoaXMuY2FuSGFyZERldGVsZU1pc3Npb24obWlzc2lvbi5pZCk7XHJcbiAgICAgICAgLy8gaWYgKGhhcmREZWxldGUpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuaGFyZERlbGV0ZU1pc3Npb24obWlzc2lvbi5pZCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiU29mdCBEZWxldGluZyBtaXNzaW9uXCIpO1xyXG4gICAgICAgIGNvbnN0IG1pc3Npb25VcGQgPSBhd2FpdCB0aGlzLnVwZGF0ZSh7XHJcbiAgICAgICAgICAgIGlkOiBtaXNzaW9uSUQsXHJcbiAgICAgICAgICAgIGRlbGV0ZWRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBhd2FpdCB0aGlzLmNoZWNrSWZDdXJyZW50VXNlck1pc3Npb25DaGFuZ2VkKG1pc3Npb25VcGQpO1xyXG4gICAgICAgIHJldHVybiBtaXNzaW9uVXBkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGxpc3QoKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICBjb25zdCBtaXMgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdE1pc3Npb25zKCk7XHJcbiAgICAgICAgcmV0dXJuIG1pcy5pdGVtcy5maWx0ZXIoKG0pID0+ICFtLmRlbGV0ZWRBdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYXN5bmMgY2FuSGFyZERldGVsZU1pc3Npb24obWlzc2lvbklEOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIC8vICAgICBjb25zdCBldmVudHMgPSAoXHJcbiAgICAvLyAgICAgICAgIGF3YWl0IHRoaXMuQVBJLkxpc3RFdmVudHMoeyBvd25lcklEOiB7IGVxOiBtaXNzaW9uSUQgfSB9KVxyXG4gICAgLy8gICAgICkuaXRlbXM7XHJcbiAgICAvLyAgICAgaWYgKGV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgY29uc3QgY29tbWVudHMgPSAoXHJcbiAgICAvLyAgICAgICAgIGF3YWl0IHRoaXMuQVBJLkxpc3RDb21tZW50cyh7IG93bmVySUQ6IHsgZXE6IG1pc3Npb25JRCB9IH0pXHJcbiAgICAvLyAgICAgKS5pdGVtcztcclxuICAgIC8vICAgICBpZiAoY29tbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGNvbnN0IGFmZmVjdGF0aW9ucyA9XHJcbiAgICAvLyAgICAgICAgIGF3YWl0IHRoaXMuYWZmZWN0YXRpb25TZXJ2aWNlLmdldEFmZmVjdGF0aW9uc0Zyb21NaXNzaW9uSUQoXHJcbiAgICAvLyAgICAgICAgICAgICBtaXNzaW9uSUQsXHJcbiAgICAvLyAgICAgICAgICk7XHJcbiAgICAvLyAgICAgaWYgKGFmZmVjdGF0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgYXN5bmMgaGFyZERlbGV0ZU1pc3Npb24obWlzc2lvbklEOiBzdHJpbmcpOiBQcm9taXNlPE1pc3Npb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZU1pc3Npb24oeyBpZDogbWlzc2lvbklEIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFjdGl2YXRlZE1pc3Npb25zKG1pc3Npb25zOiBNaXNzaW9uW10pOiBNaXNzaW9uW10ge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZCA9IFtdO1xyXG4gICAgICAgIG1pc3Npb25zLm1hcChhc3luYyAobWlzc2lvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpc0FjdGl2YXRlZCA9XHJcbiAgICAgICAgICAgICAgICBtaXNzaW9uLmdyb3VwcyAmJiBtaXNzaW9uLmdyb3Vwcy5pbmNsdWRlcyhQcm9maWxlU3RhdHVzLkFDVElWRSk7XHJcbiAgICAgICAgICAgIGlmIChpc0FjdGl2YXRlZCkge1xyXG4gICAgICAgICAgICAgICAgYWN0aXZhdGVkLnB1c2gobWlzc2lvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gYWN0aXZhdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE1pc3Npb25zRm9yWm9uZSh6b25lSUQ6IHN0cmluZyk6IFByb21pc2U8TWlzc2lvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uTWlzc2lvbnNCeVpvbmUoem9uZUlEKSkuaXRlbXMuZmlsdGVyKFxyXG4gICAgICAgICAgICAobWlzKSA9PiAhbWlzLmRlbGV0ZWRBdCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE1pc3Npb25zRm9yU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlTcGFjZShzcGFjZUlEKS50aGVuKChtaXNzaW9ucykgPT4gbWlzc2lvbnMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlTWlzc2lvbihtaXM6IE1pc3Npb24pIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG1pcyAmJlxyXG4gICAgICAgICAgICAoIW1pcy5ncm91cHMgfHwgIW1pcy5ncm91cHMuaW5jbHVkZXMoUHJvZmlsZVN0YXR1cy5BQ1RJVkUpKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBjb25zdCBncm91cHMgPSBtaXMuZ3JvdXBzID8gbWlzLmdyb3VwcyA6IFtdO1xyXG4gICAgICAgICAgICBncm91cHMucHVzaChQcm9maWxlU3RhdHVzLkFDVElWRSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHsgaWQ6IG1pcy5pZCwgZ3JvdXBzIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRNaXNzaW9uc0J5VGVtcGxhdGUodGVtcGxhdGVJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5NaXNzaW9uc0J5VGVtcGxhdGUodGVtcGxhdGVJRCkpLml0ZW1zLmZpbHRlcihcclxuICAgICAgICAgICAgKG1pcykgPT4gIW1pcy5kZWxldGVkQXQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRNaXNzaW9uKG1pc3Npb25JRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRNaXNzaW9uKG1pc3Npb25JRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNCeVpvbmVCeVJvbGUoXHJcbiAgICAgICAgem9uZUlEOiBzdHJpbmcsXHJcbiAgICAgICAgcm9sZTogUm9sZVN0YXR1cyxcclxuICAgICk6IFByb21pc2U8TWlzc2lvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlab25lQnlSb2xlKFxyXG4gICAgICAgICAgICAgICAgem9uZUlELFxyXG4gICAgICAgICAgICAgICAgeyBlcTogcm9sZSB9LFxyXG4gICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgICAgIHsgZGVsZXRlZEF0OiB7IGF0dHJpYnV0ZUV4aXN0czogZmFsc2UgfSB9LFxyXG4gICAgICAgICAgICAgICAgMjAwLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKS5pdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjaGVja0lmQ3VycmVudFVzZXJNaXNzaW9uQ2hhbmdlZChjaGFuZ2VkTWlzc2lvbjogTWlzc2lvbikge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRVc2VySUQgPT09IGNoYW5nZWRNaXNzaW9uLnVzZXJJRCkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNaXNzaW9uc1VwZGF0ZWQubmV4dCh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW5zdGFudE1pc3Npb25zT2ZDdXJyZW50KFxyXG4gICAgICAgIGN1cnJlbnRVc2VySUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8TWlzc2lvbltdIHwgbnVsbD4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFVzZXJJRCA9IGN1cnJlbnRVc2VySUQ7XHJcbiAgICAgICAgbGV0IG1pc3Npb25zID0gYXdhaXQgdGhpcy5nZXRNaXNzaW9uc0Zyb21Vc2VySUQoY3VycmVudFVzZXJJRCk7XHJcblxyXG4gICAgICAgIC8qKiBGaWx0ZXIgdG8ga2VlcCBvbmx5IGF2YWlsYWJsZSBtaXNzaW9ucyAqL1xyXG4gICAgICAgIG1pc3Npb25zID0gbWlzc2lvbnMuZmlsdGVyKChtaXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc0V4cGlyZWQgPSBkYXRlSGFzRXhwaXJlZChtaXNzaW9uLmVuZERhdGVUaW1lKTtcclxuXHJcbiAgICAgICAgICAgIC8qKiBVcGRhdGUgdGhpcy5sYXN0RXhwaXJlZE1pc3Npb24gKi9cclxuICAgICAgICAgICAgaWYgKGhhc0V4cGlyZWQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RFeHBpcmVkRGF0ZSA9IHRoaXMubGFzdEV4cGlyZWRNaXNzaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZSh0aGlzLmxhc3RFeHBpcmVkTWlzc2lvbi5lbmREYXRlVGltZSlcclxuICAgICAgICAgICAgICAgICAgICA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlRXhwaXJlZCA9IG5ldyBEYXRlKG1pc3Npb24uZW5kRGF0ZVRpbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsYXN0RXhwaXJlZERhdGUgfHwgZGF0ZUV4cGlyZWQgPiBsYXN0RXhwaXJlZERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RFeHBpcmVkTWlzc2lvbiA9IG1pc3Npb247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICFoYXNFeHBpcmVkO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAobWlzc2lvbnMuc29tZSgobWlzKSA9PiBtaXMucm9sZSA9PT0gUm9sZVN0YXR1cy5WSVNJVE9SX01VU0VVTSkgJiYgbWlzc2lvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyB3b3JrZmxvdyBmb3IgVklTSVRPUl9NVVNFVU1cclxuICAgICAgICAgICAgcmV0dXJuIG1pc3Npb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiogS2VlcCBvbmx5IHN0YXJ0ZWQgbWlzc2lvbnMgKi9cclxuICAgICAgICBsZXQgbmV4dE1pc3Npb25EYXRlID0gbnVsbDtcclxuICAgICAgICBtaXNzaW9ucyA9IG1pc3Npb25zLmZpbHRlcigobWlzc2lvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzdGFydGVkID0gbWlzc2lvbi5zdGFydERhdGVUaW1lXHJcbiAgICAgICAgICAgICAgICA/IGRhdGVIYXNFeHBpcmVkKG1pc3Npb24uc3RhcnREYXRlVGltZSlcclxuICAgICAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgICAgICAgICAgLyoqIFVwZGF0ZSBuZXh0IG1pc3Npb24gdG8gc3RhcnQgKi9cclxuICAgICAgICAgICAgaWYgKCFzdGFydGVkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW9uRGF0ZSA9IG5ldyBEYXRlKG1pc3Npb24uc3RhcnREYXRlVGltZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIW5leHRNaXNzaW9uRGF0ZSB8fCBtaXNzaW9uRGF0ZSA8IG5leHRNaXNzaW9uRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dE1pc3Npb25Ub1N0YXJ0ID0gbWlzc2lvbjtcclxuICAgICAgICAgICAgICAgICAgICBuZXh0TWlzc2lvbkRhdGUgPSBtaXNzaW9uRGF0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gc3RhcnRlZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbWlzc2lvbnMubGVuZ3RoID4gMCA/IG1pc3Npb25zIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbHRlcnMgdGhlIG1pc3Npb25zIHRoYXQgYXNzaXN0ZWQgdG8gbGl2ZSBvZiB0aGUgdmlzaXQgKGJ5IGNvbXBhcmluZyB0aGUgcmVhbFN0YXJ0VGltZSBvZiBWaXNpdFRlbXBsYXRlIGFuZCBjb25uZWN0ZWRBdCB0aW1lKVxyXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFZpc2l0VGVtcGxhdGUgXHJcbiAgICAgKiBAcGFyYW0gbWlzc2lvbnMgTWlzc2lvbltdIG1pc3Npb25zIGZvciB0aGlzIHZpc2l0XHJcbiAgICAgKiBAcmV0dXJucyBNaXNzaW9uW10gZmlsdGVyZWQgbWlzc2lvbnNcclxuICAgICAqL1xyXG4gICAgZmlsdGVyTWlzc2lvbnNBc3NpdGVkVG9MaXZlRm9yVGVtcGxhdGUodGVtcGxhdGU6IFZpc2l0VGVtcGxhdGUsIG1pc3Npb25zOiBNaXNzaW9uW10pOiBNaXNzaW9uW10ge1xyXG4gICAgICAgIGNvbnN0IHZpc2l0U3RhcnRUaW1lc3RhbXAgPSB0ZW1wbGF0ZS5yZWFsU3RhcnRlZEF0O1xyXG4gICAgICAgIHJldHVybiBtaXNzaW9ucy5maWx0ZXIoKG1pcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIW1pcy5jb25uZWN0ZWRUb0xpdmVBdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChtaXMuY29ubmVjdGVkVG9MaXZlQXQubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgbGFzdENvbm5lY3RlZEF0ID0gbWlzLmNvbm5lY3RlZFRvTGl2ZUF0W21pcy5jb25uZWN0ZWRUb0xpdmVBdC5sZW5ndGggLSAxXTtcclxuICAgICAgICAgICAgY29uc3QgbGFzdENvbm5lY3RlZEF0VGltZXN0YW1wID0gRGF0ZVRpbWUuZnJvbUlTTyhsYXN0Q29ubmVjdGVkQXQpLnRvTWlsbGlzKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBsYXN0Q29ubmVjdGVkQXRUaW1lc3RhbXAgPiB2aXNpdFN0YXJ0VGltZXN0YW1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
209
+ }] }] });
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvbWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWtDLGFBQWEsRUFBRSxVQUFVLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDL0csT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQzs7QUFLakMsTUFBTSxPQUFPLGNBQWM7SUFDdkIsc0JBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQUVoRCxrQkFBa0IsQ0FBVTtJQUU1QixrQkFBa0IsQ0FBVTtJQUU1QixhQUFhLENBQVM7SUFFdEIsR0FBRyxDQUFNLENBQUMsS0FBSztJQUVmO0lBQ0ksa0RBQWtEO0lBQ3JCLFdBQWdCO1FBRTdDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBYztRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFF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WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBkYXRlSGFzRXhwaXJlZCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWlzc2lvbiwgT3JnYW5pc2F0aW9uLCBQcm9maWxlLCBQcm9maWxlU3RhdHVzLCBSb2xlU3RhdHVzLCBWaXNpdFRlbXBsYXRlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWlzc2lvblNlcnZpY2Uge1xyXG4gICAgY3VycmVudE1pc3Npb25zVXBkYXRlZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gICAgbGFzdEV4cGlyZWRNaXNzaW9uOiBNaXNzaW9uO1xyXG5cclxuICAgIG5leHRNaXNzaW9uVG9TdGFydDogTWlzc2lvbjtcclxuXHJcbiAgICBjdXJyZW50VXNlcklEOiBzdHJpbmc7XHJcblxyXG4gICAgQVBJOiBhbnk7IC8vQVdTXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy8gcHJpdmF0ZSBhZmZlY3RhdGlvblNlcnZpY2U6IEFmZmVjdGF0aW9uU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnlcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNGcm9tVXNlcklEKHVzZXJJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlVc2VyKHVzZXJJRCkudGhlbigobWlzc2lvbnMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG1pc3Npb25zLml0ZW1zLmZpbHRlcigobWlzKSA9PiAhbWlzLmRlbGV0ZWRBdCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNCeU9yZGVyZWRPcmdhbmlzYXRpb24oXHJcbiAgICAgICAgb3JkZXJlZE9yZ0lEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPE1pc3Npb25bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTWlzc2lvbnNCeU9yZGVyZWRPcmdhbmlzYXRpb24ob3JkZXJlZE9yZ0lEKS50aGVuKFxyXG4gICAgICAgICAgICAocmVzcG9uc2UpID0+IHJlc3BvbnNlLml0ZW1zLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNCeU9yZ2FuaXNhdGlvbihvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlPcmdhbmlzYXRpb24ob3JnSUQpLnRoZW4oXHJcbiAgICAgICAgICAgIChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaXRlbXMsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGUobWlzc2lvbjogTWlzc2lvbik6IFByb21pc2U8TWlzc2lvbj4ge1xyXG4gICAgICAgIGNvbnN0IHVwZE1pc3Npb24gPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uQ3JlYXRlTWlzc2lvbihtaXNzaW9uKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1pc3Npb24gY3JlYXRlZFwiLCB1cGRNaXNzaW9uKTtcclxuICAgICAgICBhd2FpdCB0aGlzLmNoZWNrSWZDdXJyZW50VXNlck1pc3Npb25DaGFuZ2VkKHVwZE1pc3Npb24pO1xyXG4gICAgICAgIHJldHVybiB1cGRNaXNzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZShtaXNzaW9uOiBhbnkpOiBQcm9taXNlPE1pc3Npb24+IHtcclxuICAgICAgICBjb25zdCB1cGRNaXNzaW9uID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZU1pc3Npb24obWlzc2lvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNaXNzaW9uIHVwZGF0ZWRcIiwgdXBkTWlzc2lvbik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jaGVja0lmQ3VycmVudFVzZXJNaXNzaW9uQ2hhbmdlZCh1cGRNaXNzaW9uKTtcclxuICAgICAgICByZXR1cm4gdXBkTWlzc2lvbjtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhc3NlcnRSb2xlRm9yVXNlckluT3JnKFxyXG4gICAgICAgIHVzZXI6IFByb2ZpbGUsXHJcbiAgICAgICAgb3JnOiBPcmdhbmlzYXRpb24sXHJcbiAgICAgICAgcm9sZTogUm9sZVN0YXR1cyxcclxuICAgICk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1pc3Npb25zRnJvbVVzZXJJRCh1c2VyLmlkKS50aGVuKChtaXNzaW9ucykgPT4ge1xyXG4gICAgICAgICAgICBpZiAobWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1pc09yZyA9IG1pc3Npb25zLmZpbHRlcigobWlzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1pcy5vcmdhbmlzYXRpb25JRCA9PT0gb3JnLmlkICYmIG1pcy5yb2xlID09PSByb2xlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbWlzT3JnLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE1pc3Npb25zQnlPcmRlcmVkT3JnYW5pc2F0aW9uQnlTcGFjZShcclxuICAgICAgICBvcmRPcmdJRDogc3RyaW5nLFxyXG4gICAgICAgIHNwYWNlSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8TWlzc2lvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5NaXNzaW9uc0J5T3JkZXJlZE9yZ2FuaXNhdGlvbkJ5U3BhY2Uob3JkT3JnSUQsIHtcclxuICAgICAgICAgICAgZXE6IHNwYWNlSUQsXHJcbiAgICAgICAgfSkudGhlbigobWlzKSA9PiBtaXMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNvZnREZWxldGVNaXNzaW9uKG1pc3Npb25JRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uPiB7XHJcbiAgICAgICAgLy8gY29uc3QgaGFyZERlbGV0ZSA9IGF3YWl0IHRoaXMuY2FuSGFyZERldGVsZU1pc3Npb24obWlzc2lvbi5pZCk7XHJcbiAgICAgICAgLy8gaWYgKGhhcmREZWxldGUpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuaGFyZERlbGV0ZU1pc3Npb24obWlzc2lvbi5pZCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiU29mdCBEZWxldGluZyBtaXNzaW9uXCIpO1xyXG4gICAgICAgIGNvbnN0IG1pc3Npb25VcGQgPSBhd2FpdCB0aGlzLnVwZGF0ZSh7XHJcbiAgICAgICAgICAgIGlkOiBtaXNzaW9uSUQsXHJcbiAgICAgICAgICAgIGRlbGV0ZWRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBhd2FpdCB0aGlzLmNoZWNrSWZDdXJyZW50VXNlck1pc3Npb25DaGFuZ2VkKG1pc3Npb25VcGQpO1xyXG4gICAgICAgIHJldHVybiBtaXNzaW9uVXBkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGxpc3QoKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICBjb25zdCBtaXMgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdE1pc3Npb25zKCk7XHJcbiAgICAgICAgcmV0dXJuIG1pcy5pdGVtcy5maWx0ZXIoKG0pID0+ICFtLmRlbGV0ZWRBdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYXN5bmMgY2FuSGFyZERldGVsZU1pc3Npb24obWlzc2lvbklEOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIC8vICAgICBjb25zdCBldmVudHMgPSAoXHJcbiAgICAvLyAgICAgICAgIGF3YWl0IHRoaXMuQVBJLkxpc3RFdmVudHMoeyBvd25lcklEOiB7IGVxOiBtaXNzaW9uSUQgfSB9KVxyXG4gICAgLy8gICAgICkuaXRlbXM7XHJcbiAgICAvLyAgICAgaWYgKGV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgY29uc3QgY29tbWVudHMgPSAoXHJcbiAgICAvLyAgICAgICAgIGF3YWl0IHRoaXMuQVBJLkxpc3RDb21tZW50cyh7IG93bmVySUQ6IHsgZXE6IG1pc3Npb25JRCB9IH0pXHJcbiAgICAvLyAgICAgKS5pdGVtcztcclxuICAgIC8vICAgICBpZiAoY29tbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGNvbnN0IGFmZmVjdGF0aW9ucyA9XHJcbiAgICAvLyAgICAgICAgIGF3YWl0IHRoaXMuYWZmZWN0YXRpb25TZXJ2aWNlLmdldEFmZmVjdGF0aW9uc0Zyb21NaXNzaW9uSUQoXHJcbiAgICAvLyAgICAgICAgICAgICBtaXNzaW9uSUQsXHJcbiAgICAvLyAgICAgICAgICk7XHJcbiAgICAvLyAgICAgaWYgKGFmZmVjdGF0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgYXN5bmMgaGFyZERlbGV0ZU1pc3Npb24obWlzc2lvbklEOiBzdHJpbmcpOiBQcm9taXNlPE1pc3Npb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZU1pc3Npb24oeyBpZDogbWlzc2lvbklEIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFjdGl2YXRlZE1pc3Npb25zKG1pc3Npb25zOiBNaXNzaW9uW10pOiBNaXNzaW9uW10ge1xyXG4gICAgICAgIGNvbnN0IGFjdGl2YXRlZCA9IFtdO1xyXG4gICAgICAgIG1pc3Npb25zLm1hcChhc3luYyAobWlzc2lvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpc0FjdGl2YXRlZCA9XHJcbiAgICAgICAgICAgICAgICBtaXNzaW9uLmdyb3VwcyAmJiBtaXNzaW9uLmdyb3Vwcy5pbmNsdWRlcyhQcm9maWxlU3RhdHVzLkFDVElWRSk7XHJcbiAgICAgICAgICAgIGlmIChpc0FjdGl2YXRlZCkge1xyXG4gICAgICAgICAgICAgICAgYWN0aXZhdGVkLnB1c2gobWlzc2lvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gYWN0aXZhdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE1pc3Npb25zRm9yWm9uZSh6b25lSUQ6IHN0cmluZyk6IFByb21pc2U8TWlzc2lvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uTWlzc2lvbnNCeVpvbmUoem9uZUlEKSkuaXRlbXMuZmlsdGVyKFxyXG4gICAgICAgICAgICAobWlzKSA9PiAhbWlzLmRlbGV0ZWRBdCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE1pc3Npb25zRm9yU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlTcGFjZShzcGFjZUlEKS50aGVuKChtaXNzaW9ucykgPT4gbWlzc2lvbnMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlTWlzc2lvbihtaXM6IE1pc3Npb24pIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIG1pcyAmJlxyXG4gICAgICAgICAgICAoIW1pcy5ncm91cHMgfHwgIW1pcy5ncm91cHMuaW5jbHVkZXMoUHJvZmlsZVN0YXR1cy5BQ1RJVkUpKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBjb25zdCBncm91cHMgPSBtaXMuZ3JvdXBzID8gbWlzLmdyb3VwcyA6IFtdO1xyXG4gICAgICAgICAgICBncm91cHMucHVzaChQcm9maWxlU3RhdHVzLkFDVElWRSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHsgaWQ6IG1pcy5pZCwgZ3JvdXBzIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRNaXNzaW9uc0J5VGVtcGxhdGUodGVtcGxhdGVJRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uW10+IHtcclxuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5NaXNzaW9uc0J5VGVtcGxhdGUodGVtcGxhdGVJRCkpLml0ZW1zLmZpbHRlcihcclxuICAgICAgICAgICAgKG1pcykgPT4gIW1pcy5kZWxldGVkQXQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRNaXNzaW9uKG1pc3Npb25JRDogc3RyaW5nKTogUHJvbWlzZTxNaXNzaW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRNaXNzaW9uKG1pc3Npb25JRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TWlzc2lvbnNCeVpvbmVCeVJvbGUoXHJcbiAgICAgICAgem9uZUlEOiBzdHJpbmcsXHJcbiAgICAgICAgcm9sZTogUm9sZVN0YXR1cyxcclxuICAgICk6IFByb21pc2U8TWlzc2lvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLk1pc3Npb25zQnlab25lQnlSb2xlKFxyXG4gICAgICAgICAgICAgICAgem9uZUlELFxyXG4gICAgICAgICAgICAgICAgeyBlcTogcm9sZSB9LFxyXG4gICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgICAgIHsgZGVsZXRlZEF0OiB7IGF0dHJpYnV0ZUV4aXN0czogZmFsc2UgfSB9LFxyXG4gICAgICAgICAgICAgICAgMjAwLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKS5pdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjaGVja0lmQ3VycmVudFVzZXJNaXNzaW9uQ2hhbmdlZChjaGFuZ2VkTWlzc2lvbjogTWlzc2lvbikge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRVc2VySUQgPT09IGNoYW5nZWRNaXNzaW9uLnVzZXJJRCkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNaXNzaW9uc1VwZGF0ZWQubmV4dCh0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW5zdGFudE1pc3Npb25zT2ZDdXJyZW50KFxyXG4gICAgICAgIGN1cnJlbnRVc2VySUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8TWlzc2lvbltdIHwgbnVsbD4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFVzZXJJRCA9IGN1cnJlbnRVc2VySUQ7XHJcbiAgICAgICAgbGV0IG1pc3Npb25zID0gYXdhaXQgdGhpcy5nZXRNaXNzaW9uc0Zyb21Vc2VySUQoY3VycmVudFVzZXJJRCk7XHJcblxyXG4gICAgICAgIC8qKiBGaWx0ZXIgdG8ga2VlcCBvbmx5IGF2YWlsYWJsZSBtaXNzaW9ucyAqL1xyXG4gICAgICAgIG1pc3Npb25zID0gbWlzc2lvbnMuZmlsdGVyKChtaXNzaW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc0V4cGlyZWQgPSBkYXRlSGFzRXhwaXJlZChtaXNzaW9uLmVuZERhdGVUaW1lKTtcclxuXHJcbiAgICAgICAgICAgIC8qKiBVcGRhdGUgdGhpcy5sYXN0RXhwaXJlZE1pc3Npb24gKi9cclxuICAgICAgICAgICAgaWYgKGhhc0V4cGlyZWQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RFeHBpcmVkRGF0ZSA9IHRoaXMubGFzdEV4cGlyZWRNaXNzaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZSh0aGlzLmxhc3RFeHBpcmVkTWlzc2lvbi5lbmREYXRlVGltZSlcclxuICAgICAgICAgICAgICAgICAgICA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlRXhwaXJlZCA9IG5ldyBEYXRlKG1pc3Npb24uZW5kRGF0ZVRpbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsYXN0RXhwaXJlZERhdGUgfHwgZGF0ZUV4cGlyZWQgPiBsYXN0RXhwaXJlZERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RFeHBpcmVkTWlzc2lvbiA9IG1pc3Npb247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICFoYXNFeHBpcmVkO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAobWlzc2lvbnMuc29tZSgobWlzKSA9PiBtaXMucm9sZSA9PT0gUm9sZVN0YXR1cy5WSVNJVE9SX01VU0VVTSkgJiYgbWlzc2lvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyB3b3JrZmxvdyBmb3IgVklTSVRPUl9NVVNFVU1cclxuICAgICAgICAgICAgcmV0dXJuIG1pc3Npb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiogS2VlcCBvbmx5IHN0YXJ0ZWQgbWlzc2lvbnMgKi9cclxuICAgICAgICBsZXQgbmV4dE1pc3Npb25EYXRlID0gbnVsbDtcclxuICAgICAgICBtaXNzaW9ucyA9IG1pc3Npb25zLmZpbHRlcigobWlzc2lvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzdGFydGVkID0gbWlzc2lvbi5zdGFydERhdGVUaW1lXHJcbiAgICAgICAgICAgICAgICA/IGRhdGVIYXNFeHBpcmVkKG1pc3Npb24uc3RhcnREYXRlVGltZSlcclxuICAgICAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgICAgICAgICAgLyoqIFVwZGF0ZSBuZXh0IG1pc3Npb24gdG8gc3RhcnQgKi9cclxuICAgICAgICAgICAgaWYgKCFzdGFydGVkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW9uRGF0ZSA9IG5ldyBEYXRlKG1pc3Npb24uc3RhcnREYXRlVGltZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIW5leHRNaXNzaW9uRGF0ZSB8fCBtaXNzaW9uRGF0ZSA8IG5leHRNaXNzaW9uRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dE1pc3Npb25Ub1N0YXJ0ID0gbWlzc2lvbjtcclxuICAgICAgICAgICAgICAgICAgICBuZXh0TWlzc2lvbkRhdGUgPSBtaXNzaW9uRGF0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gc3RhcnRlZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbWlzc2lvbnMubGVuZ3RoID4gMCA/IG1pc3Npb25zIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbHRlcnMgdGhlIG1pc3Npb25zIHRoYXQgYXNzaXN0ZWQgdG8gbGl2ZSBvZiB0aGUgdmlzaXQgKGJ5IGNvbXBhcmluZyB0aGUgcmVhbFN0YXJ0VGltZSBvZiBWaXNpdFRlbXBsYXRlIGFuZCBjb25uZWN0ZWRBdCB0aW1lKVxyXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFZpc2l0VGVtcGxhdGUgXHJcbiAgICAgKiBAcGFyYW0gbWlzc2lvbnMgTWlzc2lvbltdIG1pc3Npb25zIGZvciB0aGlzIHZpc2l0XHJcbiAgICAgKiBAcmV0dXJucyBNaXNzaW9uW10gZmlsdGVyZWQgbWlzc2lvbnNcclxuICAgICAqL1xyXG4gICAgZmlsdGVyTWlzc2lvbnNBc3NpdGVkVG9MaXZlRm9yVGVtcGxhdGUodGVtcGxhdGU6IFZpc2l0VGVtcGxhdGUsIG1pc3Npb25zOiBNaXNzaW9uW10pOiBNaXNzaW9uW10ge1xyXG4gICAgICAgIGNvbnN0IHZpc2l0U3RhcnRUaW1lc3RhbXAgPSB0ZW1wbGF0ZS5yZWFsU3RhcnRlZEF0O1xyXG4gICAgICAgIHJldHVybiBtaXNzaW9ucy5maWx0ZXIoKG1pcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIW1pcy5jb25uZWN0ZWRUb0xpdmVBdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChtaXMuY29ubmVjdGVkVG9MaXZlQXQubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgbGFzdENvbm5lY3RlZEF0ID0gbWlzLmNvbm5lY3RlZFRvTGl2ZUF0W21pcy5jb25uZWN0ZWRUb0xpdmVBdC5sZW5ndGggLSAxXTtcclxuICAgICAgICAgICAgY29uc3QgbGFzdENvbm5lY3RlZEF0VGltZXN0YW1wID0gRGF0ZVRpbWUuZnJvbUlTTyhsYXN0Q29ubmVjdGVkQXQpLnRvTWlsbGlzKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBsYXN0Q29ubmVjdGVkQXRUaW1lc3RhbXAgPiB2aXNpdFN0YXJ0VGltZXN0YW1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -2,7 +2,7 @@ import { Inject, Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../user.service";
4
4
  import * as i2 from "./zone.service";
5
- class NavigationService {
5
+ export class NavigationService {
6
6
  userService;
7
7
  zoneService;
8
8
  API;
@@ -80,17 +80,16 @@ class NavigationService {
80
80
  async updateNavigation(navInput) {
81
81
  return this.API.__proto__.UpdateNavigation(navInput);
82
82
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: 'currentAPIService' }, { token: i1.BaseUserService }, { token: i2.ZoneService }], target: i0.ɵɵFactoryTarget.Injectable });
84
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, providedIn: "root" });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationService, deps: [{ token: 'currentAPIService' }, { token: i1.BaseUserService }, { token: i2.ZoneService }], target: i0.ɵɵFactoryTarget.Injectable });
84
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationService, providedIn: "root" });
85
85
  }
86
- export { NavigationService };
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavigationService, decorators: [{
88
87
  type: Injectable,
89
88
  args: [{
90
89
  providedIn: "root",
91
90
  }]
92
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
91
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
93
92
  type: Inject,
94
93
  args: ['currentAPIService']
95
- }] }, { type: i1.BaseUserService }, { type: i2.ZoneService }]; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTW5ELE1BR2EsaUJBQWlCO0lBS2Q7SUFDQTtJQUpaLEdBQUcsQ0FBTTtJQUVULFlBQXlDLFdBQWdCLEVBQzdDLFdBQTRCLEVBQzVCLFdBQXdCO1FBRHhCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFFBQW9CO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBYztRQUN0QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxvQkFBb0IsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2hFLEdBQUc7WUFDQyxvQkFBb0I7Z0JBQ2hCLE1BQU0sSUFBSSxDQUFDLHNDQUFzQyxDQUM3QyxNQUFNLEVBQ04sS0FBSyxFQUNMLG9CQUFvQixDQUN2QixDQUFDO1NBQ1Qs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aUJBQ3JCOzswQkFLZ0IsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uLCBab25lIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQmFzZVVzZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3VzZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBab25lU2VydmljZSB9IGZyb20gXCIuL3pvbmUuc2VydmljZVwiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblNlcnZpY2Uge1xyXG5cclxuICAgIEFQSTogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSxcclxuICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBCYXNlVXNlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lU2VydmljZTogWm9uZVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZU5hdmlnYXRpb24obmF2SW5wdXQ6IE5hdmlnYXRpb24pOiBQcm9taXNlPE5hdmlnYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZU5hdmlnYXRpb24obmF2SW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZU5hdmlnYXRpb24oaWQ6IHN0cmluZyk6IFByb21pc2U8TmF2aWdhdGlvbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlTmF2aWdhdGlvbih7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE5hdmlnYXRpb25zRm9yTm9kZShub2RlSUQ6IHN0cmluZyk6IFByb21pc2U8TmF2aWdhdGlvbltdPiB7XHJcbiAgICAgICAgY29uc3QgbGltaXQgPSAyMDA7XHJcbiAgICAgICAgbGV0IG5hdmlnYXRpb25zVG9rZW5EaWN0ID0geyBuYXZpZ2F0aW9uczogW10sIG5leHRUb2tlbjogbnVsbCB9O1xyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgICAgbmF2aWdhdGlvbnNUb2tlbkRpY3QgPVxyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5tZXJnZUFQSVJlc3BvbnNlV2l0aE5leHRUb2tlbldpdGhMaW1pdChcclxuICAgICAgICAgICAgICAgICAgICBub2RlSUQsXHJcbiAgICAgICAgICAgICAgICAgICAgbGltaXQsXHJcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbnNUb2tlbkRpY3QsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH0gd2hpbGUgKG5hdmlnYXRpb25zVG9rZW5EaWN0Lm5leHRUb2tlbik7XHJcbiAgICAgICAgcmV0dXJuIG5hdmlnYXRpb25zVG9rZW5EaWN0Lm5hdmlnYXRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG1lcmdlQVBJUmVzcG9uc2VXaXRoTmV4dFRva2VuV2l0aExpbWl0KFxyXG4gICAgICAgIG5vZGVJRDogc3RyaW5nLFxyXG4gICAgICAgIGxpbWl0OiBudW1iZXIsXHJcbiAgICAgICAgbmF2aWdhdGlvbnNUb2tlbkRpY3Q6IHsgbmF2aWdhdGlvbnM6IE5hdmlnYXRpb25bXTsgbmV4dFRva2VuOiBzdHJpbmcgfCBudWxsOyB9LFxyXG4gICAgKTogUHJvbWlzZTx7IG5hdmlnYXRpb25zOiBOYXZpZ2F0aW9uW107IG5leHRUb2tlbjogc3RyaW5nIHwgbnVsbDsgfT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTmF2aWdhdGlvbnNCeU5vZGUoXHJcbiAgICAgICAgICAgIG5vZGVJRCxcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgbGltaXQsXHJcbiAgICAgICAgICAgIG5hdmlnYXRpb25zVG9rZW5EaWN0Lm5leHRUb2tlbiwgLy8gbmV4dFRva2VuXHJcbiAgICAgICAgKS50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuYXZpZ2F0aW9ucyA9IHJlc3BvbnNlLml0ZW1zO1xyXG4gICAgICAgICAgICBjb25zdCBuYXZPYmplY3QgPSB7XHJcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uczogWy4uLm5hdmlnYXRpb25zVG9rZW5EaWN0Lm5hdmlnYXRpb25zLCAuLi5uYXZpZ2F0aW9uc10sXHJcbiAgICAgICAgICAgICAgICBuZXh0VG9rZW46IHJlc3BvbnNlLm5leHRUb2tlbixcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgcmV0dXJuIG5hdk9iamVjdDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXROYXZpZ2F0aW9uKGlkOiBzdHJpbmcpOiBQcm9taXNlPE5hdmlnYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkdldE5hdmlnYXRpb24oaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldFN3ZWVwc0lEc0ZvclNwYWNlKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgICAgICBjb25zdCB6b25lcyA9IGF3YWl0IHRoaXMuem9uZVNlcnZpY2UuZ2V0Wm9uZXNCeVNwYWNlKHNwYWNlSUQpO1xyXG4gICAgICAgIGNvbnN0IHpvbmVzV2l0aFN3ZWVwcyA9IHpvbmVzLmZpbHRlcigoem9uZSkgPT4gem9uZS5zd2VlcElEcyAmJiB6b25lLnN3ZWVwSURzLmxlbmd0aCA+IDApO1xyXG4gICAgICAgIGNvbnN0IGFsbFN3ZWVwcyA9IHpvbmVzV2l0aFN3ZWVwcy5mbGF0TWFwKCh6b25lKSA9PiB6b25lLnN3ZWVwSURzKTtcclxuICAgICAgICByZXR1cm4gWy4uLm5ldyBTZXQoYWxsU3dlZXBzKV07XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0QWxsb3dlZFN3ZWVwc0lEc0ZvclVzZXJJblNwYWNlKFxyXG4gICAgICAgIHNwYWNlSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgICAgICBjb25zdCBtaXNzaW9uc0ZvclNwYWNlID0gdGhpcy51c2VyU2VydmljZS5jdXJyZW50TWlzc2lvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAobWlzKSA9PiBtaXMuc3BhY2VJRCA9PT0gc3BhY2VJRCxcclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCBuYXZJRHMgPSBbXTtcclxuICAgICAgICBpZiAodGhpcy51c2VyU2VydmljZS51c2VySGFzQWNjZXNzVG9BbGxab25lc0luU3BhY2Uoc3BhY2VJRCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3dlZXBzSURzRm9yU3BhY2Uoc3BhY2VJRCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICBtaXNzaW9uc0ZvclNwYWNlLm1hcChhc3luYyAobWlzc2lvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgbmF2SURzID0gWy4uLm5hdklEcywgLi4ubWlzc2lvbi56b25lLnN3ZWVwSURzXTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gbmF2SURzO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEZvcmJpZGRlbk5hdmlnYXRpb25JRHNGb3JVc2VySW5TcGFjZShcclxuICAgICAgICBzcGFjZUlEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICAgICAgY29uc3QgYWxsb3dlZCA9IGF3YWl0IHRoaXMuZ2V0QWxsb3dlZFN3ZWVwc0lEc0ZvclVzZXJJblNwYWNlKHNwYWNlSUQpO1xyXG4gICAgICAgIGNvbnN0IGFsbE5hdnMgPSBhd2FpdCB0aGlzLmdldFN3ZWVwc0lEc0ZvclNwYWNlKHNwYWNlSUQpO1xyXG4gICAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSBhbGxOYXZzLmZpbHRlcigoeCkgPT4gIWFsbG93ZWQuaW5jbHVkZXMoeCkpO1xyXG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlLmxlbmd0aCA+IDAgPyBkaWZmZXJlbmNlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXROYXZpZ2F0aW9uc0Zvck1hdHRlcnBvcnRJREZvclNwYWNlKFxyXG4gICAgICAgIG1hdHRlcnBvcnRJRDogc3RyaW5nLFxyXG4gICAgICAgIHNwYWNlSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8TmF2aWdhdGlvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5OYXZpZ2F0aW9uc0J5TWF0dGVycG9ydElEQnlTcGFjZShtYXR0ZXJwb3J0SUQsIHtcclxuICAgICAgICAgICAgZXE6IHNwYWNlSUQsXHJcbiAgICAgICAgfSkudGhlbigobmF2cykgPT4gbmF2cy5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TmF2aWdhdGlvbnNGb3Jab25lKHpvbmU6IFpvbmUpOiBQcm9taXNlPE5hdmlnYXRpb25bXT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlTmF2cyA9IFtdO1xyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICB6b25lLnN3ZWVwSURzLm1hcChhc3luYyAoc3dlZXBJRCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbmF2cyA9IGF3YWl0IHRoaXMuZ2V0TmF2aWdhdGlvbnNGb3JNYXR0ZXJwb3J0SURGb3JTcGFjZShcclxuICAgICAgICAgICAgICAgICAgICBzd2VlcElELFxyXG4gICAgICAgICAgICAgICAgICAgIHpvbmUuc3BhY2VJRCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBpZiAobmF2cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VOYXZzLnB1c2gobmF2c1swXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlTmF2cztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVOYXZpZ2F0aW9uKFxyXG4gICAgICAgIG5hdklucHV0OiBhbnksXHJcbiAgICApOiBQcm9taXNlPE5hdmlnYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZU5hdmlnYXRpb24obmF2SW5wdXQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
94
+ }] }, { type: i1.BaseUserService }, { type: i2.ZoneService }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU25ELE1BQU0sT0FBTyxpQkFBaUI7SUFLZDtJQUNBO0lBSlosR0FBRyxDQUFNO0lBRVQsWUFBeUMsV0FBZ0IsRUFDN0MsV0FBNEIsRUFDNUIsV0FBd0I7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsUUFBb0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFjO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLG9CQUFvQixHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDaEUsR0FBRyxDQUFDO1lBQ0Esb0JBQW9CO2dCQUNoQixNQUFNLElBQUksQ0FBQyxzQ0FBc0MsQ0FDN0MsTUFBTSxFQUNOLEtBQUssRUFDTCxvQkFBb0IsQ0FDdkIs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O29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS2dCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbiwgWm9uZSB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEJhc2VVc2VyU2VydmljZSB9IGZyb20gXCIuLi91c2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWm9uZVNlcnZpY2UgfSBmcm9tIFwiLi96b25lLnNlcnZpY2VcIjtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBBUEk6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnksXHJcbiAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogQmFzZVVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgem9uZVNlcnZpY2U6IFpvbmVTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5BUEkgPSBhcGlJbmplY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVOYXZpZ2F0aW9uKG5hdklucHV0OiBOYXZpZ2F0aW9uKTogUHJvbWlzZTxOYXZpZ2F0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVOYXZpZ2F0aW9uKG5hdklucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGVOYXZpZ2F0aW9uKGlkOiBzdHJpbmcpOiBQcm9taXNlPE5hdmlnYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZU5hdmlnYXRpb24oeyBpZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXROYXZpZ2F0aW9uc0Zvck5vZGUobm9kZUlEOiBzdHJpbmcpOiBQcm9taXNlPE5hdmlnYXRpb25bXT4ge1xyXG4gICAgICAgIGNvbnN0IGxpbWl0ID0gMjAwO1xyXG4gICAgICAgIGxldCBuYXZpZ2F0aW9uc1Rva2VuRGljdCA9IHsgbmF2aWdhdGlvbnM6IFtdLCBuZXh0VG9rZW46IG51bGwgfTtcclxuICAgICAgICBkbyB7XHJcbiAgICAgICAgICAgIG5hdmlnYXRpb25zVG9rZW5EaWN0ID1cclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubWVyZ2VBUElSZXNwb25zZVdpdGhOZXh0VG9rZW5XaXRoTGltaXQoXHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZUlELFxyXG4gICAgICAgICAgICAgICAgICAgIGxpbWl0LFxyXG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25zVG9rZW5EaWN0LFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9IHdoaWxlIChuYXZpZ2F0aW9uc1Rva2VuRGljdC5uZXh0VG9rZW4pO1xyXG4gICAgICAgIHJldHVybiBuYXZpZ2F0aW9uc1Rva2VuRGljdC5uYXZpZ2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBtZXJnZUFQSVJlc3BvbnNlV2l0aE5leHRUb2tlbldpdGhMaW1pdChcclxuICAgICAgICBub2RlSUQ6IHN0cmluZyxcclxuICAgICAgICBsaW1pdDogbnVtYmVyLFxyXG4gICAgICAgIG5hdmlnYXRpb25zVG9rZW5EaWN0OiB7IG5hdmlnYXRpb25zOiBOYXZpZ2F0aW9uW107IG5leHRUb2tlbjogc3RyaW5nIHwgbnVsbDsgfSxcclxuICAgICk6IFByb21pc2U8eyBuYXZpZ2F0aW9uczogTmF2aWdhdGlvbltdOyBuZXh0VG9rZW46IHN0cmluZyB8IG51bGw7IH0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk5hdmlnYXRpb25zQnlOb2RlKFxyXG4gICAgICAgICAgICBub2RlSUQsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIGxpbWl0LFxyXG4gICAgICAgICAgICBuYXZpZ2F0aW9uc1Rva2VuRGljdC5uZXh0VG9rZW4sIC8vIG5leHRUb2tlblxyXG4gICAgICAgICkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbnMgPSByZXNwb25zZS5pdGVtcztcclxuICAgICAgICAgICAgY29uc3QgbmF2T2JqZWN0ID0ge1xyXG4gICAgICAgICAgICAgICAgbmF2aWdhdGlvbnM6IFsuLi5uYXZpZ2F0aW9uc1Rva2VuRGljdC5uYXZpZ2F0aW9ucywgLi4ubmF2aWdhdGlvbnNdLFxyXG4gICAgICAgICAgICAgICAgbmV4dFRva2VuOiByZXNwb25zZS5uZXh0VG9rZW4sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHJldHVybiBuYXZPYmplY3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TmF2aWdhdGlvbihpZDogc3RyaW5nKTogUHJvbWlzZTxOYXZpZ2F0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXROYXZpZ2F0aW9uKGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRTd2VlcHNJRHNGb3JTcGFjZShzcGFjZUlEOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICAgICAgY29uc3Qgem9uZXMgPSBhd2FpdCB0aGlzLnpvbmVTZXJ2aWNlLmdldFpvbmVzQnlTcGFjZShzcGFjZUlEKTtcclxuICAgICAgICBjb25zdCB6b25lc1dpdGhTd2VlcHMgPSB6b25lcy5maWx0ZXIoKHpvbmUpID0+IHpvbmUuc3dlZXBJRHMgJiYgem9uZS5zd2VlcElEcy5sZW5ndGggPiAwKTtcclxuICAgICAgICBjb25zdCBhbGxTd2VlcHMgPSB6b25lc1dpdGhTd2VlcHMuZmxhdE1hcCgoem9uZSkgPT4gem9uZS5zd2VlcElEcyk7XHJcbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgU2V0KGFsbFN3ZWVwcyldO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEFsbG93ZWRTd2VlcHNJRHNGb3JVc2VySW5TcGFjZShcclxuICAgICAgICBzcGFjZUlEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICAgICAgY29uc3QgbWlzc2lvbnNGb3JTcGFjZSA9IHRoaXMudXNlclNlcnZpY2UuY3VycmVudE1pc3Npb25zLmZpbHRlcihcclxuICAgICAgICAgICAgKG1pcykgPT4gbWlzLnNwYWNlSUQgPT09IHNwYWNlSUQsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBsZXQgbmF2SURzID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMudXNlclNlcnZpY2UudXNlckhhc0FjY2Vzc1RvQWxsWm9uZXNJblNwYWNlKHNwYWNlSUQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFN3ZWVwc0lEc0ZvclNwYWNlKHNwYWNlSUQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgbWlzc2lvbnNGb3JTcGFjZS5tYXAoYXN5bmMgKG1pc3Npb24pID0+IHtcclxuICAgICAgICAgICAgICAgIG5hdklEcyA9IFsuLi5uYXZJRHMsIC4uLm1pc3Npb24uem9uZS5zd2VlcElEc107XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIG5hdklEcztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRGb3JiaWRkZW5OYXZpZ2F0aW9uSURzRm9yVXNlckluU3BhY2UoXHJcbiAgICAgICAgc3BhY2VJRDogc3RyaW5nLFxyXG4gICAgKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gICAgICAgIGNvbnN0IGFsbG93ZWQgPSBhd2FpdCB0aGlzLmdldEFsbG93ZWRTd2VlcHNJRHNGb3JVc2VySW5TcGFjZShzcGFjZUlEKTtcclxuICAgICAgICBjb25zdCBhbGxOYXZzID0gYXdhaXQgdGhpcy5nZXRTd2VlcHNJRHNGb3JTcGFjZShzcGFjZUlEKTtcclxuICAgICAgICBjb25zdCBkaWZmZXJlbmNlID0gYWxsTmF2cy5maWx0ZXIoKHgpID0+ICFhbGxvd2VkLmluY2x1ZGVzKHgpKTtcclxuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZS5sZW5ndGggPiAwID8gZGlmZmVyZW5jZSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0TmF2aWdhdGlvbnNGb3JNYXR0ZXJwb3J0SURGb3JTcGFjZShcclxuICAgICAgICBtYXR0ZXJwb3J0SUQ6IHN0cmluZyxcclxuICAgICAgICBzcGFjZUlEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPE5hdmlnYXRpb25bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTmF2aWdhdGlvbnNCeU1hdHRlcnBvcnRJREJ5U3BhY2UobWF0dGVycG9ydElELCB7XHJcbiAgICAgICAgICAgIGVxOiBzcGFjZUlELFxyXG4gICAgICAgIH0pLnRoZW4oKG5hdnMpID0+IG5hdnMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE5hdmlnYXRpb25zRm9yWm9uZSh6b25lOiBab25lKTogUHJvbWlzZTxOYXZpZ2F0aW9uW10+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZU5hdnMgPSBbXTtcclxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgem9uZS5zd2VlcElEcy5tYXAoYXN5bmMgKHN3ZWVwSUQpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5hdnMgPSBhd2FpdCB0aGlzLmdldE5hdmlnYXRpb25zRm9yTWF0dGVycG9ydElERm9yU3BhY2UoXHJcbiAgICAgICAgICAgICAgICAgICAgc3dlZXBJRCxcclxuICAgICAgICAgICAgICAgICAgICB6b25lLnNwYWNlSUQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgaWYgKG5hdnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlTmF2cy5wdXNoKG5hdnNbMF0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZU5hdnM7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdXBkYXRlTmF2aWdhdGlvbihcclxuICAgICAgICBuYXZJbnB1dDogYW55LFxyXG4gICAgKTogUHJvbWlzZTxOYXZpZ2F0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVOYXZpZ2F0aW9uKG5hdklucHV0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Inject, Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
- class NodeService {
3
+ export class NodeService {
4
4
  API;
5
5
  constructor(apiInjected) {
6
6
  this.API = apiInjected;
@@ -17,17 +17,16 @@ class NodeService {
17
17
  async createNode(input) {
18
18
  return this.API.__proto__.CreateNode(input);
19
19
  }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
21
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeService, providedIn: "root" });
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeService, providedIn: "root" });
22
22
  }
23
- export { NodeService };
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeService, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeService, decorators: [{
25
24
  type: Injectable,
26
25
  args: [{
27
26
  providedIn: "root",
28
27
  }]
29
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
28
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
30
29
  type: Inject,
31
30
  args: ['currentAPIService']
32
- }] }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvbm9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUdhLFdBQVc7SUFDcEIsR0FBRyxDQUFNO0lBRVQsWUFBeUMsV0FBZ0I7UUFDckQsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0FyQlEsV0FBVyxrQkFHQSxtQkFBbUI7NEdBSDlCLFdBQVcsY0FGUixNQUFNOztTQUVULFdBQVc7NEZBQVgsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlnQixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb2RlU2VydmljZSB7XHJcbiAgICBBUEk6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZU5vZGUoaW5wdXQ6IGFueSk6IFByb21pc2U8Tm9kZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlTm9kZShpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlTm9kZShpZDogc3RyaW5nKTogUHJvbWlzZTxOb2RlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVOb2RlKHsgaWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0Tm9kZShpZDogc3RyaW5nKTogUHJvbWlzZTxOb2RlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXROb2RlKGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVOb2RlKGlucHV0OiBOb2RlKTogUHJvbWlzZTxOb2RlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVOb2RlKGlucHV0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
31
+ }] }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvbm9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1uRCxNQUFNLE9BQU8sV0FBVztJQUNwQixHQUFHLENBQU07SUFFVCxZQUF5QyxXQUFnQjtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO3dHQXJCUSxXQUFXLGtCQUdBLG1CQUFtQjs0R0FIOUIsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOb2RlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm9kZVNlcnZpY2Uge1xyXG4gICAgQVBJOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdCgnY3VycmVudEFQSVNlcnZpY2UnKSBhcGlJbmplY3RlZDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5BUEkgPSBhcGlJbmplY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVOb2RlKGlucHV0OiBhbnkpOiBQcm9taXNlPE5vZGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZU5vZGUoaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZU5vZGUoaWQ6IHN0cmluZyk6IFByb21pc2U8Tm9kZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlTm9kZSh7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE5vZGUoaWQ6IHN0cmluZyk6IFByb21pc2U8Tm9kZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uR2V0Tm9kZShpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlTm9kZShpbnB1dDogTm9kZSk6IFByb21pc2U8Tm9kZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQ3JlYXRlTm9kZShpbnB1dCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -6,7 +6,7 @@ import * as i1 from "../user.service";
6
6
  import * as i2 from "../navigator.service";
7
7
  import * as i3 from "../zoneChange.service";
8
8
  import * as i4 from "../filter.service";
9
- class Object3DService {
9
+ export class Object3DService {
10
10
  userService;
11
11
  navigatorService;
12
12
  zoneChangeService;
@@ -358,17 +358,16 @@ class Object3DService {
358
358
  }
359
359
  return receivedObject3D;
360
360
  }
361
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Object3DService, deps: [{ token: 'currentAPIService' }, { token: i1.BaseUserService }, { token: i2.NavigatorService }, { token: i3.ZoneChangeService }, { token: i4.FilterService }], target: i0.ɵɵFactoryTarget.Injectable });
362
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Object3DService, providedIn: "root" });
361
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Object3DService, deps: [{ token: 'currentAPIService' }, { token: i1.BaseUserService }, { token: i2.NavigatorService }, { token: i3.ZoneChangeService }, { token: i4.FilterService }], target: i0.ɵɵFactoryTarget.Injectable });
362
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Object3DService, providedIn: "root" });
363
363
  }
364
- export { Object3DService };
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Object3DService, decorators: [{
364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Object3DService, decorators: [{
366
365
  type: Injectable,
367
366
  args: [{
368
367
  providedIn: "root",
369
368
  }]
370
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
369
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
371
370
  type: Inject,
372
371
  args: ['currentAPIService']
373
- }] }, { type: i1.BaseUserService }, { type: i2.NavigatorService }, { type: i3.ZoneChangeService }, { type: i4.FilterService }]; } });
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0M0Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL29iamVjdDNELnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU03QixNQUdhLGVBQWU7SUF3RE47SUFDQTtJQUNBO0lBQ0E7SUExRHBCLEdBQUcsQ0FBTSxDQUFDLGdCQUFnQjtJQUUxQixnQkFBZ0IsR0FHWCxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRW5CLGdCQUFnQixHQUlaO1FBQ0YsS0FBSyxFQUFFLEVBQUU7UUFDVCxJQUFJLEVBQUUsRUFBRTtLQUNULENBQUM7SUFFRixZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2Qix1Q0FBdUM7SUFDdkMsUUFBUTtJQUNSLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsS0FBSztJQUVMLFVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU3QyxZQUFZLENBQVM7SUFFckIsV0FBVyxDQUFPO0lBRWxCLGNBQWMsQ0FBUTtJQUV0QixnR0FBZ0c7SUFDaEcsb0JBQW9CLEdBQWEsSUFBSSxDQUFDO0lBRXRDLFFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUUzQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFFMUIsZ0JBQWdCLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7SUFFcEQsZ0JBQWdCLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7SUFFcEQsZ0JBQWdCLEdBQXNCLElBQUksT0FBTyxFQUFFLENBQUM7SUFFcEQsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVyQixV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QUFVO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWtCO1FBQ3BDLHFCQUFxQjtRQUNyQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLHVCQUF1QixDQUMzQixRQUFxQyxFQUNyQyxLQUFhO1FBRWIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsSUFBSSxnQkFBZ0IsRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlCLHVDQUF1QztZQUN2QyxlQUFlO1lBQ2YsNERBQTREO1lBQzVELElBQUk7WUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQzt3R0FyWlUsZUFBZSxrQkF1RE4sbUJBQW1COzRHQXZENUIsZUFBZSxjQUZkLE1BQU07O1NBRVAsZUFBZTs0RkFBZixlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBd0RjLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2xhc3MtbWV0aG9kcy11c2UtdGhpcyAqL1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtFdmVudCwgSVVwZGF0ZSwgT2JqZWN0M0QsIFpvbmV9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtCYXNlVXNlclNlcnZpY2V9IGZyb20gXCIuLi91c2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOYXZpZ2F0b3JTZXJ2aWNlfSBmcm9tIFwiLi4vbmF2aWdhdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGaWx0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtab25lQ2hhbmdlU2VydmljZX0gZnJvbSBcIi4uL3pvbmVDaGFuZ2Uuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2JqZWN0M0RTZXJ2aWNlIHtcclxuICBBUEk6IGFueTsgLy9BV1MgQVBJU2VydmljZVxyXG5cclxuICBvYmplY3RzM0RVcGRhdGVkOiBTdWJqZWN0PHtcclxuICAgIHNwYWNlOiBPYmplY3QzRFtdO1xyXG4gICAgem9uZTogT2JqZWN0M0RbXTtcclxuICB9PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGN1cnJlbnRPYmplY3RzM0Q6IHtcclxuICAgIHNwYWNlOiBPYmplY3QzRFtdO1xyXG4gICAgem9uZTogT2JqZWN0M0RbXVxyXG4gIH1cclxuICAgID0ge1xyXG4gICAgc3BhY2U6IFtdLFxyXG4gICAgem9uZTogW11cclxuICB9O1xyXG5cclxuICAvLyBiYWQgbmFtZSFcclxuICAvLyBjdXJyZW50T2JqZWN0czNEOiB7XHJcbiAgLy8gICBzcGFjZTogT2JqZWN0M0RbXTtcclxuICAvLyAgIHpvbmVzTWFwOiBNYXA8c3RyaW5nLCBPYmplY3QzRFtdPjtcclxuICAvLyB9ID0ge1xyXG4gIC8vICAgc3BhY2U6IFtdLFxyXG4gIC8vICAgem9uZXNNYXA6IG5ldyBNYXAoKSxcclxuICAvLyB9O1xyXG5cclxuICB1cGRhdGVEb25lOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgem9uZUlERmlsdGVyOiBzdHJpbmc7XHJcblxyXG4gIGN1cnJlbnRab25lOiBab25lO1xyXG5cclxuICBjdXJyZW50U3BhY2VJRDogc3RyaW5nXHJcblxyXG4gIC8qKiBOdWxsIG1lYW5zIHdlIGRvIG5vdCBhcHBseSBhIGZpbHRlciwgZW1wdHkgYXJyYXkgKFtdKSwgbWVhbnMgd2UgdGhhdCB3ZSBoaWRlIGFsbCBvYmplY3QzRCAqL1xyXG4gIG9iamVjdDNERG9tYWluRmlsdGVyOiBzdHJpbmdbXSA9IG51bGw7XHJcblxyXG4gIHVwZGF0aW5nOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY3VycmVudGx5VXBkYXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgZGVsZXRlT2JzZXJ2YWJsZTogU3ViamVjdDxPYmplY3QzRD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjcmVhdGVPYnNlcnZhYmxlOiBTdWJqZWN0PE9iamVjdDNEPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHVwZGF0ZU9ic2VydmFibGU6IFN1YmplY3Q8T2JqZWN0M0Q+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgaXNNdXNldW1Vc2VyID0gZmFsc2U7XHJcblxyXG4gIGlzVXBkYXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0ZWRPYmplY3QzRDogYW55OyAvLyBzZWxlY3RlZCBmcm9tIHNwcml0ZSBjYXJyb3VzZWwgdmlld2VyIChsaWIgb2Ygb2JqZWN0czNEKVxyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnksXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogQmFzZVVzZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbmF2aWdhdG9yU2VydmljZTogTmF2aWdhdG9yU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHpvbmVDaGFuZ2VTZXJ2aWNlOiBab25lQ2hhbmdlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UpIHtcclxuICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICAvLyB0aGlzLmlzTXVzZXVtVXNlciA9IHRoaXMudXNlclNlcnZpY2UuaGFzT25seU11c2V1bVJvbGUoKTsgLy8gTm90IHVzZWQgeWV0IVxyXG5cclxuICAgIHRoaXMub2JqZWN0czNEVXBkYXRlZC5zdWJzY3JpYmUoKGxpc3QpID0+IHtcclxuICAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNEID0gbGlzdDtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuem9uZUNoYW5nZVNlcnZpY2Uuem9uZUNoYW5nZS5zdWJzY3JpYmUoKHpvbmUpID0+IHtcclxuICAgICAgdGhpcy5jdXJyZW50U3BhY2VJRCA9IHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50U3BhY2VJRDtcclxuICAgICAgaWYgKCF0aGlzLmN1cnJlbnRTcGFjZUlEKSB7XHJcbiAgICAgICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLm5leHQoe3NwYWNlOiBbXSwgem9uZTogbnVsbH0pO1xyXG4gICAgICAgIHRoaXMuem9uZUlERmlsdGVyID0gbnVsbDtcclxuICAgICAgfSBlbHNlIGlmICh6b25lLmlkICE9PSB0aGlzLnpvbmVJREZpbHRlciAmJiAhdGhpcy51c2VyU2VydmljZS5pc011c2V1bVVzZXIodGhpcy5jdXJyZW50U3BhY2VJRCkpIHtcclxuICAgICAgICB0aGlzLnpvbmVJREZpbHRlciA9IHpvbmUuaWQ7XHJcbiAgICAgICAgdGhpcy5pbml0T2JqZWN0czNEKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlRG9uZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50U3BhY2VJRCkge1xyXG4gICAgICAgICAgdGhpcy5pbml0T2JqZWN0czNEKCkuY2F0Y2goZSA9PiBjb25zb2xlLmxvZyhlKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0T2JqZWN0czNEQnlTcGFjZShzcGFjZUlEOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PE9iamVjdDNEPj4ge1xyXG4gICAgY29uc3QgbGlzdDogT2JqZWN0M0RbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuQVBJLl9fcHJvdG9fXy5oYXNPd25Qcm9wZXJ0eSgnT2JqZWN0czNEQnlTcGFjZScpKSB7XHJcbiAgICAgIGNvbnN0IG9iamVjdHMgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uT2JqZWN0czNEQnlTcGFjZShzcGFjZUlEKTtcclxuICAgICAgaWYgKG9iamVjdHMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IG9iamVjdCBvZiBvYmplY3RzLml0ZW1zKSB7XHJcbiAgICAgICAgICBjb25zdCB6b25lT2JqZWN0ID0gey4uLm9iamVjdH0gYXMgT2JqZWN0M0Q7XHJcbiAgICAgICAgICBsaXN0LnB1c2goem9uZU9iamVjdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBsaXN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvYmplY3RzM0RCeVNwYWNlIG5vdCBpbXBsZW1lbnRlZCcpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRPYmplY3RzM0QoKSB7XHJcbiAgICBpZiAoIXRoaXMuY3VycmVudFNwYWNlSUQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGluZy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5pc1VwZGF0aW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IG9iamVjdDNETGlzdCA9IGF3YWl0IHRoaXMuZ2V0T2JqZWN0czNEQnlTcGFjZSh0aGlzLmN1cnJlbnRTcGFjZUlEKTtcclxuXHJcbiAgICBpZiAob2JqZWN0M0RMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGZpbHRlcmVkT2JqZWN0czNEID0gWy4uLm9iamVjdDNETGlzdF07XHJcbiAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lID0gZmlsdGVyZWRPYmplY3RzM0Q7IC8vIG5vdCBzb3J0ZWQhXHJcblxyXG4gICAgICBmaWx0ZXJlZE9iamVjdHMzRCA9XHJcbiAgICAgICAgYXdhaXQgdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlck9iamVjdHNGb3JDdXJyZW50VXNlckluU3BhY2UoXHJcbiAgICAgICAgICBmaWx0ZXJlZE9iamVjdHMzRCxcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNwYWNlSURcclxuICAgICAgICApO1xyXG4gICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UgPSBmaWx0ZXJlZE9iamVjdHMzRDtcclxuICAgICAgaWYgKHRoaXMuem9uZUlERmlsdGVyKSB7XHJcbiAgICAgICAgZmlsdGVyZWRPYmplY3RzM0QgPSBhd2FpdCB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyT2JqZWN0c0ZvclpvbmUoXHJcbiAgICAgICAgICBmaWx0ZXJlZE9iamVjdHMzRCxcclxuICAgICAgICAgIHRoaXMuem9uZUlERmlsdGVyXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZSA9IGZpbHRlcmVkT2JqZWN0czNEO1xyXG4gICAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh0aGlzLmN1cnJlbnRPYmplY3RzM0QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLm5leHQoe3NwYWNlOiBbXSwgem9uZTogW119KTsgLy8gZm9yIGxhdGVyYWwgbWVudVxyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGluZy5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuaXNVcGRhdGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRPYmplY3QzRCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPYmplY3QzRDtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkT2JqZWN0M0Qoc2VsZWN0ZWQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZE9iamVjdDNEID0gc2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gVEhFIEZPTExPV0lORyBMT0dJQyBJUyBFUVVJUC4gU1BFQ0lGSUNcclxuICAvLyBpbml0U3Vic2NyaXB0aW9ucygpIHtcclxuICAvLyAgIGlmICghdGhpcy5pc011c2V1bVVzZXIpIHtcclxuICAvLyAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLnpvbmVDaGFuZ2VcclxuICAvLyAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLy8gICAgICAgLnN1YnNjcmliZSgoem9uZSkgPT4ge1xyXG4gIC8vICAgICAgICAgaWYgKCF6b25lIHx8ICF0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudFNwYWNlSUQpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5jdXJyZW50U3BhY2VJRCA9IHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50U3BhY2VJRDtcclxuICAvLyAgICAgICAgICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLm5leHQoe3NwYWNlOiBbXSwgem9uZTogbnVsbH0pO1xyXG4gIC8vICAgICAgICAgICB0aGlzLnpvbmVJREZpbHRlciA9IG51bGw7XHJcbiAgLy8gICAgICAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRCA9IHtcclxuICAvLyAgICAgICAgICAgICBzcGFjZTogW10sXHJcbiAgLy8gICAgICAgICAgICAgem9uZXNNYXA6IG5ldyBNYXAoKSxcclxuICAvLyAgICAgICAgICAgfTtcclxuICAvLyAgICAgICAgICAgcmV0dXJuO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgaWYgKHpvbmUuaWQgIT09IHRoaXMuem9uZUlERmlsdGVyKSB7XHJcbiAgLy8gICAgICAgICAgIHRoaXMuem9uZUlERmlsdGVyID0gem9uZS5pZDtcclxuICAvLyAgICAgICAgICAgdGhpcy5jdXJyZW50Wm9uZSA9IHpvbmU7XHJcbiAgLy8gICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRTcGFjZUlEID09PSB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudFNwYWNlSUQpIHtcclxuICAvLyAgICAgICAgICAgICAvLyBzYW1lIHNwYWNlLCAgb25seSB6b25lIHVwZGF0ZVxyXG4gIC8vICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFxyXG4gIC8vICAgICAgICAgICAgIC8vICAgICBcImdvaW5nIHRvIHVwZGF0ZSBlcXVpcHMgZm9yIHpvbmUgKHNhbWUgc3BhY2UpXCIsXHJcbiAgLy8gICAgICAgICAgICAgLy8gICAgIHpvbmUsXHJcbiAgLy8gICAgICAgICAgICAgLy8gKTtcclxuICAvL1xyXG4gIC8vICAgICAgICAgICAgIHRoaXMudXBkYXRlT2JqZWN0czNERm9yWm9uZSgpO1xyXG4gIC8vICAgICAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgICAgIHRoaXMuY3VycmVudFNwYWNlSUQgPSB0aGlzLm5hdmlnYXRvclNlcnZpY2UuY3VycmVudFNwYWNlSUQ7XHJcbiAgLy8gICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXHJcbiAgLy8gICAgICAgICAgICAgLy8gICAgIFwiZ29pbmcgdG8gaW5pdCBlcXVpcHMgZm9yIHpvbmUgZm9yIG5ldyBzcGFjZVwiLFxyXG4gIC8vICAgICAgICAgICAgIC8vICAgICB0aGlzLmN1cnJlbnRTcGFjZUlELFxyXG4gIC8vICAgICAgICAgICAgIC8vICk7XHJcbiAgLy8gICAgICAgICAgICAgdGhpcy5pbml0T2JqZWN0czNEKCkuY2F0Y2goZSA9PiBjb25zb2xlLmxvZyhlKSk7XHJcbiAgLy8gICAgICAgICAgIH1cclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9KTtcclxuICAvL1xyXG4gIC8vICAgICB0aGlzLmRlbGV0ZU9ic2VydmFibGVcclxuICAvLyAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLy8gICAgICAgLnN1YnNjcmliZSgob2JqZWN0M0QpID0+IHtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRTcGFjZUlEKSB7XHJcbiAgLy8gICAgICAgICAgIHRoaXMudXBkYXRlRHVlVG9EZWxldGUob2JqZWN0M0QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vXHJcbiAgLy8gICAgIHRoaXMuY3JlYXRlT2JzZXJ2YWJsZVxyXG4gIC8vICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAvLyAgICAgICAuc3Vic2NyaWJlKChvYmplY3QzRCkgPT4ge1xyXG4gIC8vICAgICAgICAgaWYgKHRoaXMuY3VycmVudFNwYWNlSUQpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy51cGRhdGVEdWVUb0NyZWF0ZShvYmplY3QzRCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSk7XHJcbiAgLy9cclxuICAvLyAgICAgdGhpcy51cGRhdGVPYnNlcnZhYmxlXHJcbiAgLy8gICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC8vICAgICAgIC5zdWJzY3JpYmUoKG9iamVjdDNEKSA9PiB7XHJcbiAgLy8gICAgICAgICBpZiAodGhpcy5jdXJyZW50U3BhY2VJRCkge1xyXG4gIC8vICAgICAgICAgICB0aGlzLnVwZGF0ZUR1ZVRvT2JqZWN0M0RVcGRhdGVkKG9iamVjdDNEKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9KTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIHVwZGF0ZUR1ZVRvRGVsZXRlKGRlbGV0ZWRPYmplY3QzRDogT2JqZWN0M0QpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwidXBkYXRlIGR1ZSB0byBkZWxldGVcIiwgZGVsZXRlZE9iamVjdDNEKTtcclxuICAgIGNvbnN0IG9iaiA9IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5maW5kKFxyXG4gICAgICAoX2VxdWlwKSA9PiBfZXF1aXAuaWQgPT09IGRlbGV0ZWRPYmplY3QzRC5pZFxyXG4gICAgKTtcclxuICAgIGlmIChvYmopIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UuaW5kZXhPZihvYmopO1xyXG4gICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2Uuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIC8vIFRIRSBGT0xMT1dJTkcgTE9HSUMgSVMgRVFVSVAuIFNQRUNJRklDXHJcbiAgICAvLyBmb3IgKGNvbnN0IHpvbmUgb2YgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmtleXMoKSkge1xyXG4gICAgLy8gICBjb25zdCBlcXVpcFRvRGVsZXRlID0gdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwXHJcbiAgICAvLyAgICAgLmdldCh6b25lKVxyXG4gICAgLy8gICAgIC5maW5kKChfZXF1aXApID0+IF9lcXVpcC5pZCA9PT0gZGVsZXRlZE9iamVjdDNELmlkKTtcclxuICAgIC8vICAgaWYgKGVxdWlwVG9EZWxldGUpIHtcclxuICAgIC8vICAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcFxyXG4gICAgLy8gICAgICAgLmdldCh6b25lKVxyXG4gICAgLy8gICAgICAgLmluZGV4T2YoZXF1aXBUb0RlbGV0ZSk7XHJcbiAgICAvLyAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmdldCh6b25lKS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7XHJcbiAgICAgIHNwYWNlOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UsXHJcbiAgICAgIHpvbmU6IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lLFxyXG4gICAgICAvLyBUSEUgRk9MTE9XSU5HIExPR0lDIElTIEVRVUlQLiBTUEVDSUZJQ1xyXG4gICAgICAvLyB6b25lOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAuZ2V0KHRoaXMuem9uZUlERmlsdGVyKSxcclxuICAgIH0pOyAvLyBmb3IgbGF0ZXJhbCBtZW51XHJcbiAgfVxyXG5cclxuICB1cGRhdGVEdWVUb0NyZWF0ZShjcmVhdGVkT2JqM0Q6IE9iamVjdDNEKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UudW5zaGlmdChjcmVhdGVkT2JqM0QpO1xyXG4gICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmUudW5zaGlmdChjcmVhdGVkT2JqM0QpO1xyXG5cclxuICAgIC8vIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcFxyXG4gICAgLy8gICAuZ2V0KHRoaXMuem9uZUlERmlsdGVyKVxyXG4gICAgLy8gICAudW5zaGlmdChjcmVhdGVkRXF1aXApO1xyXG4gICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLm5leHQoe1xyXG4gICAgICBzcGFjZTogdGhpcy5jdXJyZW50T2JqZWN0czNELnNwYWNlLFxyXG4gICAgICB6b25lOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZSxcclxuICAgICAgLy8gVEhFIEZPTExPV0lORyBMT0dJQyBJUyBFUVVJUC4gU1BFQ0lGSUNcclxuICAgICAgLy8gem9uZTogdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmdldCh0aGlzLnpvbmVJREZpbHRlciksXHJcbiAgICB9KTsgLy8gZm9yIGxhdGVyYWwgbWVudVxyXG4gIH1cclxuXHJcbiAgLy8gVEhFIEZPTExPV0lORyBMT0dJQyBJUyBFUVVJUC4gU1BFQ0lGSUNcclxuICAvLyBOb3QgaW1wbGVtZW50ZWQgc2luY2Ugbm90IHVzZWQgeWV0IVxyXG4gIC8vIHVwZGF0ZUR1ZVRvT2JqZWN0M0RVcGRhdGVkKHVwZGF0ZWRPYmplY3QzRDogT2JqZWN0M0QpIHtcclxuICAvLyAgIGNvbnN0IG9iaiA9IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5maW5kKFxyXG4gIC8vICAgICAoX2VxdWlwKSA9PiBfZXF1aXAuaWQgPT09IHVwZGF0ZWRPYmplY3QzRC5pZFxyXG4gIC8vICAgKTtcclxuICAvLyAgIGlmIChvYmopIHtcclxuICAvLyAgICAgY29uc3QgaW5kZXggPSB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UuaW5kZXhPZihvYmopO1xyXG4gIC8vICAgICAvLyBOb3QgdXNlZCB5ZXQhXHJcbiAgLy8gICAgIC8vIGlmICh0aGlzLmlzQXJjaGl2ZWQob2JqKSkge1xyXG4gIC8vICAgICAvLyAgIC8vIHdlIHJlbW92ZSBhcmNoaXZlZCBlcXVpcG1lbnRcclxuICAvLyAgICAgLy8gICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2Uuc3BsaWNlKGluZGV4LCAxKTtcclxuICAvLyAgICAgLy8gfSBlbHNlIHtcclxuICAvLyAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnNwYWNlLnNwbGljZShpbmRleCwgMSwgdXBkYXRlZE9iamVjdDNEKTtcclxuICAvLyAgICAgLy8gfVxyXG4gIC8vICAgfVxyXG4gIC8vICAgZm9yIChjb25zdCB6b25lIG9mIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcC5rZXlzKCkpIHtcclxuICAvLyAgICAgY29uc3QgZXF1aXBUb1VwZCA9IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcFxyXG4gIC8vICAgICAgIC5nZXQoem9uZSlcclxuICAvLyAgICAgICAuZmluZCgoX2VxdWlwKSA9PiBfZXF1aXAuaWQgPT09IHVwZGF0ZWRPYmplY3QzRC5pZCk7XHJcbiAgLy8gICAgIGlmIChlcXVpcFRvVXBkKSB7XHJcbiAgLy8gICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXBcclxuICAvLyAgICAgICAgIC5nZXQoem9uZSlcclxuICAvLyAgICAgICAgIC5pbmRleE9mKGVxdWlwVG9VcGQpO1xyXG4gIC8vICAgICAgIC8vIE5vdCB1c2VkIHlldCFcclxuICAvLyAgICAgICAvLyBpZiAodGhpcy5pc0FyY2hpdmVkKG9iaikpIHtcclxuICAvLyAgICAgICAvLyAgIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcC5nZXQoem9uZSkuc3BsaWNlKGluZGV4LCAxKTtcclxuICAvLyAgICAgICAvLyB9IGVsc2Uge1xyXG4gIC8vICAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcFxyXG4gIC8vICAgICAgICAgLmdldCh6b25lKVxyXG4gIC8vICAgICAgICAgLnNwbGljZShpbmRleCwgMSwgdXBkYXRlZE9iamVjdDNEKTtcclxuICAvLyAgICAgICAvLyB9XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIHRoaXMub2JqZWN0czNEVXBkYXRlZC5uZXh0KHtcclxuICAvLyAgICAgc3BhY2U6IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZSxcclxuICAvLyAgICAgem9uZTogdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmdldCh0aGlzLnpvbmVJREZpbHRlciksXHJcbiAgLy8gICB9KTsgLy8gZm9yIGxhdGVyYWwgbWVudVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gVEhFIEZPTExPV0lORyBMT0dJQyBJUyBFUVVJUC4gU1BFQ0lGSUNcclxuICAvLyBOb3QgaW1wbGVtZW50ZWQgc2luY2Ugbm90IHVzZWQgeWV0IVxyXG4gIC8vIGFzeW5jIHVwZGF0ZU9iamVjdHMzREZvclpvbmUoKSB7XHJcbiAgLy8gICB0aGlzLnVwZGF0aW5nLm5leHQodHJ1ZSk7XHJcbiAgLy8gICBsZXQgZmlsdGVyZWRPYmplY3RzM0Q6IE9iamVjdDNEW10gPSBbXTtcclxuICAvLyAgIGlmICh0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UubGVuZ3RoID4gMCkge1xyXG4gIC8vICAgICBpZiAoXHJcbiAgLy8gICAgICAgdGhpcy56b25lSURGaWx0ZXIgJiZcclxuICAvLyAgICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAuaGFzKHRoaXMuem9uZUlERmlsdGVyKVxyXG4gIC8vICAgICApIHtcclxuICAvLyAgICAgICBmaWx0ZXJlZE9iamVjdHMzRCA9IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcC5nZXQodGhpcy56b25lSURGaWx0ZXIpO1xyXG4gIC8vICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgIGZpbHRlcmVkT2JqZWN0czNEID0gKGF3YWl0IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXJPYmplY3RzRm9yWm9uZShcclxuICAvLyAgICAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZSxcclxuICAvLyAgICAgICAgIHRoaXMuem9uZUlERmlsdGVyLFxyXG4gIC8vICAgICAgICAgdGhpcy5jdXJyZW50Wm9uZVxyXG4gIC8vICAgICAgICkpIGFzIE9iamVjdDNEW107XHJcbiAgLy9cclxuICAvLyAgICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAuc2V0KHRoaXMuem9uZUlERmlsdGVyLCBbXHJcbiAgLy8gICAgICAgICAuLi5maWx0ZXJlZE9iamVjdHMzRCxcclxuICAvLyAgICAgICBdKTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICAvLyBOb3QgaW1wbGVtZW50ZWQgeWV0IVxyXG4gIC8vICAgICAvLyBpZiAodGhpcy5vYmplY3QzRERvbWFpbkZpbHRlcikge1xyXG4gIC8vICAgICAvLyAgIGZpbHRlcmVkT2JqZWN0czNEID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlck9iamVjdHMzREJ5RG9tYWluTGlzdChcclxuICAvLyAgICAgLy8gICAgIGZpbHRlcmVkT2JqZWN0czNELFxyXG4gIC8vICAgICAvLyAgICAgdGhpcy5vYmplY3QzRERvbWFpbkZpbHRlclxyXG4gIC8vICAgICAvLyAgICk7XHJcbiAgLy8gICAgIC8vIH1cclxuICAvLyAgICAgLy8gTm90IHVzZWQgZm9yIG9iamVjdHMgbm93IVxyXG4gIC8vICAgICAvLyB0aGlzLm9iamVjdHMzRFRhZ3MubmV4dChmaWx0ZXJlZE9iamVjdHMzRCk7IC8vIGFkZGluZyB0YWdzIG9ubHkgZm9yIHRoZSBjdXJyZW50IHpvbmVcclxuICAvLyAgICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLm5leHQoe1xyXG4gIC8vICAgICAgIHNwYWNlOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UsXHJcbiAgLy8gICAgICAgem9uZTogZmlsdGVyZWRPYmplY3RzM0QsXHJcbiAgLy8gICAgIH0pOyAvLyBmb3IgbGF0ZXJhbCBtZW51XHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7c3BhY2U6IFtdLCB6b25lOiBbXX0pOyAvLyBmb3IgbGF0ZXJhbCBtZW51XHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLnVwZGF0aW5nLm5leHQoZmFsc2UpO1xyXG4gIC8vIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE5vdCBpbXBsZW1lbnRlZCB5ZXQhIE1heSBiZSB1c2VmdWxsIGZvciB0aGUgZnV0dXJlIChmaWx0ZXIgM0Qgb2JqZWN0cyBmb3IgYSBnaXZlbiBhdXRob3JpemVkIHVzZXI6IGV4YW1wbGUgbGlicyBvZiBvYmplY3RzKVxyXG4gICAqIEBwYXJhbSBvYmplY3RJZFxyXG4gICAqL1xyXG4gIC8vIGFzeW5jIGdldE9iamVjdHMzREJ5U3BhY2VGb3JVc2VyKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8T2JqZWN0M0RbXT4ge1xyXG4gIC8vICAgY29uc3QgbWlzc2lvbkZvckxvY2F0aW9uID0gdGhpcy51c2VyU2VydmljZS5jdXJyZW50TWlzc2lvbihzcGFjZUlEKTtcclxuICAvLyAgIGNvbnN0IGxpc3QgPSBbXTtcclxuICAvLyAgIGlmIChtaXNzaW9uRm9yTG9jYXRpb24gJiYgbWlzc2lvbkZvckxvY2F0aW9uLm9iamVjdElkKSB7XHJcbiAgLy8gICAgIGNvbnN0IGFsbG93ZWRPYmplY3QzRCA9IGF3YWl0IHRoaXMuZ2V0T2JqZWN0M0QobWlzc2lvbkZvckxvY2F0aW9uLm9iamVjdElkKTtcclxuICAvLyAgICAgYWxsb3dlZE9iamVjdDNELnZpcnR1YWwgPSB0aGlzLnpvbmVJc1ZpcnR1YWwoYWxsb3dlZE9iamVjdDNEKTtcclxuICAvLyAgICAgaWYgKCFhbGxvd2VkT2JqZWN0M0QucGFyZW50KSB7XHJcbiAgLy8gICAgICAgLy8gdGhlIHdob2xlIGJ1aWxkaW5nIGlzIGF1dGhvcml6ZWRcclxuICAvLyAgICAgICByZXR1cm4gdGhpcy5nZXRPYmplY3RzM0RCeVNwYWNlKHNwYWNlSUQpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIGxpc3QucHVzaChhbGxvd2VkT2JqZWN0M0QpO1xyXG4gIC8vICAgICAvLyBhbGxvdyBhbGwgY2hpbGRyZW4gem9uZXMgb2YgYW4gYWxsb3dlZCBwYXJlbnRcclxuICAvLyAgICAgY29uc3QgY2hpbGRyZW4gPSAoYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLm9iamVjdHMzREJ5T2JqZWN0M0QoYWxsb3dlZE9iamVjdDNELmlkKSkuaXRlbXM7XHJcbiAgLy8gICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgLy8gICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xyXG4gIC8vICAgICAgICAgY29uc3QgY2hpbGRPYmplY3QzRCA9IHsgLi4uY2hpbGQgfSBhcyBPYmplY3QzRDtcclxuICAvLyAgICAgICAgIGNoaWxkT2JqZWN0M0QudmlydHVhbCA9IHRoaXMuem9uZUlzVmlydHVhbChjaGlsZCk7XHJcbiAgLy8gICAgICAgICBsaXN0LnB1c2goY2hpbGRPYmplY3QzRCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIC8vIGFsbG93IHRoZSBwYXJlbnQgRmxvb3Igb2YgdGhlIGFsbG93ZWQgem9uZVxyXG4gIC8vICAgICBpZiAoYWxsb3dlZE9iamVjdDNELnBhcmVudC5sYXllciAmJiBhbGxvd2VkT2JqZWN0M0QucGFyZW50LmxheWVyLm5hbWUgPT09IFwiRkxPT1JcIikge1xyXG4gIC8vICAgICAgIGxpc3QucHVzaChhbGxvd2VkT2JqZWN0M0QucGFyZW50KTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSBlbHNlIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuZ2V0T2JqZWN0czNEQnlTcGFjZShzcGFjZUlEKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBsaXN0O1xyXG4gIC8vIH1cclxuXHJcbiAgYXN5bmMgZGVsZXRlT2JqZWN0M0Qob2JqZWN0SWQ6IHN0cmluZyk6IFByb21pc2U8T2JqZWN0M0Q+IHtcclxuICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlT2JqZWN0M0Qoe2lkOiBvYmplY3RJZH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY3JlYXRlKGlucHV0OiBPYmplY3QzRCk6IFByb21pc2U8T2JqZWN0M0Q+IHtcclxuICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQ3JlYXRlT2JqZWN0M0QoaW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBkYXRlT2JqZWN0M0QoaW5wdXQ6IGFueSk6IFByb21pc2U8T2JqZWN0M0Q+IHtcclxuICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlT2JqZWN0M0QoaW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEJhc2ljIENSVUQgb3BlcmF0aW9ucyAqL1xyXG4gIGFzeW5jIHJlYWRPYmplY3QzRChpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkdldE9iamVjdDNEKGlkKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFkYXB0T2JqZWN0M0Qob2JqZWN0M0Q6IE9iamVjdDNEKTogUHJvbWlzZTxPYmplY3QzRD4ge1xyXG4gICAgLy8gTm90IHJlcXVpcmVkIGhlcmUhXHJcbiAgICByZXR1cm4gb2JqZWN0M0Q7XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGVPYmplY3QzRFdpdGhFdmVudChcclxuICAgIG9iamVjdDNEOiBJVXBkYXRlICYgUGFydGlhbDxPYmplY3QzRD4sXHJcbiAgICBldmVudD86IEV2ZW50LFxyXG4gICk6IFByb21pc2U8T2JqZWN0M0Q+IHtcclxuICAgIGNvbnN0IHJlY2VpdmVkT2JqZWN0M0QgPSBhd2FpdCB0aGlzLnVwZGF0ZU9iamVjdDNEKG9iamVjdDNEKTtcclxuICAgIGlmIChyZWNlaXZlZE9iamVjdDNEKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiVXBkYXRlZCBvYmplY3QzRCA6XCIpO1xyXG4gICAgICBjb25zb2xlLmxvZyhyZWNlaXZlZE9iamVjdDNEKTtcclxuICAgICAgLy8gTm90IHNlbnQgY3VycmVudGx5OiBhc2sgaWYgbmVlZGVkLi4uXHJcbiAgICAgIC8vIGlmIChldmVudCkge1xyXG4gICAgICAvLyAgIGF3YWl0IHRoaXMuYWRkRXZlbnRUb09iamVjdDNEKHJlY2VpdmVkT2JqZWN0M0QsIGV2ZW50KTtcclxuICAgICAgLy8gfVxyXG4gICAgICB0aGlzLnVwZGF0ZURvbmUubmV4dCh0cnVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWNlaXZlZE9iamVjdDNEO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
372
+ }] }, { type: i1.BaseUserService }, { type: i2.NavigatorService }, { type: i3.ZoneChangeService }, { type: i4.FilterService }] });
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0M0Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL29iamVjdDNELnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQVM3QixNQUFNLE9BQU8sZUFBZTtJQXdETjtJQUNBO0lBQ0E7SUFDQTtJQTFEcEIsR0FBRyxDQUFNLENBQUMsZ0JBQWdCO0lBRTFCLGdCQUFnQixHQUdYLElBQUksT0FBTyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBSVo7UUFDRixLQUFLLEVBQUUsRUFBRTtRQUNULElBQUksRUFBRSxFQUFFO0tBQ1QsQ0FBQztJQUVGLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLHVDQUF1QztJQUN2QyxRQUFRO0lBQ1IsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixLQUFLO0lBRUwsVUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTdDLFlBQVksQ0FBUztJQUVyQixXQUFXLENBQU87SUFFbEIsY0FBYyxDQUFRO0lBRXRCLGdHQUFnRztJQUNoRyxvQkFBb0IsR0FBYSxJQUFJLENBQUM7SUFFdEMsUUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTNDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUUxQixnQkFBZ0IsR0FBc0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVwRCxnQkFBZ0IsR0FBc0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVwRCxnQkFBZ0IsR0FBc0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVwRCxZQUFZLEdBQUcsS0FBSyxDQUFDO0lB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QUFDLEtBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixLQUFLLENBQUMsWUFBWSxDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBa0I7UUFDcEMscUJBQXFCO1FBQ3JCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQzNCLFFBQXFDLEVBQ3JDLEtBQWE7UUFFYixNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM5Qix1Q0FBdUM7WUFDdkMsZUFBZTtZQUNmLDREQUE0RDtZQUM1RCxJQUFJO1lBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQzt3R0FyWlUsZUFBZSxrQkF1RE4sbUJBQW1COzRHQXZENUIsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF3RGMsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXHJcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0V2ZW50LCBJVXBkYXRlLCBPYmplY3QzRCwgWm9uZX0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0Jhc2VVc2VyU2VydmljZX0gZnJvbSBcIi4uL3VzZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge05hdmlnYXRvclNlcnZpY2V9IGZyb20gXCIuLi9uYXZpZ2F0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0ZpbHRlclNlcnZpY2V9IGZyb20gXCIuLi9maWx0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge1pvbmVDaGFuZ2VTZXJ2aWNlfSBmcm9tIFwiLi4vem9uZUNoYW5nZS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYmplY3QzRFNlcnZpY2Uge1xyXG4gIEFQSTogYW55OyAvL0FXUyBBUElTZXJ2aWNlXHJcblxyXG4gIG9iamVjdHMzRFVwZGF0ZWQ6IFN1YmplY3Q8e1xyXG4gICAgc3BhY2U6IE9iamVjdDNEW107XHJcbiAgICB6b25lOiBPYmplY3QzRFtdO1xyXG4gIH0+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY3VycmVudE9iamVjdHMzRDoge1xyXG4gICAgc3BhY2U6IE9iamVjdDNEW107XHJcbiAgICB6b25lOiBPYmplY3QzRFtdXHJcbiAgfVxyXG4gICAgPSB7XHJcbiAgICBzcGFjZTogW10sXHJcbiAgICB6b25lOiBbXVxyXG4gIH07XHJcblxyXG4gIC8vIGJhZCBuYW1lIVxyXG4gIC8vIGN1cnJlbnRPYmplY3RzM0Q6IHtcclxuICAvLyAgIHNwYWNlOiBPYmplY3QzRFtdO1xyXG4gIC8vICAgem9uZXNNYXA6IE1hcDxzdHJpbmcsIE9iamVjdDNEW10+O1xyXG4gIC8vIH0gPSB7XHJcbiAgLy8gICBzcGFjZTogW10sXHJcbiAgLy8gICB6b25lc01hcDogbmV3IE1hcCgpLFxyXG4gIC8vIH07XHJcblxyXG4gIHVwZGF0ZURvbmU6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICB6b25lSURGaWx0ZXI6IHN0cmluZztcclxuXHJcbiAgY3VycmVudFpvbmU6IFpvbmU7XHJcblxyXG4gIGN1cnJlbnRTcGFjZUlEOiBzdHJpbmdcclxuXHJcbiAgLyoqIE51bGwgbWVhbnMgd2UgZG8gbm90IGFwcGx5IGEgZmlsdGVyLCBlbXB0eSBhcnJheSAoW10pLCBtZWFucyB3ZSB0aGF0IHdlIGhpZGUgYWxsIG9iamVjdDNEICovXHJcbiAgb2JqZWN0M0REb21haW5GaWx0ZXI6IHN0cmluZ1tdID0gbnVsbDtcclxuXHJcbiAgdXBkYXRpbmc6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjdXJyZW50bHlVcGRhdGluZyA9IGZhbHNlO1xyXG5cclxuICBkZWxldGVPYnNlcnZhYmxlOiBTdWJqZWN0PE9iamVjdDNEPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNyZWF0ZU9ic2VydmFibGU6IFN1YmplY3Q8T2JqZWN0M0Q+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgdXBkYXRlT2JzZXJ2YWJsZTogU3ViamVjdDxPYmplY3QzRD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBpc011c2V1bVVzZXIgPSBmYWxzZTtcclxuXHJcbiAgaXNVcGRhdGluZyA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3RlZE9iamVjdDNEOiBhbnk7IC8vIHNlbGVjdGVkIGZyb20gc3ByaXRlIGNhcnJvdXNlbCB2aWV3ZXIgKGxpYiBvZiBvYmplY3RzM0QpXHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBCYXNlVXNlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0b3JTZXJ2aWNlOiBOYXZpZ2F0b3JTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgem9uZUNoYW5nZVNlcnZpY2U6IFpvbmVDaGFuZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSkge1xyXG4gICAgdGhpcy5BUEkgPSBhcGlJbmplY3RlZDtcclxuICAgIC8vIHRoaXMuaXNNdXNldW1Vc2VyID0gdGhpcy51c2VyU2VydmljZS5oYXNPbmx5TXVzZXVtUm9sZSgpOyAvLyBOb3QgdXNlZCB5ZXQhXHJcblxyXG4gICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLnN1YnNjcmliZSgobGlzdCkgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0QgPSBsaXN0O1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy56b25lQ2hhbmdlU2VydmljZS56b25lQ2hhbmdlLnN1YnNjcmliZSgoem9uZSkgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRTcGFjZUlEID0gdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnRTcGFjZUlEO1xyXG4gICAgICBpZiAoIXRoaXMuY3VycmVudFNwYWNlSUQpIHtcclxuICAgICAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7c3BhY2U6IFtdLCB6b25lOiBudWxsfSk7XHJcbiAgICAgICAgdGhpcy56b25lSURGaWx0ZXIgPSBudWxsO1xyXG4gICAgICB9IGVsc2UgaWYgKHpvbmUuaWQgIT09IHRoaXMuem9uZUlERmlsdGVyICYmICF0aGlzLnVzZXJTZXJ2aWNlLmlzTXVzZXVtVXNlcih0aGlzLmN1cnJlbnRTcGFjZUlEKSkge1xyXG4gICAgICAgIHRoaXMuem9uZUlERmlsdGVyID0gem9uZS5pZDtcclxuICAgICAgICB0aGlzLmluaXRPYmplY3RzM0QoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVEb25lLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRTcGFjZUlEKSB7XHJcbiAgICAgICAgICB0aGlzLmluaXRPYmplY3RzM0QoKS5jYXRjaChlID0+IGNvbnNvbGUubG9nKGUpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRPYmplY3RzM0RCeVNwYWNlKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8QXJyYXk8T2JqZWN0M0Q+PiB7XHJcbiAgICBjb25zdCBsaXN0OiBPYmplY3QzRFtdID0gW107XHJcbiAgICBpZiAodGhpcy5BUEkuX19wcm90b19fLmhhc093blByb3BlcnR5KCdPYmplY3RzM0RCeVNwYWNlJykpIHtcclxuICAgICAgY29uc3Qgb2JqZWN0cyA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5PYmplY3RzM0RCeVNwYWNlKHNwYWNlSUQpO1xyXG4gICAgICBpZiAob2JqZWN0cykge1xyXG4gICAgICAgIGZvciAoY29uc3Qgb2JqZWN0IG9mIG9iamVjdHMuaXRlbXMpIHtcclxuICAgICAgICAgIGNvbnN0IHpvbmVPYmplY3QgPSB7Li4ub2JqZWN0fSBhcyBPYmplY3QzRDtcclxuICAgICAgICAgIGxpc3QucHVzaCh6b25lT2JqZWN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGxpc3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29iamVjdHMzREJ5U3BhY2Ugbm90IGltcGxlbWVudGVkJyk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pdE9iamVjdHMzRCgpIHtcclxuICAgIGlmICghdGhpcy5jdXJyZW50U3BhY2VJRCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0aW5nLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmlzVXBkYXRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3Qgb2JqZWN0M0RMaXN0ID0gYXdhaXQgdGhpcy5nZXRPYmplY3RzM0RCeVNwYWNlKHRoaXMuY3VycmVudFNwYWNlSUQpO1xyXG5cclxuICAgIGlmIChvYmplY3QzRExpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgZmlsdGVyZWRPYmplY3RzM0QgPSBbLi4ub2JqZWN0M0RMaXN0XTtcclxuICAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmUgPSBmaWx0ZXJlZE9iamVjdHMzRDsgLy8gbm90IHNvcnRlZCFcclxuXHJcbiAgICAgIGZpbHRlcmVkT2JqZWN0czNEID1cclxuICAgICAgICBhd2FpdCB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyT2JqZWN0c0ZvckN1cnJlbnRVc2VySW5TcGFjZShcclxuICAgICAgICAgIGZpbHRlcmVkT2JqZWN0czNELFxyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U3BhY2VJRFxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZSA9IGZpbHRlcmVkT2JqZWN0czNEO1xyXG4gICAgICBpZiAodGhpcy56b25lSURGaWx0ZXIpIHtcclxuICAgICAgICBmaWx0ZXJlZE9iamVjdHMzRCA9IGF3YWl0IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXJPYmplY3RzRm9yWm9uZShcclxuICAgICAgICAgIGZpbHRlcmVkT2JqZWN0czNELFxyXG4gICAgICAgICAgdGhpcy56b25lSURGaWx0ZXJcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lID0gZmlsdGVyZWRPYmplY3RzM0Q7XHJcbiAgICAgIHRoaXMub2JqZWN0czNEVXBkYXRlZC5uZXh0KHRoaXMuY3VycmVudE9iamVjdHMzRCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7c3BhY2U6IFtdLCB6b25lOiBbXX0pOyAvLyBmb3IgbGF0ZXJhbCBtZW51XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0aW5nLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5pc1VwZGF0aW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZE9iamVjdDNEKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9iamVjdDNEO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRPYmplY3QzRChzZWxlY3RlZDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0M0QgPSBzZWxlY3RlZDtcclxuICB9XHJcblxyXG5cclxuICAvLyBUSEUgRk9MTE9XSU5HIExPR0lDIElTIEVRVUlQLiBTUEVDSUZJQ1xyXG4gIC8vIGluaXRTdWJzY3JpcHRpb25zKCkge1xyXG4gIC8vICAgaWYgKCF0aGlzLmlzTXVzZXVtVXNlcikge1xyXG4gIC8vICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2Uuem9uZUNoYW5nZVxyXG4gIC8vICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAvLyAgICAgICAuc3Vic2NyaWJlKCh6b25lKSA9PiB7XHJcbiAgLy8gICAgICAgICBpZiAoIXpvbmUgfHwgIXRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50U3BhY2VJRCkge1xyXG4gIC8vICAgICAgICAgICB0aGlzLmN1cnJlbnRTcGFjZUlEID0gdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnRTcGFjZUlEO1xyXG4gIC8vICAgICAgICAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7c3BhY2U6IFtdLCB6b25lOiBudWxsfSk7XHJcbiAgLy8gICAgICAgICAgIHRoaXMuem9uZUlERmlsdGVyID0gbnVsbDtcclxuICAvLyAgICAgICAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNEID0ge1xyXG4gIC8vICAgICAgICAgICAgIHNwYWNlOiBbXSxcclxuICAvLyAgICAgICAgICAgICB6b25lc01hcDogbmV3IE1hcCgpLFxyXG4gIC8vICAgICAgICAgICB9O1xyXG4gIC8vICAgICAgICAgICByZXR1cm47XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgICBpZiAoem9uZS5pZCAhPT0gdGhpcy56b25lSURGaWx0ZXIpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy56b25lSURGaWx0ZXIgPSB6b25lLmlkO1xyXG4gIC8vICAgICAgICAgICB0aGlzLmN1cnJlbnRab25lID0gem9uZTtcclxuICAvLyAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFNwYWNlSUQgPT09IHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50U3BhY2VJRCkge1xyXG4gIC8vICAgICAgICAgICAgIC8vIHNhbWUgc3BhY2UsICBvbmx5IHpvbmUgdXBkYXRlXHJcbiAgLy8gICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXHJcbiAgLy8gICAgICAgICAgICAgLy8gICAgIFwiZ29pbmcgdG8gdXBkYXRlIGVxdWlwcyBmb3Igem9uZSAoc2FtZSBzcGFjZSlcIixcclxuICAvLyAgICAgICAgICAgICAvLyAgICAgem9uZSxcclxuICAvLyAgICAgICAgICAgICAvLyApO1xyXG4gIC8vXHJcbiAgLy8gICAgICAgICAgICAgdGhpcy51cGRhdGVPYmplY3RzM0RGb3Jab25lKCk7XHJcbiAgLy8gICAgICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICAgICAgdGhpcy5jdXJyZW50U3BhY2VJRCA9IHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50U3BhY2VJRDtcclxuICAvLyAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcclxuICAvLyAgICAgICAgICAgICAvLyAgICAgXCJnb2luZyB0byBpbml0IGVxdWlwcyBmb3Igem9uZSBmb3IgbmV3IHNwYWNlXCIsXHJcbiAgLy8gICAgICAgICAgICAgLy8gICAgIHRoaXMuY3VycmVudFNwYWNlSUQsXHJcbiAgLy8gICAgICAgICAgICAgLy8gKTtcclxuICAvLyAgICAgICAgICAgICB0aGlzLmluaXRPYmplY3RzM0QoKS5jYXRjaChlID0+IGNvbnNvbGUubG9nKGUpKTtcclxuICAvLyAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vXHJcbiAgLy8gICAgIHRoaXMuZGVsZXRlT2JzZXJ2YWJsZVxyXG4gIC8vICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAvLyAgICAgICAuc3Vic2NyaWJlKChvYmplY3QzRCkgPT4ge1xyXG4gIC8vICAgICAgICAgaWYgKHRoaXMuY3VycmVudFNwYWNlSUQpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy51cGRhdGVEdWVUb0RlbGV0ZShvYmplY3QzRCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSk7XHJcbiAgLy9cclxuICAvLyAgICAgdGhpcy5jcmVhdGVPYnNlcnZhYmxlXHJcbiAgLy8gICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC8vICAgICAgIC5zdWJzY3JpYmUoKG9iamVjdDNEKSA9PiB7XHJcbiAgLy8gICAgICAgICBpZiAodGhpcy5jdXJyZW50U3BhY2VJRCkge1xyXG4gIC8vICAgICAgICAgICB0aGlzLnVwZGF0ZUR1ZVRvQ3JlYXRlKG9iamVjdDNEKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9KTtcclxuICAvL1xyXG4gIC8vICAgICB0aGlzLnVwZGF0ZU9ic2VydmFibGVcclxuICAvLyAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLy8gICAgICAgLnN1YnNjcmliZSgob2JqZWN0M0QpID0+IHtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRTcGFjZUlEKSB7XHJcbiAgLy8gICAgICAgICAgIHRoaXMudXBkYXRlRHVlVG9PYmplY3QzRFVwZGF0ZWQob2JqZWN0M0QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgdXBkYXRlRHVlVG9EZWxldGUoZGVsZXRlZE9iamVjdDNEOiBPYmplY3QzRCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJ1cGRhdGUgZHVlIHRvIGRlbGV0ZVwiLCBkZWxldGVkT2JqZWN0M0QpO1xyXG4gICAgY29uc3Qgb2JqID0gdGhpcy5jdXJyZW50T2JqZWN0czNELnNwYWNlLmZpbmQoXHJcbiAgICAgIChfZXF1aXApID0+IF9lcXVpcC5pZCA9PT0gZGVsZXRlZE9iamVjdDNELmlkXHJcbiAgICApO1xyXG4gICAgaWYgKG9iaikge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5pbmRleE9mKG9iaik7XHJcbiAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgLy8gVEhFIEZPTExPV0lORyBMT0dJQyBJUyBFUVVJUC4gU1BFQ0lGSUNcclxuICAgIC8vIGZvciAoY29uc3Qgem9uZSBvZiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAua2V5cygpKSB7XHJcbiAgICAvLyAgIGNvbnN0IGVxdWlwVG9EZWxldGUgPSB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXBcclxuICAgIC8vICAgICAuZ2V0KHpvbmUpXHJcbiAgICAvLyAgICAgLmZpbmQoKF9lcXVpcCkgPT4gX2VxdWlwLmlkID09PSBkZWxldGVkT2JqZWN0M0QuaWQpO1xyXG4gICAgLy8gICBpZiAoZXF1aXBUb0RlbGV0ZSkge1xyXG4gICAgLy8gICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwXHJcbiAgICAvLyAgICAgICAuZ2V0KHpvbmUpXHJcbiAgICAvLyAgICAgICAuaW5kZXhPZihlcXVpcFRvRGVsZXRlKTtcclxuICAgIC8vICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAuZ2V0KHpvbmUpLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIHRoaXMub2JqZWN0czNEVXBkYXRlZC5uZXh0KHtcclxuICAgICAgc3BhY2U6IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZSxcclxuICAgICAgem9uZTogdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmUsXHJcbiAgICAgIC8vIFRIRSBGT0xMT1dJTkcgTE9HSUMgSVMgRVFVSVAuIFNQRUNJRklDXHJcbiAgICAgIC8vIHpvbmU6IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcC5nZXQodGhpcy56b25lSURGaWx0ZXIpLFxyXG4gICAgfSk7IC8vIGZvciBsYXRlcmFsIG1lbnVcclxuICB9XHJcblxyXG4gIHVwZGF0ZUR1ZVRvQ3JlYXRlKGNyZWF0ZWRPYmozRDogT2JqZWN0M0QpIHtcclxuICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS51bnNoaWZ0KGNyZWF0ZWRPYmozRCk7XHJcbiAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZS51bnNoaWZ0KGNyZWF0ZWRPYmozRCk7XHJcblxyXG4gICAgLy8gdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwXHJcbiAgICAvLyAgIC5nZXQodGhpcy56b25lSURGaWx0ZXIpXHJcbiAgICAvLyAgIC51bnNoaWZ0KGNyZWF0ZWRFcXVpcCk7XHJcbiAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7XHJcbiAgICAgIHNwYWNlOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2UsXHJcbiAgICAgIHpvbmU6IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lLFxyXG4gICAgICAvLyBUSEUgRk9MTE9XSU5HIExPR0lDIElTIEVRVUlQLiBTUEVDSUZJQ1xyXG4gICAgICAvLyB6b25lOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAuZ2V0KHRoaXMuem9uZUlERmlsdGVyKSxcclxuICAgIH0pOyAvLyBmb3IgbGF0ZXJhbCBtZW51XHJcbiAgfVxyXG5cclxuICAvLyBUSEUgRk9MTE9XSU5HIExPR0lDIElTIEVRVUlQLiBTUEVDSUZJQ1xyXG4gIC8vIE5vdCBpbXBsZW1lbnRlZCBzaW5jZSBub3QgdXNlZCB5ZXQhXHJcbiAgLy8gdXBkYXRlRHVlVG9PYmplY3QzRFVwZGF0ZWQodXBkYXRlZE9iamVjdDNEOiBPYmplY3QzRCkge1xyXG4gIC8vICAgY29uc3Qgb2JqID0gdGhpcy5jdXJyZW50T2JqZWN0czNELnNwYWNlLmZpbmQoXHJcbiAgLy8gICAgIChfZXF1aXApID0+IF9lcXVpcC5pZCA9PT0gdXBkYXRlZE9iamVjdDNELmlkXHJcbiAgLy8gICApO1xyXG4gIC8vICAgaWYgKG9iaikge1xyXG4gIC8vICAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5pbmRleE9mKG9iaik7XHJcbiAgLy8gICAgIC8vIE5vdCB1c2VkIHlldCFcclxuICAvLyAgICAgLy8gaWYgKHRoaXMuaXNBcmNoaXZlZChvYmopKSB7XHJcbiAgLy8gICAgIC8vICAgLy8gd2UgcmVtb3ZlIGFyY2hpdmVkIGVxdWlwbWVudFxyXG4gIC8vICAgICAvLyAgIHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIC8vICAgICAvLyB9IGVsc2Uge1xyXG4gIC8vICAgICB0aGlzLmN1cnJlbnRPYmplY3RzM0Quc3BhY2Uuc3BsaWNlKGluZGV4LCAxLCB1cGRhdGVkT2JqZWN0M0QpO1xyXG4gIC8vICAgICAvLyB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICBmb3IgKGNvbnN0IHpvbmUgb2YgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmtleXMoKSkge1xyXG4gIC8vICAgICBjb25zdCBlcXVpcFRvVXBkID0gdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwXHJcbiAgLy8gICAgICAgLmdldCh6b25lKVxyXG4gIC8vICAgICAgIC5maW5kKChfZXF1aXApID0+IF9lcXVpcC5pZCA9PT0gdXBkYXRlZE9iamVjdDNELmlkKTtcclxuICAvLyAgICAgaWYgKGVxdWlwVG9VcGQpIHtcclxuICAvLyAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcFxyXG4gIC8vICAgICAgICAgLmdldCh6b25lKVxyXG4gIC8vICAgICAgICAgLmluZGV4T2YoZXF1aXBUb1VwZCk7XHJcbiAgLy8gICAgICAgLy8gTm90IHVzZWQgeWV0IVxyXG4gIC8vICAgICAgIC8vIGlmICh0aGlzLmlzQXJjaGl2ZWQob2JqKSkge1xyXG4gIC8vICAgICAgIC8vICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmdldCh6b25lKS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gIC8vICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwXHJcbiAgLy8gICAgICAgICAuZ2V0KHpvbmUpXHJcbiAgLy8gICAgICAgICAuc3BsaWNlKGluZGV4LCAxLCB1cGRhdGVkT2JqZWN0M0QpO1xyXG4gIC8vICAgICAgIC8vIH1cclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG4gIC8vICAgdGhpcy5vYmplY3RzM0RVcGRhdGVkLm5leHQoe1xyXG4gIC8vICAgICBzcGFjZTogdGhpcy5jdXJyZW50T2JqZWN0czNELnNwYWNlLFxyXG4gIC8vICAgICB6b25lOiB0aGlzLmN1cnJlbnRPYmplY3RzM0Quem9uZXNNYXAuZ2V0KHRoaXMuem9uZUlERmlsdGVyKSxcclxuICAvLyAgIH0pOyAvLyBmb3IgbGF0ZXJhbCBtZW51XHJcbiAgLy8gfVxyXG5cclxuICAvLyBUSEUgRk9MTE9XSU5HIExPR0lDIElTIEVRVUlQLiBTUEVDSUZJQ1xyXG4gIC8vIE5vdCBpbXBsZW1lbnRlZCBzaW5jZSBub3QgdXNlZCB5ZXQhXHJcbiAgLy8gYXN5bmMgdXBkYXRlT2JqZWN0czNERm9yWm9uZSgpIHtcclxuICAvLyAgIHRoaXMudXBkYXRpbmcubmV4dCh0cnVlKTtcclxuICAvLyAgIGxldCBmaWx0ZXJlZE9iamVjdHMzRDogT2JqZWN0M0RbXSA9IFtdO1xyXG4gIC8vICAgaWYgKHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZS5sZW5ndGggPiAwKSB7XHJcbiAgLy8gICAgIGlmIChcclxuICAvLyAgICAgICB0aGlzLnpvbmVJREZpbHRlciAmJlxyXG4gIC8vICAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcC5oYXModGhpcy56b25lSURGaWx0ZXIpXHJcbiAgLy8gICAgICkge1xyXG4gIC8vICAgICAgIGZpbHRlcmVkT2JqZWN0czNEID0gdGhpcy5jdXJyZW50T2JqZWN0czNELnpvbmVzTWFwLmdldCh0aGlzLnpvbmVJREZpbHRlcik7XHJcbiAgLy8gICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgZmlsdGVyZWRPYmplY3RzM0QgPSAoYXdhaXQgdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlck9iamVjdHNGb3Jab25lKFxyXG4gIC8vICAgICAgICAgdGhpcy5jdXJyZW50T2JqZWN0czNELnNwYWNlLFxyXG4gIC8vICAgICAgICAgdGhpcy56b25lSURGaWx0ZXIsXHJcbiAgLy8gICAgICAgICB0aGlzLmN1cnJlbnRab25lXHJcbiAgLy8gICAgICAgKSkgYXMgT2JqZWN0M0RbXTtcclxuICAvL1xyXG4gIC8vICAgICAgIHRoaXMuY3VycmVudE9iamVjdHMzRC56b25lc01hcC5zZXQodGhpcy56b25lSURGaWx0ZXIsIFtcclxuICAvLyAgICAgICAgIC4uLmZpbHRlcmVkT2JqZWN0czNELFxyXG4gIC8vICAgICAgIF0pO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICAgIC8vIE5vdCBpbXBsZW1lbnRlZCB5ZXQhXHJcbiAgLy8gICAgIC8vIGlmICh0aGlzLm9iamVjdDNERG9tYWluRmlsdGVyKSB7XHJcbiAgLy8gICAgIC8vICAgZmlsdGVyZWRPYmplY3RzM0QgPSB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyT2JqZWN0czNEQnlEb21haW5MaXN0KFxyXG4gIC8vICAgICAvLyAgICAgZmlsdGVyZWRPYmplY3RzM0QsXHJcbiAgLy8gICAgIC8vICAgICB0aGlzLm9iamVjdDNERG9tYWluRmlsdGVyXHJcbiAgLy8gICAgIC8vICAgKTtcclxuICAvLyAgICAgLy8gfVxyXG4gIC8vICAgICAvLyBOb3QgdXNlZCBmb3Igb2JqZWN0cyBub3chXHJcbiAgLy8gICAgIC8vIHRoaXMub2JqZWN0czNEVGFncy5uZXh0KGZpbHRlcmVkT2JqZWN0czNEKTsgLy8gYWRkaW5nIHRhZ3Mgb25seSBmb3IgdGhlIGN1cnJlbnQgem9uZVxyXG4gIC8vICAgICB0aGlzLm9iamVjdHMzRFVwZGF0ZWQubmV4dCh7XHJcbiAgLy8gICAgICAgc3BhY2U6IHRoaXMuY3VycmVudE9iamVjdHMzRC5zcGFjZSxcclxuICAvLyAgICAgICB6b25lOiBmaWx0ZXJlZE9iamVjdHMzRCxcclxuICAvLyAgICAgfSk7IC8vIGZvciBsYXRlcmFsIG1lbnVcclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIHRoaXMub2JqZWN0czNEVXBkYXRlZC5uZXh0KHtzcGFjZTogW10sIHpvbmU6IFtdfSk7IC8vIGZvciBsYXRlcmFsIG1lbnVcclxuICAvLyAgIH1cclxuICAvLyAgIHRoaXMudXBkYXRpbmcubmV4dChmYWxzZSk7XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogTm90IGltcGxlbWVudGVkIHlldCEgTWF5IGJlIHVzZWZ1bGwgZm9yIHRoZSBmdXR1cmUgKGZpbHRlciAzRCBvYmplY3RzIGZvciBhIGdpdmVuIGF1dGhvcml6ZWQgdXNlcjogZXhhbXBsZSBsaWJzIG9mIG9iamVjdHMpXHJcbiAgICogQHBhcmFtIG9iamVjdElkXHJcbiAgICovXHJcbiAgLy8gYXN5bmMgZ2V0T2JqZWN0czNEQnlTcGFjZUZvclVzZXIoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxPYmplY3QzRFtdPiB7XHJcbiAgLy8gICBjb25zdCBtaXNzaW9uRm9yTG9jYXRpb24gPSB0aGlzLnVzZXJTZXJ2aWNlLmN1cnJlbnRNaXNzaW9uKHNwYWNlSUQpO1xyXG4gIC8vICAgY29uc3QgbGlzdCA9IFtdO1xyXG4gIC8vICAgaWYgKG1pc3Npb25Gb3JMb2NhdGlvbiAmJiBtaXNzaW9uRm9yTG9jYXRpb24ub2JqZWN0SWQpIHtcclxuICAvLyAgICAgY29uc3QgYWxsb3dlZE9iamVjdDNEID0gYXdhaXQgdGhpcy5nZXRPYmplY3QzRChtaXNzaW9uRm9yTG9jYXRpb24ub2JqZWN0SWQpO1xyXG4gIC8vICAgICBhbGxvd2VkT2JqZWN0M0QudmlydHVhbCA9IHRoaXMuem9uZUlzVmlydHVhbChhbGxvd2VkT2JqZWN0M0QpO1xyXG4gIC8vICAgICBpZiAoIWFsbG93ZWRPYmplY3QzRC5wYXJlbnQpIHtcclxuICAvLyAgICAgICAvLyB0aGUgd2hvbGUgYnVpbGRpbmcgaXMgYXV0aG9yaXplZFxyXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdldE9iamVjdHMzREJ5U3BhY2Uoc3BhY2VJRCk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgICAgbGlzdC5wdXNoKGFsbG93ZWRPYmplY3QzRCk7XHJcbiAgLy8gICAgIC8vIGFsbG93IGFsbCBjaGlsZHJlbiB6b25lcyBvZiBhbiBhbGxvd2VkIHBhcmVudFxyXG4gIC8vICAgICBjb25zdCBjaGlsZHJlbiA9IChhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18ub2JqZWN0czNEQnlPYmplY3QzRChhbGxvd2VkT2JqZWN0M0QuaWQpKS5pdGVtcztcclxuICAvLyAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAvLyAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XHJcbiAgLy8gICAgICAgICBjb25zdCBjaGlsZE9iamVjdDNEID0geyAuLi5jaGlsZCB9IGFzIE9iamVjdDNEO1xyXG4gIC8vICAgICAgICAgY2hpbGRPYmplY3QzRC52aXJ0dWFsID0gdGhpcy56b25lSXNWaXJ0dWFsKGNoaWxkKTtcclxuICAvLyAgICAgICAgIGxpc3QucHVzaChjaGlsZE9iamVjdDNEKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH1cclxuICAvLyAgICAgLy8gYWxsb3cgdGhlIHBhcmVudCBGbG9vciBvZiB0aGUgYWxsb3dlZCB6b25lXHJcbiAgLy8gICAgIGlmIChhbGxvd2VkT2JqZWN0M0QucGFyZW50LmxheWVyICYmIGFsbG93ZWRPYmplY3QzRC5wYXJlbnQubGF5ZXIubmFtZSA9PT0gXCJGTE9PUlwiKSB7XHJcbiAgLy8gICAgICAgbGlzdC5wdXNoKGFsbG93ZWRPYmplY3QzRC5wYXJlbnQpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5nZXRPYmplY3RzM0RCeVNwYWNlKHNwYWNlSUQpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIGxpc3Q7XHJcbiAgLy8gfVxyXG5cclxuICBhc3luYyBkZWxldGVPYmplY3QzRChvYmplY3RJZDogc3RyaW5nKTogUHJvbWlzZTxPYmplY3QzRD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVPYmplY3QzRCh7aWQ6IG9iamVjdElkfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGUoaW5wdXQ6IE9iamVjdDNEKTogUHJvbWlzZTxPYmplY3QzRD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVPYmplY3QzRChpbnB1dCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyB1cGRhdGVPYmplY3QzRChpbnB1dDogYW55KTogUHJvbWlzZTxPYmplY3QzRD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVPYmplY3QzRChpbnB1dCk7XHJcbiAgfVxyXG5cclxuICAvKiogQmFzaWMgQ1JVRCBvcGVyYXRpb25zICovXHJcbiAgYXN5bmMgcmVhZE9iamVjdDNEKGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uR2V0T2JqZWN0M0QoaWQpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWRhcHRPYmplY3QzRChvYmplY3QzRDogT2JqZWN0M0QpOiBQcm9taXNlPE9iamVjdDNEPiB7XHJcbiAgICAvLyBOb3QgcmVxdWlyZWQgaGVyZSFcclxuICAgIHJldHVybiBvYmplY3QzRDtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZU9iamVjdDNEV2l0aEV2ZW50KFxyXG4gICAgb2JqZWN0M0Q6IElVcGRhdGUgJiBQYXJ0aWFsPE9iamVjdDNEPixcclxuICAgIGV2ZW50PzogRXZlbnQsXHJcbiAgKTogUHJvbWlzZTxPYmplY3QzRD4ge1xyXG4gICAgY29uc3QgcmVjZWl2ZWRPYmplY3QzRCA9IGF3YWl0IHRoaXMudXBkYXRlT2JqZWN0M0Qob2JqZWN0M0QpO1xyXG4gICAgaWYgKHJlY2VpdmVkT2JqZWN0M0QpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJVcGRhdGVkIG9iamVjdDNEIDpcIik7XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlY2VpdmVkT2JqZWN0M0QpO1xyXG4gICAgICAvLyBOb3Qgc2VudCBjdXJyZW50bHk6IGFzayBpZiBuZWVkZWQuLi5cclxuICAgICAgLy8gaWYgKGV2ZW50KSB7XHJcbiAgICAgIC8vICAgYXdhaXQgdGhpcy5hZGRFdmVudFRvT2JqZWN0M0QocmVjZWl2ZWRPYmplY3QzRCwgZXZlbnQpO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIHRoaXMudXBkYXRlRG9uZS5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlY2VpdmVkT2JqZWN0M0Q7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Inject, Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
- class OperationService {
3
+ export class OperationService {
4
4
  API; //AWS
5
5
  constructor(apiInjected) {
6
6
  this.API = apiInjected;
@@ -45,17 +45,16 @@ class OperationService {
45
45
  async createOperation(operation) {
46
46
  return this.API.__proto__.CreateOperation(operation);
47
47
  }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OperationService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
49
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OperationService, providedIn: "root" });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OperationService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
49
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OperationService, providedIn: "root" });
50
50
  }
51
- export { OperationService };
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OperationService, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OperationService, decorators: [{
53
52
  type: Injectable,
54
53
  args: [{
55
54
  providedIn: "root",
56
55
  }]
57
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
56
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
58
57
  type: Inject,
59
58
  args: ['currentAPIService']
60
- }] }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL21vZGVscy9vcGVyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFHYSxnQkFBZ0I7SUFDekIsR0FBRyxDQUFNLENBQUMsS0FBSztJQUVmLFlBQXlDLFdBQWdCO1FBQ3JELElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBVTtRQUNwQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBVTtRQUN2QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBVTtRQUNwQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxPQUFlO1FBQzlDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUM7YUFDekMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN2QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMxRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUMzQixDQUFDLENBQUMsQ0FDTCxDQUFDO2FBQ0w7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsUUFBZ0I7UUFDNUMsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDO2FBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO29CQUN4QixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUQsQ0FBQyxDQUFDLENBQ0wsQ0FBQzthQUNMO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFtQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQW9CO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBeERRLGdCQUFnQixrQkFHTCxtQkFBbUI7NEdBSDlCLGdCQUFnQixjQUZiLE1BQU07O1NBRVQsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcGVyYXRpb24sIFRpY2tldCB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvblNlcnZpY2UgIHtcclxuICAgIEFQSTogYW55OyAvL0FXU1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0T3BlcmF0aW9uc0J5VGlja2V0SUQoaWQ6IHN0cmluZyk6IFByb21pc2U8T3BlcmF0aW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk9wZXJhdGlvbnNCeVRpY2tldChpZCkudGhlbigocmVzKSA9PiByZXMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9wZXJhdGlvbnNCeUVxdWlwbWVudElEKGlkOiBzdHJpbmcpOiBQcm9taXNlPE9wZXJhdGlvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5PcGVyYXRpb25zQnlFcXVpcG1lbnQoaWQpLnRoZW4oKHJlcykgPT4gcmVzLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRUaWNrZXRzQnlFcXVpcG1lbnRJRChpZDogc3RyaW5nKTogUHJvbWlzZTxUaWNrZXRbXT4ge1xyXG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbnMgPSBhd2FpdCB0aGlzLmdldE9wZXJhdGlvbnNCeUVxdWlwbWVudElEKGlkKTtcclxuICAgICAgICBjb25zdCB0aWNrZXRzID0gb3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbikgPT4gb3BlcmF0aW9uLnRpY2tldCk7XHJcbiAgICAgICAgcmV0dXJuIHRpY2tldHM7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlT3BlcmF0aW9uc0ZvckVxdWlwbWVudChlcXVpcElEOiBzdHJpbmcpOiBQcm9taXNlPE9wZXJhdGlvbltdPiB7XHJcbiAgICAgICAgY29uc3QgZGVsZXRlZCA9IFtdO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0T3BlcmF0aW9uc0J5RXF1aXBtZW50SUQoZXF1aXBJRClcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKG9wZXJhdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9ucy5tYXAoYXN5bmMgKG9wKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWxldGVkT3AgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlT3BlcmF0aW9uKHsgaWQ6IG9wLmlkIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlZC5wdXNoKGRlbGV0ZWRPcClcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGRlbGV0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlT3BlcmF0aW9uc0ZvclRpY2tldCh0aWNrZXRJRDogc3RyaW5nKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5nZXRPcGVyYXRpb25zQnlUaWNrZXRJRCh0aWNrZXRJRClcclxuICAgICAgICAudGhlbihhc3luYyAob3BlcmF0aW9ucykgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3BlcmF0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25zLm1hcChhc3luYyAob3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZU9wZXJhdGlvbih7IGlkOiBvcC5pZCB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGVPcGVyYXRpb24ob3BlcmF0aW9uSUQ6IHN0cmluZyk6IFByb21pc2U8T3BlcmF0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVPcGVyYXRpb24oeyBpZDogb3BlcmF0aW9uSUQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlT3BlcmF0aW9uKG9wZXJhdGlvbjogT3BlcmF0aW9uKTogUHJvbWlzZTxPcGVyYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZU9wZXJhdGlvbihvcGVyYXRpb24pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
59
+ }] }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL21vZGVscy9vcGVyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixHQUFHLENBQU0sQ0FBQyxLQUFLO0lBRWYsWUFBeUMsV0FBZ0I7UUFDckQsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxFQUFVO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxFQUFVO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxFQUFVO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QixDQUFDLE9BQWU7UUFDOUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQzthQUN6QyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO29CQUN4QixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDMUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDM0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsUUFBZ0I7UUFDNUMsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDO2FBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDLENBQUMsQ0FDTCxDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBbUI7UUFDckMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFvQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO3dHQXhEUSxnQkFBZ0Isa0JBR0wsbUJBQW1COzRHQUg5QixnQkFBZ0IsY0FGYixNQUFNOzs0RkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcGVyYXRpb24sIFRpY2tldCB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIE9wZXJhdGlvblNlcnZpY2UgIHtcclxuICAgIEFQSTogYW55OyAvL0FXU1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0T3BlcmF0aW9uc0J5VGlja2V0SUQoaWQ6IHN0cmluZyk6IFByb21pc2U8T3BlcmF0aW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLk9wZXJhdGlvbnNCeVRpY2tldChpZCkudGhlbigocmVzKSA9PiByZXMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9wZXJhdGlvbnNCeUVxdWlwbWVudElEKGlkOiBzdHJpbmcpOiBQcm9taXNlPE9wZXJhdGlvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5PcGVyYXRpb25zQnlFcXVpcG1lbnQoaWQpLnRoZW4oKHJlcykgPT4gcmVzLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRUaWNrZXRzQnlFcXVpcG1lbnRJRChpZDogc3RyaW5nKTogUHJvbWlzZTxUaWNrZXRbXT4ge1xyXG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbnMgPSBhd2FpdCB0aGlzLmdldE9wZXJhdGlvbnNCeUVxdWlwbWVudElEKGlkKTtcclxuICAgICAgICBjb25zdCB0aWNrZXRzID0gb3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbikgPT4gb3BlcmF0aW9uLnRpY2tldCk7XHJcbiAgICAgICAgcmV0dXJuIHRpY2tldHM7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlT3BlcmF0aW9uc0ZvckVxdWlwbWVudChlcXVpcElEOiBzdHJpbmcpOiBQcm9taXNlPE9wZXJhdGlvbltdPiB7XHJcbiAgICAgICAgY29uc3QgZGVsZXRlZCA9IFtdO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0T3BlcmF0aW9uc0J5RXF1aXBtZW50SUQoZXF1aXBJRClcclxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKG9wZXJhdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9ucy5tYXAoYXN5bmMgKG9wKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWxldGVkT3AgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlT3BlcmF0aW9uKHsgaWQ6IG9wLmlkIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlZC5wdXNoKGRlbGV0ZWRPcClcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGRlbGV0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlT3BlcmF0aW9uc0ZvclRpY2tldCh0aWNrZXRJRDogc3RyaW5nKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5nZXRPcGVyYXRpb25zQnlUaWNrZXRJRCh0aWNrZXRJRClcclxuICAgICAgICAudGhlbihhc3luYyAob3BlcmF0aW9ucykgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3BlcmF0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25zLm1hcChhc3luYyAob3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZU9wZXJhdGlvbih7IGlkOiBvcC5pZCB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGVPcGVyYXRpb24ob3BlcmF0aW9uSUQ6IHN0cmluZyk6IFByb21pc2U8T3BlcmF0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVPcGVyYXRpb24oeyBpZDogb3BlcmF0aW9uSUQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlT3BlcmF0aW9uKG9wZXJhdGlvbjogT3BlcmF0aW9uKTogUHJvbWlzZTxPcGVyYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZU9wZXJhdGlvbihvcGVyYXRpb24pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable class-methods-use-this */
2
2
  import { Inject, Injectable } from "@angular/core";
3
3
  import * as i0 from "@angular/core";
4
- class OrganisationService {
4
+ export class OrganisationService {
5
5
  smarterPlanID = "6e28201f-4679-4c29-9d2d-8a325f57cee9";
6
6
  API; //AWS APIService
7
7
  constructor(apiInjected) {
@@ -59,17 +59,16 @@ class OrganisationService {
59
59
  orgs = orgs.filter((org) => org.id !== this.smarterPlanID);
60
60
  return orgs.length > 0 ? orgs[0] : null;
61
61
  }
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
63
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationService, providedIn: "root" });
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OrganisationService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OrganisationService, providedIn: "root" });
64
64
  }
65
- export { OrganisationService };
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationService, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OrganisationService, decorators: [{
67
66
  type: Injectable,
68
67
  args: [{
69
68
  providedIn: "root",
70
69
  }]
71
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
70
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
72
71
  type: Inject,
73
72
  args: ['currentAPIService']
74
- }] }]; } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL21vZGVscy9vcmdhbmlzYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR25ELE1BR2EsbUJBQW1CO0lBQzVCLGFBQWEsR0FBRyxzQ0FBc0MsQ0FBQztJQUN2RCxHQUFHLENBQU0sQ0FBQyxnQkFBZ0I7SUFFMUIsWUFBeUMsV0FBZ0I7UUFDckQsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyw0QkFBNEIsQ0FDOUIsS0FBYTtRQUViLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxHQUFHLEVBQUU7WUFDTCxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLEtBQWE7UUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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ZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9yZ2FuaXNhdGlvbiwgUHJvcGVydHkgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmdhbmlzYXRpb25TZXJ2aWNlIHtcclxuICAgIHNtYXJ0ZXJQbGFuSUQgPSBcIjZlMjgyMDFmLTQ2NzktNGMyOS05ZDJkLThhMzI1ZjU3Y2VlOVwiO1xyXG4gICAgQVBJOiBhbnk7IC8vQVdTIEFQSVNlcnZpY2VcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldFByb3BlcnRpZXNGb3JPcmdhbmlzYXRpb24oXHJcbiAgICAgICAgb3JnSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QXJyYXk8UHJvcGVydHk+PiB7XHJcbiAgICAgICAgY29uc3Qgb3JnID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLkdldE9yZ2FuaXNhdGlvbih7IGlkOiBvcmdJRCB9KTtcclxuICAgICAgICBpZiAob3JnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvcmcucHJvcGVydGllcy5pdGVtcztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9yZ2FuaXNhdGlvbkJ5VG9rZW4odG9rZW46IHN0cmluZyk6IFByb21pc2U8T3JnYW5pc2F0aW9uPiB7XHJcbiAgICAgICAgY29uc3Qgb3JncyA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5PcmdhbmlzYXRpb25zQnlUb2tlbih0b2tlbik7XHJcbiAgICAgICAgaWYgKG9yZ3MuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBvcmcgPSBvcmdzLml0ZW1zWzBdO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2tlbklzRXhwaXJlZEZvck9yZyhvcmcpID8gbnVsbCA6IG9yZztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdG9rZW5Jc0V4cGlyZWRGb3JPcmcob3JnOiBPcmdhbmlzYXRpb24pOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBleHBpcmF0aW9uRGF0ZSA9IG5ldyBEYXRlKG9yZy50b2tlbkV4cGlyZXNBdCk7XHJcbiAgICAgICAgY29uc3QgZGlmZlRpbWUgPSBleHBpcmF0aW9uRGF0ZS5nZXRUaW1lKCkgLSBEYXRlLm5vdygpO1xyXG4gICAgICAgIHJldHVybiBkaWZmVGltZSA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc29mdERldGVsZU9yZyhvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxPcmdhbmlzYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZU9yZ2FuaXNhdGlvbih7XHJcbiAgICAgICAgICAgIGlkOiBvcmdJRCxcclxuICAgICAgICAgICAgZGVsZXRlZEF0OiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZU9yZ2FuaXNhdGlvbihpbnB1dDogYW55KTogUHJvbWlzZTxPcmdhbmlzYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZU9yZ2FuaXNhdGlvbihpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlT3JnYW5pc2F0aW9uKG9yZ0lEOiBzdHJpbmcpOiBQcm9taXNlPE9yZ2FuaXNhdGlvbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlT3JnYW5pc2F0aW9uKHsgaWQ6IG9yZ0lEIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZU9yZ2FuaXNhdGlvbihpbnB1dDogT3JnYW5pc2F0aW9uKTogUHJvbWlzZTxPcmdhbmlzYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZU9yZ2FuaXNhdGlvbihpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0T3JnYW5pc2F0aW9uKG9yZ0lEOiBzdHJpbmcpOiBQcm9taXNlPE9yZ2FuaXNhdGlvbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uR2V0T3JnYW5pc2F0aW9uKHsgaWQ6IG9yZ0lEIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGxpc3RPcmdhbmlzYXRpb25zKCk6IFByb21pc2U8T3JnYW5pc2F0aW9uW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkxpc3RPcmdhbmlzYXRpb25zKCkudGhlbigob3JncykgPT4gb3Jncy5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0T3JnYW5pc2F0aW9uRm9yU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxPcmdhbmlzYXRpb24+IHtcclxuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLkxpc3RQcm9wZXJ0aWVzKHtcclxuICAgICAgICAgICAgc3BhY2VJRDogeyBlcTogc3BhY2VJRCB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGxldCBvcmdzID0gcHJvcGVydGllcy5pdGVtcy5tYXAoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eS5vcmdhbmlzYXRpb24pO1xyXG4gICAgICAgIGlmIChvcmdzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb3Jnc1swXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb3JncyA9IG9yZ3MuZmlsdGVyKChvcmcpID0+IG9yZy5pZCAhPT0gdGhpcy5zbWFydGVyUGxhbklEKTtcclxuICAgICAgICByZXR1cm4gb3Jncy5sZW5ndGggPiAwID8gb3Jnc1swXSA6IG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
73
+ }] }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL21vZGVscy9vcmdhbmlzYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsYUFBYSxHQUFHLHNDQUFzQyxDQUFDO0lBQ3ZELEdBQUcsQ0FBTSxDQUFDLGdCQUFnQjtJQUUxQixZQUF5QyxXQUFnQjtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QixDQUM5QixLQUFhO1FBRWIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ04sT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLEtBQWE7UUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENB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c0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2xhc3MtbWV0aG9kcy11c2UtdGhpcyAqL1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPcmdhbmlzYXRpb24sIFByb3BlcnR5IH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JnYW5pc2F0aW9uU2VydmljZSB7XHJcbiAgICBzbWFydGVyUGxhbklEID0gXCI2ZTI4MjAxZi00Njc5LTRjMjktOWQyZC04YTMyNWY1N2NlZTlcIjtcclxuICAgIEFQSTogYW55OyAvL0FXUyBBUElTZXJ2aWNlXHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdCgnY3VycmVudEFQSVNlcnZpY2UnKSBhcGlJbmplY3RlZDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5BUEkgPSBhcGlJbmplY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRQcm9wZXJ0aWVzRm9yT3JnYW5pc2F0aW9uKFxyXG4gICAgICAgIG9yZ0lEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPEFycmF5PFByb3BlcnR5Pj4ge1xyXG4gICAgICAgIGNvbnN0IG9yZyA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRPcmdhbmlzYXRpb24oeyBpZDogb3JnSUQgfSk7XHJcbiAgICAgICAgaWYgKG9yZykge1xyXG4gICAgICAgICAgICByZXR1cm4gb3JnLnByb3BlcnRpZXMuaXRlbXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRPcmdhbmlzYXRpb25CeVRva2VuKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPE9yZ2FuaXNhdGlvbj4ge1xyXG4gICAgICAgIGNvbnN0IG9yZ3MgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uT3JnYW5pc2F0aW9uc0J5VG9rZW4odG9rZW4pO1xyXG4gICAgICAgIGlmIChvcmdzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3Qgb3JnID0gb3Jncy5pdGVtc1swXTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5Jc0V4cGlyZWRGb3JPcmcob3JnKSA/IG51bGwgOiBvcmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRva2VuSXNFeHBpcmVkRm9yT3JnKG9yZzogT3JnYW5pc2F0aW9uKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZXhwaXJhdGlvbkRhdGUgPSBuZXcgRGF0ZShvcmcudG9rZW5FeHBpcmVzQXQpO1xyXG4gICAgICAgIGNvbnN0IGRpZmZUaW1lID0gZXhwaXJhdGlvbkRhdGUuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKTtcclxuICAgICAgICByZXR1cm4gZGlmZlRpbWUgPCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNvZnREZXRlbGVPcmcob3JnSUQ6IHN0cmluZyk6IFByb21pc2U8T3JnYW5pc2F0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVPcmdhbmlzYXRpb24oe1xyXG4gICAgICAgICAgICBpZDogb3JnSUQsXHJcbiAgICAgICAgICAgIGRlbGV0ZWRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVPcmdhbmlzYXRpb24oaW5wdXQ6IGFueSk6IFByb21pc2U8T3JnYW5pc2F0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVPcmdhbmlzYXRpb24oaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZU9yZ2FuaXNhdGlvbihvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxPcmdhbmlzYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZU9yZ2FuaXNhdGlvbih7IGlkOiBvcmdJRCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVPcmdhbmlzYXRpb24oaW5wdXQ6IE9yZ2FuaXNhdGlvbik6IFByb21pc2U8T3JnYW5pc2F0aW9uPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVPcmdhbmlzYXRpb24oaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9yZ2FuaXNhdGlvbihvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxPcmdhbmlzYXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkdldE9yZ2FuaXNhdGlvbih7IGlkOiBvcmdJRCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBsaXN0T3JnYW5pc2F0aW9ucygpOiBQcm9taXNlPE9yZ2FuaXNhdGlvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5MaXN0T3JnYW5pc2F0aW9ucygpLnRoZW4oKG9yZ3MpID0+IG9yZ3MuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldE9yZ2FuaXNhdGlvbkZvclNwYWNlKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8T3JnYW5pc2F0aW9uPiB7XHJcbiAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5MaXN0UHJvcGVydGllcyh7XHJcbiAgICAgICAgICAgIHNwYWNlSUQ6IHsgZXE6IHNwYWNlSUQgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBsZXQgb3JncyA9IHByb3BlcnRpZXMuaXRlbXMubWFwKChwcm9wZXJ0eSkgPT4gcHJvcGVydHkub3JnYW5pc2F0aW9uKTtcclxuICAgICAgICBpZiAob3Jncy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9yZ3NbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9yZ3MgPSBvcmdzLmZpbHRlcigob3JnKSA9PiBvcmcuaWQgIT09IHRoaXMuc21hcnRlclBsYW5JRCk7XHJcbiAgICAgICAgcmV0dXJuIG9yZ3MubGVuZ3RoID4gMCA/IG9yZ3NbMF0gOiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==