@tuki-io/tuki-widgets 0.0.219-dev.32 → 0.0.219-dev.34

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 (31) hide show
  1. package/di2mt/api/api.endpoints.d.ts +3 -0
  2. package/esm2020/di2mt/api/api.endpoints.mjs +4 -1
  3. package/esm2020/meetings/src/app.constants.mjs +9 -0
  4. package/esm2020/meetings/src/components/live-meetings/live-meetings.component.mjs +2 -2
  5. package/esm2020/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.mjs +26 -12
  6. package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +12 -16
  7. package/esm2020/meetings/src/material.module.mjs +19 -5
  8. package/esm2020/meetings/src/meetings.component.mjs +4 -4
  9. package/esm2020/meetings/src/meetings.module.mjs +5 -2
  10. package/esm2020/meetings/src/services/api.service.mjs +1 -1
  11. package/esm2020/meetings/src/services/meeting-spaces.service.mjs +41 -137
  12. package/esm2020/meetings/src/types/meeting-space.mjs +1 -1
  13. package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +14 -0
  14. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +3 -0
  15. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  16. package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +110 -174
  17. package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
  18. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +3 -0
  19. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  20. package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +120 -172
  21. package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
  22. package/meetings/src/app.constants.d.ts +8 -0
  23. package/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.d.ts +7 -1
  24. package/meetings/src/components/meeting-spaces/meeting-spaces.component.d.ts +2 -4
  25. package/meetings/src/material.module.d.ts +3 -1
  26. package/meetings/src/meetings.module.d.ts +6 -5
  27. package/meetings/src/services/api.service.d.ts +1 -1
  28. package/meetings/src/services/meeting-spaces.service.d.ts +4 -4
  29. package/meetings/src/types/meeting-space.d.ts +9 -7
  30. package/meetings/src/utils/app-loader/app-loader.d.ts +6 -0
  31. package/package.json +1 -1
@@ -4,6 +4,7 @@ import * as i1 from "../../services/meeting-spaces.service";
4
4
  import * as i2 from "@angular/common";
5
5
  import * as i3 from "@angular/forms";
6
6
  import * as i4 from "@angular/material/icon";
7
+ import * as i5 from "../../utils/app-loader/app-loader";
7
8
  export class MeetingSpacesComponent {
8
9
  constructor(meetingSpacesService) {
9
10
  this.meetingSpacesService = meetingSpacesService;
@@ -13,29 +14,24 @@ export class MeetingSpacesComponent {
13
14
  this.searchTerm = '';
14
15
  this.isFilterPanelOpen = false;
15
16
  this.filters = {
16
- owner: '',
17
- cluster: '',
17
+ autoGenerated: '',
18
18
  };
19
+ this.isLoading = false;
19
20
  }
20
21
  ngOnInit() {
22
+ this.isLoading = true;
21
23
  this.meetingSpacesService.fetchMeetingSpaces().subscribe(meetingSpaces => {
22
24
  this.meetingSpaces = meetingSpaces;
25
+ this.isLoading = false;
23
26
  });
24
27
  }
25
- get owners() {
26
- return Array.from(new Set(this.meetingSpaces.map(space => space.owner))).sort();
27
- }
28
- get clusters() {
29
- return Array.from(new Set(this.meetingSpaces.map(space => space.cluster))).sort();
30
- }
31
28
  get filteredMeetingSpaces() {
32
29
  const term = this.searchTerm.trim().toLowerCase();
33
30
  return this.meetingSpaces.filter(space => (!term ||
34
31
  space.name.toLowerCase().includes(term) ||
35
- space.uri.toLowerCase().includes(term) ||
36
- space.meetingId.toLowerCase().includes(term)) &&
37
- (!this.filters.owner || space.owner === this.filters.owner) &&
38
- (!this.filters.cluster || space.cluster === this.filters.cluster));
32
+ (space.uri ?? '').toLowerCase().includes(term) ||
33
+ String(space.callId).includes(term)) &&
34
+ (!this.filters.autoGenerated || String(space.autoGenerated) === this.filters.autoGenerated));
39
35
  }
40
36
  onSearchInputChange(event) {
41
37
  this.searchTerm = event.target.value;
@@ -53,17 +49,17 @@ export class MeetingSpacesComponent {
53
49
  this.isFilterPanelOpen = false;
54
50
  }
55
51
  clearFilters() {
56
- this.filters = { owner: '', cluster: '' };
52
+ this.filters = { autoGenerated: '' };
57
53
  }
58
54
  }
59
55
  MeetingSpacesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesComponent, deps: [{ token: i1.MeetingSpacesService }], target: i0.ɵɵFactoryTarget.Component });
60
- MeetingSpacesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MeetingSpacesComponent, selector: "tk-meeting-spaces", outputs: { createMeetingSpace: "createMeetingSpace", editMeetingSpace: "editMeetingSpace" }, ngImport: i0, template: "<div class=\"tk-meeting-spaces__header\">\r\n <h2 class=\"tk-meeting-spaces__title\">Meeting Spaces</h2>\r\n <button type=\"button\" class=\"tk-meeting-spaces__create-button\" (click)=\"onCreateMeetingSpace()\">\r\n <mat-icon class=\"tk-meeting-spaces__create-icon\">add</mat-icon>\r\n Create meeting space\r\n </button>\r\n</div>\r\n\r\n<div class=\"tk-meeting-spaces__toolbar\">\r\n <div style=\"position: relative; width: fit-content; min-width: 200px\">\r\n <input\r\n [value]=\"searchTerm\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\r\n </span>\r\n </div>\r\n\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-button\" (click)=\"toggleFilterPanel()\">\r\n <img class=\"tk-meeting-spaces__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\r\n Filter\r\n </button>\r\n\r\n <span class=\"tk-meeting-spaces__count\">{{ filteredMeetingSpaces.length }} spaces</span>\r\n</div>\r\n\r\n<table class=\"tk-meeting-spaces__table\">\r\n <thead>\r\n <tr>\r\n <th>Meeting Name</th>\r\n <th>URI</th>\r\n <th>Meeting ID</th>\r\n <th>Participants</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let space of filteredMeetingSpaces\">\r\n <td class=\"tk-meeting-spaces__name-cell\">\r\n <a href=\"javascript:void(0)\" class=\"tk-meeting-spaces__name-link\" (click)=\"onEditMeetingSpace(space)\">{{ space.name }}</a>\r\n <span *ngIf=\"space.managed\" class=\"tk-meeting-spaces__badge\">Managed</span>\r\n </td>\r\n <td>{{ space.uri }}</td>\r\n <td>{{ space.meetingId }}</td>\r\n <td>{{ space.participants }}</td>\r\n </tr>\r\n <tr *ngIf=\"!filteredMeetingSpaces.length\">\r\n <td colspan=\"4\" class=\"tk-meeting-spaces__empty\">No meeting spaces match your search.</td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<div class=\"tk-meeting-spaces__footer\">\r\n <span class=\"tk-meeting-spaces__footer-text\">\r\n Showing {{ filteredMeetingSpaces.length ? 1 : 0 }}-{{ filteredMeetingSpaces.length }} of {{ meetingSpaces.length }}\r\n </span>\r\n <div class=\"tk-meeting-spaces__pagination\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Previous</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Next</button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"tk-meeting-spaces__filter-backdrop\"\r\n *ngIf=\"isFilterPanelOpen\"\r\n (click)=\"closeFilterPanel()\">\r\n</div>\r\n\r\n<aside class=\"tk-meeting-spaces__filter-panel\" [class.tk-meeting-spaces__filter-panel--open]=\"isFilterPanelOpen\">\r\n <div class=\"tk-meeting-spaces__filter-panel-header\">\r\n <h3 class=\"tk-meeting-spaces__filter-panel-title\">Filter meeting spaces</h3>\r\n <button\r\n type=\"button\"\r\n class=\"tk-meeting-spaces__filter-panel-close\"\r\n aria-label=\"Close filter panel\"\r\n (click)=\"closeFilterPanel()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-body\">\r\n <div class=\"tk-meeting-spaces__filter-field\">\r\n <label class=\"tk-meeting-spaces__filter-label\" for=\"tk-meeting-spaces-filter-owner\">Owner</label>\r\n <div class=\"tk-meeting-spaces__filter-select-wrap\">\r\n <select id=\"tk-meeting-spaces-filter-owner\" class=\"tk-meeting-spaces__filter-select\" [(ngModel)]=\"filters.owner\">\r\n <option value=\"\">All owners</option>\r\n <option *ngFor=\"let owner of owners\" [value]=\"owner\">{{ owner }}</option>\r\n </select>\r\n <mat-icon class=\"tk-meeting-spaces__filter-select-icon\">expand_more</mat-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-field\">\r\n <label class=\"tk-meeting-spaces__filter-label\" for=\"tk-meeting-spaces-filter-cluster\">Cluster</label>\r\n <div class=\"tk-meeting-spaces__filter-select-wrap\">\r\n <select id=\"tk-meeting-spaces-filter-cluster\" class=\"tk-meeting-spaces__filter-select\" [(ngModel)]=\"filters.cluster\">\r\n <option value=\"\">All clusters</option>\r\n <option *ngFor=\"let cluster of clusters\" [value]=\"cluster\">{{ cluster }}</option>\r\n </select>\r\n <mat-icon class=\"tk-meeting-spaces__filter-select-icon\">expand_more</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-footer\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-clear\" (click)=\"clearFilters()\">Clear all</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-done\" (click)=\"closeFilterPanel()\">Done</button>\r\n </div>\r\n</aside>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meeting-spaces__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tk-meeting-spaces__title{margin:0;font-size:1.125rem;font-weight:600}.tk-meeting-spaces__create-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.tk-meeting-spaces__create-button:hover{background:#222}.tk-meeting-spaces__create-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-meeting-spaces__toolbar{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 1rem}.tk-meeting-spaces__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-meeting-spaces__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meeting-spaces__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__search-input::placeholder{color:#0006}.tk-meeting-spaces__filter-button{display:inline-flex;align-items:center;gap:.375rem;height:34px;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:.5rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-button:hover{background:rgba(0,0,0,.03)}.tk-meeting-spaces__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-meeting-spaces__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-meeting-spaces__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-meeting-spaces__table th{height:29px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:.75rem;font-weight:500;color:#000000b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%;cursor:pointer}.tk-meeting-spaces__table th:hover{background-color:#dedede}.tk-meeting-spaces__table td{min-height:39px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px 0 0 var(--mch-OutlineSecondary-normal, rgba(0, 0, 0, .2));background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color .2s,box-shadow .2s}.tk-meeting-spaces__table tbody tr:hover td{background:#ededed}.tk-meeting-spaces__table th:first-child,.tk-meeting-spaces__table td:first-child{width:14rem}.tk-meeting-spaces__table td:first-child{box-shadow:0 -.0625rem .25rem #0000001c;transition:background-color .2s,box-shadow .2s;border-block-end:.0625rem solid rgba(0,0,0,.2);clip-path:inset(0 -.25rem 0 -.25rem)}.tk-meeting-spaces__name-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.tk-meeting-spaces__name-link{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000000de;font-weight:500;text-decoration:none}.tk-meeting-spaces__badge{padding:.125rem .5rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.6875rem;font-weight:500;color:#0009;white-space:nowrap;flex-shrink:0}.tk-meeting-spaces__empty{padding:1.5rem;text-align:center;color:#0009}.tk-meeting-spaces__footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.8125rem;color:#0009}.tk-meeting-spaces__pagination{display:flex;gap:1rem}.tk-meeting-spaces__pagination-button{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:#0009;cursor:pointer}.tk-meeting-spaces__pagination-button:disabled{color:#0000004d;cursor:default}.tk-meeting-spaces__filter-backdrop{position:fixed;inset:0;z-index:1000;background-color:oklch(18% .01 260/20%)}.tk-meeting-spaces__filter-panel{position:fixed;top:0;right:0;bottom:0;z-index:1001;display:flex;flex-direction:column;width:22rem;max-width:100vw;background:#fff;border-left:1px solid rgba(0,0,0,.12);box-shadow:-4px 0 16px #00000014;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;transform:translate(100%);transition:transform .1s ease;will-change:transform}.tk-meeting-spaces__filter-panel--open{transform:translate(0)}.tk-meeting-spaces__filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.12)}.tk-meeting-spaces__filter-panel-title{margin:0;font-size:1rem;font-weight:600;color:#000000f2}.tk-meeting-spaces__filter-panel-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:#0009;cursor:pointer}.tk-meeting-spaces__filter-panel-close:hover{color:#000000f2}.tk-meeting-spaces__filter-panel-body{padding:1.5rem 1.5rem 0;overflow-y:auto}.tk-meeting-spaces__filter-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.tk-meeting-spaces__filter-label{font-size:.8125rem;font-weight:500;color:#000000f2}.tk-meeting-spaces__filter-select-wrap{position:relative;display:flex;align-items:center}.tk-meeting-spaces__filter-select{width:100%;appearance:none;padding:.625rem 2rem .625rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-select:focus{outline:none;border-color:#0006}.tk-meeting-spaces__filter-select-icon{position:absolute;right:.5rem;font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006;pointer-events:none}.tk-meeting-spaces__filter-panel-footer{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}.tk-meeting-spaces__filter-clear{background:none;border:none;padding:0;font-family:inherit;font-size:.813rem;font-weight:500;color:#000000f2;cursor:pointer;padding-inline:.75rem;height:2rem;border-radius:6px}.tk-meeting-spaces__filter-clear:hover{background-color:oklch(95.5% .005 260)}.tk-meeting-spaces__filter-done{background-color:#fff;border-radius:6px;font-weight:500;font-family:inherit;font-size:.813rem;cursor:pointer;border:1px solid oklch(92% .003 260);padding-inline:.75rem;height:2rem}.tk-meeting-spaces__filter-done:hover{background-color:oklch(95.5% .005 260)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
56
+ MeetingSpacesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MeetingSpacesComponent, selector: "tk-meeting-spaces", outputs: { createMeetingSpace: "createMeetingSpace", editMeetingSpace: "editMeetingSpace" }, ngImport: i0, template: "<app-loader *ngIf=\"isLoading\"></app-loader>\r\n\r\n<div class=\"tk-meeting-spaces__header\">\r\n <h2 class=\"tk-meeting-spaces__title\">Meeting Spaces</h2>\r\n <button type=\"button\" class=\"tk-meeting-spaces__create-button\" (click)=\"onCreateMeetingSpace()\">\r\n <mat-icon class=\"tk-meeting-spaces__create-icon\">add</mat-icon>\r\n Create meeting space\r\n </button>\r\n</div>\r\n\r\n<div class=\"tk-meeting-spaces__toolbar\">\r\n <div style=\"position: relative; width: fit-content; min-width: 200px\">\r\n <input\r\n [value]=\"searchTerm\"\r\n class=\"blue-input\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\r\n </span>\r\n </div>\r\n\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-button\" (click)=\"toggleFilterPanel()\">\r\n <img class=\"tk-meeting-spaces__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\r\n Filter\r\n </button>\r\n\r\n <span class=\"tk-meeting-spaces__count\">{{ filteredMeetingSpaces.length }} spaces</span>\r\n</div>\r\n\r\n<table class=\"tk-meeting-spaces__table\">\r\n <thead>\r\n <tr>\r\n <th>Meeting Name</th>\r\n <th>URI</th>\r\n <th>Meeting ID</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let space of filteredMeetingSpaces\">\r\n <td class=\"tk-meeting-spaces__name-cell\">\r\n <a href=\"javascript:void(0)\" class=\"tk-meeting-spaces__name-link\" (click)=\"onEditMeetingSpace(space)\">{{ space.name }}</a>\r\n <span *ngIf=\"space.autoGenerated\" class=\"tk-meeting-spaces__badge\">Auto-generated</span>\r\n </td>\r\n <td>{{ space.uri || '\u2014' }}</td>\r\n <td>{{ space.callId }}</td>\r\n </tr>\r\n <tr *ngIf=\"!filteredMeetingSpaces.length\">\r\n <td colspan=\"3\" class=\"tk-meeting-spaces__empty\">No meeting spaces match your search.</td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<div class=\"tk-meeting-spaces__footer\">\r\n <span class=\"tk-meeting-spaces__footer-text\">\r\n Showing {{ filteredMeetingSpaces.length ? 1 : 0 }}-{{ filteredMeetingSpaces.length }} of {{ meetingSpaces.length }}\r\n </span>\r\n <div class=\"tk-meeting-spaces__pagination\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Previous</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Next</button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"tk-meeting-spaces__filter-backdrop\"\r\n *ngIf=\"isFilterPanelOpen\"\r\n (click)=\"closeFilterPanel()\">\r\n</div>\r\n\r\n<aside class=\"tk-meeting-spaces__filter-panel\" [class.tk-meeting-spaces__filter-panel--open]=\"isFilterPanelOpen\">\r\n <div class=\"tk-meeting-spaces__filter-panel-header\">\r\n <h3 class=\"tk-meeting-spaces__filter-panel-title\">Filter meeting spaces</h3>\r\n <button\r\n type=\"button\"\r\n class=\"tk-meeting-spaces__filter-panel-close\"\r\n aria-label=\"Close filter panel\"\r\n (click)=\"closeFilterPanel()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-body\">\r\n <div class=\"tk-meeting-spaces__filter-field\">\r\n <label class=\"tk-meeting-spaces__filter-label\" for=\"tk-meeting-spaces-filter-auto-generated\">Auto-generated</label>\r\n <div class=\"tk-meeting-spaces__filter-select-wrap\">\r\n <select id=\"tk-meeting-spaces-filter-auto-generated\" class=\"tk-meeting-spaces__filter-select\" [(ngModel)]=\"filters.autoGenerated\">\r\n <option value=\"\">All</option>\r\n <option value=\"true\">Yes</option>\r\n <option value=\"false\">No</option>\r\n </select>\r\n <mat-icon class=\"tk-meeting-spaces__filter-select-icon\">expand_more</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-footer\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-clear\" (click)=\"clearFilters()\">Clear all</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-done\" (click)=\"closeFilterPanel()\">Done</button>\r\n </div>\r\n</aside>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meeting-spaces__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tk-meeting-spaces__title{margin:0;font-size:1.125rem;font-weight:600}.tk-meeting-spaces__create-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.tk-meeting-spaces__create-button:hover{background:#222}.tk-meeting-spaces__create-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-meeting-spaces__toolbar{display:flex;align-items:center;gap:.75rem;margin:.5rem .5rem 1rem}.tk-meeting-spaces__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-meeting-spaces__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meeting-spaces__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__search-input::placeholder{color:#0006}.tk-meeting-spaces__filter-button{display:inline-flex;align-items:center;gap:.375rem;height:34px;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:.5rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-button:hover{background:rgba(0,0,0,.03)}.tk-meeting-spaces__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-meeting-spaces__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-meeting-spaces__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-meeting-spaces__table th{height:48px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:12px;font-weight:500;color:#636363;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%;cursor:pointer;box-sizing:border-box}.tk-meeting-spaces__table th:hover{background-color:#dedede}.tk-meeting-spaces__table td{min-height:49px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px 0 0 var(--mch-OutlineSecondary-normal, rgba(0, 0, 0, .2));background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color .2s,box-shadow .2s;box-sizing:border-box}.tk-meeting-spaces__table tbody tr:hover td{background:#ededed}.tk-meeting-spaces__table th:first-child,.tk-meeting-spaces__table td:first-child{width:14rem}.tk-meeting-spaces__table td:first-child{box-shadow:0 -.0625rem .25rem #0000001c;transition:background-color .2s,box-shadow .2s;border-block-end:.0625rem solid rgba(0,0,0,.2);clip-path:inset(0 -.25rem 0 -.25rem)}.tk-meeting-spaces__name-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.tk-meeting-spaces__name-link{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000000de;font-weight:500;text-decoration:none}.tk-meeting-spaces__badge{padding:.125rem .5rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.6875rem;font-weight:500;color:#0009;white-space:nowrap;flex-shrink:0}.tk-meeting-spaces__empty{padding:1.5rem;text-align:center;color:#0009}.tk-meeting-spaces__footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.8125rem;color:#0009}.tk-meeting-spaces__pagination{display:flex;gap:1rem}.tk-meeting-spaces__pagination-button{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:#0009;cursor:pointer}.tk-meeting-spaces__pagination-button:disabled{color:#0000004d;cursor:default}.tk-meeting-spaces__filter-backdrop{position:fixed;inset:0;z-index:1000;background-color:oklch(18% .01 260/20%)}.tk-meeting-spaces__filter-panel{position:fixed;top:0;right:0;bottom:0;z-index:1001;display:flex;flex-direction:column;width:22rem;max-width:100vw;background:#fff;border-left:1px solid rgba(0,0,0,.12);box-shadow:-4px 0 16px #00000014;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;transform:translate(100%);transition:transform .1s ease;will-change:transform}.tk-meeting-spaces__filter-panel--open{transform:translate(0)}.tk-meeting-spaces__filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.12)}.tk-meeting-spaces__filter-panel-title{margin:0;font-size:1rem;font-weight:600;color:#000000f2}.tk-meeting-spaces__filter-panel-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:#0009;cursor:pointer}.tk-meeting-spaces__filter-panel-close:hover{color:#000000f2}.tk-meeting-spaces__filter-panel-body{padding:1.5rem 1.5rem 0;overflow-y:auto}.tk-meeting-spaces__filter-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.tk-meeting-spaces__filter-label{font-size:.8125rem;font-weight:500;color:#000000f2}.tk-meeting-spaces__filter-select-wrap{position:relative;display:flex;align-items:center}.tk-meeting-spaces__filter-select{width:100%;appearance:none;padding:.625rem 2rem .625rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-select:focus{outline:none;border-color:#0006}.tk-meeting-spaces__filter-select-icon{position:absolute;right:.5rem;font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006;pointer-events:none}.tk-meeting-spaces__filter-panel-footer{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}.tk-meeting-spaces__filter-clear{background:none;border:none;padding:0;font-family:inherit;font-size:.813rem;font-weight:500;color:#000000f2;cursor:pointer;padding-inline:.75rem;height:2rem;border-radius:6px}.tk-meeting-spaces__filter-clear:hover{background-color:oklch(95.5% .005 260)}.tk-meeting-spaces__filter-done{background-color:#fff;border-radius:6px;font-weight:500;font-family:inherit;font-size:.813rem;cursor:pointer;border:1px solid oklch(92% .003 260);padding-inline:.75rem;height:2rem}.tk-meeting-spaces__filter-done:hover{background-color:oklch(95.5% .005 260)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.AppLoaderComponent, selector: "app-loader" }] });
61
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingSpacesComponent, decorators: [{
62
58
  type: Component,
63
- args: [{ selector: 'tk-meeting-spaces', template: "<div class=\"tk-meeting-spaces__header\">\r\n <h2 class=\"tk-meeting-spaces__title\">Meeting Spaces</h2>\r\n <button type=\"button\" class=\"tk-meeting-spaces__create-button\" (click)=\"onCreateMeetingSpace()\">\r\n <mat-icon class=\"tk-meeting-spaces__create-icon\">add</mat-icon>\r\n Create meeting space\r\n </button>\r\n</div>\r\n\r\n<div class=\"tk-meeting-spaces__toolbar\">\r\n <div style=\"position: relative; width: fit-content; min-width: 200px\">\r\n <input\r\n [value]=\"searchTerm\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\r\n </span>\r\n </div>\r\n\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-button\" (click)=\"toggleFilterPanel()\">\r\n <img class=\"tk-meeting-spaces__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\r\n Filter\r\n </button>\r\n\r\n <span class=\"tk-meeting-spaces__count\">{{ filteredMeetingSpaces.length }} spaces</span>\r\n</div>\r\n\r\n<table class=\"tk-meeting-spaces__table\">\r\n <thead>\r\n <tr>\r\n <th>Meeting Name</th>\r\n <th>URI</th>\r\n <th>Meeting ID</th>\r\n <th>Participants</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let space of filteredMeetingSpaces\">\r\n <td class=\"tk-meeting-spaces__name-cell\">\r\n <a href=\"javascript:void(0)\" class=\"tk-meeting-spaces__name-link\" (click)=\"onEditMeetingSpace(space)\">{{ space.name }}</a>\r\n <span *ngIf=\"space.managed\" class=\"tk-meeting-spaces__badge\">Managed</span>\r\n </td>\r\n <td>{{ space.uri }}</td>\r\n <td>{{ space.meetingId }}</td>\r\n <td>{{ space.participants }}</td>\r\n </tr>\r\n <tr *ngIf=\"!filteredMeetingSpaces.length\">\r\n <td colspan=\"4\" class=\"tk-meeting-spaces__empty\">No meeting spaces match your search.</td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<div class=\"tk-meeting-spaces__footer\">\r\n <span class=\"tk-meeting-spaces__footer-text\">\r\n Showing {{ filteredMeetingSpaces.length ? 1 : 0 }}-{{ filteredMeetingSpaces.length }} of {{ meetingSpaces.length }}\r\n </span>\r\n <div class=\"tk-meeting-spaces__pagination\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Previous</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Next</button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"tk-meeting-spaces__filter-backdrop\"\r\n *ngIf=\"isFilterPanelOpen\"\r\n (click)=\"closeFilterPanel()\">\r\n</div>\r\n\r\n<aside class=\"tk-meeting-spaces__filter-panel\" [class.tk-meeting-spaces__filter-panel--open]=\"isFilterPanelOpen\">\r\n <div class=\"tk-meeting-spaces__filter-panel-header\">\r\n <h3 class=\"tk-meeting-spaces__filter-panel-title\">Filter meeting spaces</h3>\r\n <button\r\n type=\"button\"\r\n class=\"tk-meeting-spaces__filter-panel-close\"\r\n aria-label=\"Close filter panel\"\r\n (click)=\"closeFilterPanel()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-body\">\r\n <div class=\"tk-meeting-spaces__filter-field\">\r\n <label class=\"tk-meeting-spaces__filter-label\" for=\"tk-meeting-spaces-filter-owner\">Owner</label>\r\n <div class=\"tk-meeting-spaces__filter-select-wrap\">\r\n <select id=\"tk-meeting-spaces-filter-owner\" class=\"tk-meeting-spaces__filter-select\" [(ngModel)]=\"filters.owner\">\r\n <option value=\"\">All owners</option>\r\n <option *ngFor=\"let owner of owners\" [value]=\"owner\">{{ owner }}</option>\r\n </select>\r\n <mat-icon class=\"tk-meeting-spaces__filter-select-icon\">expand_more</mat-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-field\">\r\n <label class=\"tk-meeting-spaces__filter-label\" for=\"tk-meeting-spaces-filter-cluster\">Cluster</label>\r\n <div class=\"tk-meeting-spaces__filter-select-wrap\">\r\n <select id=\"tk-meeting-spaces-filter-cluster\" class=\"tk-meeting-spaces__filter-select\" [(ngModel)]=\"filters.cluster\">\r\n <option value=\"\">All clusters</option>\r\n <option *ngFor=\"let cluster of clusters\" [value]=\"cluster\">{{ cluster }}</option>\r\n </select>\r\n <mat-icon class=\"tk-meeting-spaces__filter-select-icon\">expand_more</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-footer\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-clear\" (click)=\"clearFilters()\">Clear all</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-done\" (click)=\"closeFilterPanel()\">Done</button>\r\n </div>\r\n</aside>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meeting-spaces__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tk-meeting-spaces__title{margin:0;font-size:1.125rem;font-weight:600}.tk-meeting-spaces__create-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.tk-meeting-spaces__create-button:hover{background:#222}.tk-meeting-spaces__create-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-meeting-spaces__toolbar{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 1rem}.tk-meeting-spaces__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-meeting-spaces__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meeting-spaces__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__search-input::placeholder{color:#0006}.tk-meeting-spaces__filter-button{display:inline-flex;align-items:center;gap:.375rem;height:34px;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:.5rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-button:hover{background:rgba(0,0,0,.03)}.tk-meeting-spaces__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-meeting-spaces__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-meeting-spaces__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-meeting-spaces__table th{height:29px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:.75rem;font-weight:500;color:#000000b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%;cursor:pointer}.tk-meeting-spaces__table th:hover{background-color:#dedede}.tk-meeting-spaces__table td{min-height:39px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px 0 0 var(--mch-OutlineSecondary-normal, rgba(0, 0, 0, .2));background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color .2s,box-shadow .2s}.tk-meeting-spaces__table tbody tr:hover td{background:#ededed}.tk-meeting-spaces__table th:first-child,.tk-meeting-spaces__table td:first-child{width:14rem}.tk-meeting-spaces__table td:first-child{box-shadow:0 -.0625rem .25rem #0000001c;transition:background-color .2s,box-shadow .2s;border-block-end:.0625rem solid rgba(0,0,0,.2);clip-path:inset(0 -.25rem 0 -.25rem)}.tk-meeting-spaces__name-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.tk-meeting-spaces__name-link{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000000de;font-weight:500;text-decoration:none}.tk-meeting-spaces__badge{padding:.125rem .5rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.6875rem;font-weight:500;color:#0009;white-space:nowrap;flex-shrink:0}.tk-meeting-spaces__empty{padding:1.5rem;text-align:center;color:#0009}.tk-meeting-spaces__footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.8125rem;color:#0009}.tk-meeting-spaces__pagination{display:flex;gap:1rem}.tk-meeting-spaces__pagination-button{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:#0009;cursor:pointer}.tk-meeting-spaces__pagination-button:disabled{color:#0000004d;cursor:default}.tk-meeting-spaces__filter-backdrop{position:fixed;inset:0;z-index:1000;background-color:oklch(18% .01 260/20%)}.tk-meeting-spaces__filter-panel{position:fixed;top:0;right:0;bottom:0;z-index:1001;display:flex;flex-direction:column;width:22rem;max-width:100vw;background:#fff;border-left:1px solid rgba(0,0,0,.12);box-shadow:-4px 0 16px #00000014;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;transform:translate(100%);transition:transform .1s ease;will-change:transform}.tk-meeting-spaces__filter-panel--open{transform:translate(0)}.tk-meeting-spaces__filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.12)}.tk-meeting-spaces__filter-panel-title{margin:0;font-size:1rem;font-weight:600;color:#000000f2}.tk-meeting-spaces__filter-panel-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:#0009;cursor:pointer}.tk-meeting-spaces__filter-panel-close:hover{color:#000000f2}.tk-meeting-spaces__filter-panel-body{padding:1.5rem 1.5rem 0;overflow-y:auto}.tk-meeting-spaces__filter-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.tk-meeting-spaces__filter-label{font-size:.8125rem;font-weight:500;color:#000000f2}.tk-meeting-spaces__filter-select-wrap{position:relative;display:flex;align-items:center}.tk-meeting-spaces__filter-select{width:100%;appearance:none;padding:.625rem 2rem .625rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-select:focus{outline:none;border-color:#0006}.tk-meeting-spaces__filter-select-icon{position:absolute;right:.5rem;font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006;pointer-events:none}.tk-meeting-spaces__filter-panel-footer{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}.tk-meeting-spaces__filter-clear{background:none;border:none;padding:0;font-family:inherit;font-size:.813rem;font-weight:500;color:#000000f2;cursor:pointer;padding-inline:.75rem;height:2rem;border-radius:6px}.tk-meeting-spaces__filter-clear:hover{background-color:oklch(95.5% .005 260)}.tk-meeting-spaces__filter-done{background-color:#fff;border-radius:6px;font-weight:500;font-family:inherit;font-size:.813rem;cursor:pointer;border:1px solid oklch(92% .003 260);padding-inline:.75rem;height:2rem}.tk-meeting-spaces__filter-done:hover{background-color:oklch(95.5% .005 260)}\n"] }]
59
+ args: [{ selector: 'tk-meeting-spaces', template: "<app-loader *ngIf=\"isLoading\"></app-loader>\r\n\r\n<div class=\"tk-meeting-spaces__header\">\r\n <h2 class=\"tk-meeting-spaces__title\">Meeting Spaces</h2>\r\n <button type=\"button\" class=\"tk-meeting-spaces__create-button\" (click)=\"onCreateMeetingSpace()\">\r\n <mat-icon class=\"tk-meeting-spaces__create-icon\">add</mat-icon>\r\n Create meeting space\r\n </button>\r\n</div>\r\n\r\n<div class=\"tk-meeting-spaces__toolbar\">\r\n <div style=\"position: relative; width: fit-content; min-width: 200px\">\r\n <input\r\n [value]=\"searchTerm\"\r\n class=\"blue-input\"\r\n (input)=\"onSearchInputChange($event)\"\r\n type=\"text\"\r\n placeholder=\"Search by display name, email\"\r\n style=\"\r\n width: 100%;\r\n height: 34px;\r\n border-radius: 0.5rem;\r\n font-size: 16px;\r\n padding: 6px 12px 6px 44px;\r\n border: 1px solid #00000080;\r\n background: #fff;\r\n color: #222;\r\n outline: none;\r\n box-sizing: border-box;\r\n min-width: 280px;\r\n \"\r\n />\r\n <span\r\n style=\"\r\n position: absolute;\r\n left: 12px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #757575;\r\n font-size: 18px;\r\n font-weight: normal;\r\n pointer-events: none;\r\n \"\r\n >\r\n <i\r\n class=\"material-icons\"\r\n style=\"font-size: 18px; font-weight: normal\"\r\n >search</i\r\n >\r\n </span>\r\n </div>\r\n\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-button\" (click)=\"toggleFilterPanel()\">\r\n <img class=\"tk-meeting-spaces__filter-icon\" src=\"assets/icons/filter-regular.svg\" alt=\"filter_list\" title=\"filter_list\">\r\n Filter\r\n </button>\r\n\r\n <span class=\"tk-meeting-spaces__count\">{{ filteredMeetingSpaces.length }} spaces</span>\r\n</div>\r\n\r\n<table class=\"tk-meeting-spaces__table\">\r\n <thead>\r\n <tr>\r\n <th>Meeting Name</th>\r\n <th>URI</th>\r\n <th>Meeting ID</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let space of filteredMeetingSpaces\">\r\n <td class=\"tk-meeting-spaces__name-cell\">\r\n <a href=\"javascript:void(0)\" class=\"tk-meeting-spaces__name-link\" (click)=\"onEditMeetingSpace(space)\">{{ space.name }}</a>\r\n <span *ngIf=\"space.autoGenerated\" class=\"tk-meeting-spaces__badge\">Auto-generated</span>\r\n </td>\r\n <td>{{ space.uri || '\u2014' }}</td>\r\n <td>{{ space.callId }}</td>\r\n </tr>\r\n <tr *ngIf=\"!filteredMeetingSpaces.length\">\r\n <td colspan=\"3\" class=\"tk-meeting-spaces__empty\">No meeting spaces match your search.</td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<div class=\"tk-meeting-spaces__footer\">\r\n <span class=\"tk-meeting-spaces__footer-text\">\r\n Showing {{ filteredMeetingSpaces.length ? 1 : 0 }}-{{ filteredMeetingSpaces.length }} of {{ meetingSpaces.length }}\r\n </span>\r\n <div class=\"tk-meeting-spaces__pagination\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Previous</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__pagination-button\" disabled>Next</button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"tk-meeting-spaces__filter-backdrop\"\r\n *ngIf=\"isFilterPanelOpen\"\r\n (click)=\"closeFilterPanel()\">\r\n</div>\r\n\r\n<aside class=\"tk-meeting-spaces__filter-panel\" [class.tk-meeting-spaces__filter-panel--open]=\"isFilterPanelOpen\">\r\n <div class=\"tk-meeting-spaces__filter-panel-header\">\r\n <h3 class=\"tk-meeting-spaces__filter-panel-title\">Filter meeting spaces</h3>\r\n <button\r\n type=\"button\"\r\n class=\"tk-meeting-spaces__filter-panel-close\"\r\n aria-label=\"Close filter panel\"\r\n (click)=\"closeFilterPanel()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-body\">\r\n <div class=\"tk-meeting-spaces__filter-field\">\r\n <label class=\"tk-meeting-spaces__filter-label\" for=\"tk-meeting-spaces-filter-auto-generated\">Auto-generated</label>\r\n <div class=\"tk-meeting-spaces__filter-select-wrap\">\r\n <select id=\"tk-meeting-spaces-filter-auto-generated\" class=\"tk-meeting-spaces__filter-select\" [(ngModel)]=\"filters.autoGenerated\">\r\n <option value=\"\">All</option>\r\n <option value=\"true\">Yes</option>\r\n <option value=\"false\">No</option>\r\n </select>\r\n <mat-icon class=\"tk-meeting-spaces__filter-select-icon\">expand_more</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"tk-meeting-spaces__filter-panel-footer\">\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-clear\" (click)=\"clearFilters()\">Clear all</button>\r\n <button type=\"button\" class=\"tk-meeting-spaces__filter-done\" (click)=\"closeFilterPanel()\">Done</button>\r\n </div>\r\n</aside>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";:host{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meeting-spaces__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tk-meeting-spaces__title{margin:0;font-size:1.125rem;font-weight:600}.tk-meeting-spaces__create-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#000;color:#fff;border:none;border-radius:6.25rem;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.tk-meeting-spaces__create-button:hover{background:#222}.tk-meeting-spaces__create-icon{font-size:1.125rem;height:1.125rem;width:1.125rem}.tk-meeting-spaces__toolbar{display:flex;align-items:center;gap:.75rem;margin:.5rem .5rem 1rem}.tk-meeting-spaces__search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:22rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px}.tk-meeting-spaces__search-icon{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meeting-spaces__search-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.8125rem;color:#000000f2}.tk-meeting-spaces__search-input::placeholder{color:#0006}.tk-meeting-spaces__filter-button{display:inline-flex;align-items:center;gap:.375rem;height:34px;padding:.5rem .875rem;background:#fff;border:1px solid rgba(0,0,0,.5019607843);border-radius:.5rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-button:hover{background:rgba(0,0,0,.03)}.tk-meeting-spaces__filter-icon{font-size:1rem;height:1rem;width:1rem;opacity:.6}.tk-meeting-spaces__count{margin-left:auto;font-size:.8125rem;color:#0009;white-space:nowrap}.tk-meeting-spaces__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.tk-meeting-spaces__table th{height:48px;padding:.5rem 1.5rem .5rem .75rem;background-color:#ededed;text-align:start;font-size:12px;font-weight:500;color:#636363;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%;cursor:pointer;box-sizing:border-box}.tk-meeting-spaces__table th:hover{background-color:#dedede}.tk-meeting-spaces__table td{min-height:49px;padding:.5rem 1.5rem .5rem .75rem;box-shadow:inset 0 -1px 0 0 var(--mch-OutlineSecondary-normal, rgba(0, 0, 0, .2));background-color:#fff;text-align:start;font-size:.875rem;color:#000000f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color .2s,box-shadow .2s;box-sizing:border-box}.tk-meeting-spaces__table tbody tr:hover td{background:#ededed}.tk-meeting-spaces__table th:first-child,.tk-meeting-spaces__table td:first-child{width:14rem}.tk-meeting-spaces__table td:first-child{box-shadow:0 -.0625rem .25rem #0000001c;transition:background-color .2s,box-shadow .2s;border-block-end:.0625rem solid rgba(0,0,0,.2);clip-path:inset(0 -.25rem 0 -.25rem)}.tk-meeting-spaces__name-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.tk-meeting-spaces__name-link{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000000de;font-weight:500;text-decoration:none}.tk-meeting-spaces__badge{padding:.125rem .5rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.6875rem;font-weight:500;color:#0009;white-space:nowrap;flex-shrink:0}.tk-meeting-spaces__empty{padding:1.5rem;text-align:center;color:#0009}.tk-meeting-spaces__footer{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.8125rem;color:#0009}.tk-meeting-spaces__pagination{display:flex;gap:1rem}.tk-meeting-spaces__pagination-button{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;color:#0009;cursor:pointer}.tk-meeting-spaces__pagination-button:disabled{color:#0000004d;cursor:default}.tk-meeting-spaces__filter-backdrop{position:fixed;inset:0;z-index:1000;background-color:oklch(18% .01 260/20%)}.tk-meeting-spaces__filter-panel{position:fixed;top:0;right:0;bottom:0;z-index:1001;display:flex;flex-direction:column;width:22rem;max-width:100vw;background:#fff;border-left:1px solid rgba(0,0,0,.12);box-shadow:-4px 0 16px #00000014;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;transform:translate(100%);transition:transform .1s ease;will-change:transform}.tk-meeting-spaces__filter-panel--open{transform:translate(0)}.tk-meeting-spaces__filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.12)}.tk-meeting-spaces__filter-panel-title{margin:0;font-size:1rem;font-weight:600;color:#000000f2}.tk-meeting-spaces__filter-panel-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:#0009;cursor:pointer}.tk-meeting-spaces__filter-panel-close:hover{color:#000000f2}.tk-meeting-spaces__filter-panel-body{padding:1.5rem 1.5rem 0;overflow-y:auto}.tk-meeting-spaces__filter-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.tk-meeting-spaces__filter-label{font-size:.8125rem;font-weight:500;color:#000000f2}.tk-meeting-spaces__filter-select-wrap{position:relative;display:flex;align-items:center}.tk-meeting-spaces__filter-select{width:100%;appearance:none;padding:.625rem 2rem .625rem .75rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-family:inherit;font-size:.8125rem;color:#000000f2;cursor:pointer}.tk-meeting-spaces__filter-select:focus{outline:none;border-color:#0006}.tk-meeting-spaces__filter-select-icon{position:absolute;right:.5rem;font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006;pointer-events:none}.tk-meeting-spaces__filter-panel-footer{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}.tk-meeting-spaces__filter-clear{background:none;border:none;padding:0;font-family:inherit;font-size:.813rem;font-weight:500;color:#000000f2;cursor:pointer;padding-inline:.75rem;height:2rem;border-radius:6px}.tk-meeting-spaces__filter-clear:hover{background-color:oklch(95.5% .005 260)}.tk-meeting-spaces__filter-done{background-color:#fff;border-radius:6px;font-weight:500;font-family:inherit;font-size:.813rem;cursor:pointer;border:1px solid oklch(92% .003 260);padding-inline:.75rem;height:2rem}.tk-meeting-spaces__filter-done:hover{background-color:oklch(95.5% .005 260)}\n"] }]
64
60
  }], ctorParameters: function () { return [{ type: i1.MeetingSpacesService }]; }, propDecorators: { createMeetingSpace: [{
65
61
  type: Output
66
62
  }], editMeetingSpace: [{
67
63
  type: Output
68
64
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1zcGFjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9jb21wb25lbnRzL21lZXRpbmctc3BhY2VzL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9tZWV0aW5ncy9zcmMvY29tcG9uZW50cy9tZWV0aW5nLXNwYWNlcy9tZWV0aW5nLXNwYWNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN4RSxNQUFNLE9BQU8sc0JBQXNCO0lBYWpDLFlBQW9CLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWnBELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV4RCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFHO1lBQ1IsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7SUFFZ0UsQ0FBQztJQUVuRSxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEYsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEYsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUN2QyxDQUFDLENBQUMsSUFBSTtZQUNKLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN2QyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDdEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO0lBQzdELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzVDLENBQUM7O29IQS9EVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzSkNUbkMscWhMQTJJQTs0RkRsSWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjsyR0FLbkIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZWV0aW5nU3BhY2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lZXRpbmctc3BhY2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZWV0aW5nU3BhY2UgfSBmcm9tICcuLi8uLi90eXBlcy9tZWV0aW5nLXNwYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGstbWVldGluZy1zcGFjZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWV0aW5nLXNwYWNlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVldGluZy1zcGFjZXMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lZXRpbmdTcGFjZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjcmVhdGVNZWV0aW5nU3BhY2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIGVkaXRNZWV0aW5nU3BhY2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgbWVldGluZ1NwYWNlczogTWVldGluZ1NwYWNlW10gPSBbXTtcclxuICBzZWFyY2hUZXJtID0gJyc7XHJcblxyXG4gIGlzRmlsdGVyUGFuZWxPcGVuID0gZmFsc2U7XHJcbiAgZmlsdGVycyA9IHtcclxuICAgIG93bmVyOiAnJyxcclxuICAgIGNsdXN0ZXI6ICcnLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVldGluZ1NwYWNlc1NlcnZpY2U6IE1lZXRpbmdTcGFjZXNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lZXRpbmdTcGFjZXNTZXJ2aWNlLmZldGNoTWVldGluZ1NwYWNlcygpLnN1YnNjcmliZShtZWV0aW5nU3BhY2VzID0+IHtcclxuICAgICAgdGhpcy5tZWV0aW5nU3BhY2VzID0gbWVldGluZ1NwYWNlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG93bmVycygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KHRoaXMubWVldGluZ1NwYWNlcy5tYXAoc3BhY2UgPT4gc3BhY2Uub3duZXIpKSkuc29ydCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNsdXN0ZXJzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQodGhpcy5tZWV0aW5nU3BhY2VzLm1hcChzcGFjZSA9PiBzcGFjZS5jbHVzdGVyKSkpLnNvcnQoKTtcclxuICB9XHJcblxyXG4gIGdldCBmaWx0ZXJlZE1lZXRpbmdTcGFjZXMoKTogTWVldGluZ1NwYWNlW10ge1xyXG4gICAgY29uc3QgdGVybSA9IHRoaXMuc2VhcmNoVGVybS50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiB0aGlzLm1lZXRpbmdTcGFjZXMuZmlsdGVyKHNwYWNlID0+XHJcbiAgICAgICghdGVybSB8fFxyXG4gICAgICAgIHNwYWNlLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKSB8fFxyXG4gICAgICAgIHNwYWNlLnVyaS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pIHx8XHJcbiAgICAgICAgc3BhY2UubWVldGluZ0lkLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSkpICYmXHJcbiAgICAgICghdGhpcy5maWx0ZXJzLm93bmVyIHx8IHNwYWNlLm93bmVyID09PSB0aGlzLmZpbHRlcnMub3duZXIpICYmXHJcbiAgICAgICghdGhpcy5maWx0ZXJzLmNsdXN0ZXIgfHwgc3BhY2UuY2x1c3RlciA9PT0gdGhpcy5maWx0ZXJzLmNsdXN0ZXIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoVGVybSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XHJcbiAgfVxyXG5cclxuICBvbkNyZWF0ZU1lZXRpbmdTcGFjZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlTWVldGluZ1NwYWNlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uRWRpdE1lZXRpbmdTcGFjZShzcGFjZTogTWVldGluZ1NwYWNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRNZWV0aW5nU3BhY2UuZW1pdChzcGFjZS5pZCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVGaWx0ZXJQYW5lbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaWx0ZXJQYW5lbE9wZW4gPSAhdGhpcy5pc0ZpbHRlclBhbmVsT3BlbjtcclxuICB9XHJcblxyXG4gIGNsb3NlRmlsdGVyUGFuZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmlsdGVyUGFuZWxPcGVuID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjbGVhckZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSB7IG93bmVyOiAnJywgY2x1c3RlcjogJycgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19oZWFkZXJcIj5cclxuICA8aDIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fdGl0bGVcIj5NZWV0aW5nIFNwYWNlczwvaDI+XHJcbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fY3JlYXRlLWJ1dHRvblwiIChjbGljayk9XCJvbkNyZWF0ZU1lZXRpbmdTcGFjZSgpXCI+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fY3JlYXRlLWljb25cIj5hZGQ8L21hdC1pY29uPlxyXG4gICAgQ3JlYXRlIG1lZXRpbmcgc3BhY2VcclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX3Rvb2xiYXJcIj5cclxuICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogZml0LWNvbnRlbnQ7IG1pbi13aWR0aDogMjAwcHhcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBbdmFsdWVdPVwic2VhcmNoVGVybVwiXHJcbiAgICAgIChpbnB1dCk9XCJvblNlYXJjaElucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGJ5IGRpc3BsYXkgbmFtZSwgZW1haWxcIlxyXG4gICAgICBzdHlsZT1cIlxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMzRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4IDZweCA0NHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA4MDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGNvbG9yOiAjMjIyO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xyXG4gICAgICBcIlxyXG4gICAgLz5cclxuICAgIDxzcGFuXHJcbiAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDEycHg7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIGNvbG9yOiAjNzU3NTc1O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBcIlxyXG4gICAgPlxyXG4gICAgICA8aVxyXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIlxyXG4gICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogbm9ybWFsXCJcclxuICAgICAgICA+c2VhcmNoPC9pXHJcbiAgICAgID5cclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJQYW5lbCgpXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1pY29uXCIgc3JjPVwiYXNzZXRzL2ljb25zL2ZpbHRlci1yZWd1bGFyLnN2Z1wiIGFsdD1cImZpbHRlcl9saXN0XCIgdGl0bGU9XCJmaWx0ZXJfbGlzdFwiPlxyXG4gICAgRmlsdGVyXHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2NvdW50XCI+e3sgZmlsdGVyZWRNZWV0aW5nU3BhY2VzLmxlbmd0aCB9fSBzcGFjZXM8L3NwYW4+XHJcbjwvZGl2PlxyXG5cclxuPHRhYmxlIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX3RhYmxlXCI+XHJcbiAgPHRoZWFkPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGg+TWVldGluZyBOYW1lPC90aD5cclxuICAgICAgPHRoPlVSSTwvdGg+XHJcbiAgICAgIDx0aD5NZWV0aW5nIElEPC90aD5cclxuICAgICAgPHRoPlBhcnRpY2lwYW50czwvdGg+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGhlYWQ+XHJcbiAgPHRib2R5PlxyXG4gICAgPHRyICpuZ0Zvcj1cImxldCBzcGFjZSBvZiBmaWx0ZXJlZE1lZXRpbmdTcGFjZXNcIj5cclxuICAgICAgPHRkIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX25hbWUtY2VsbFwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19uYW1lLWxpbmtcIiAoY2xpY2spPVwib25FZGl0TWVldGluZ1NwYWNlKHNwYWNlKVwiPnt7IHNwYWNlLm5hbWUgfX08L2E+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzcGFjZS5tYW5hZ2VkXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fYmFkZ2VcIj5NYW5hZ2VkPC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQ+e3sgc3BhY2UudXJpIH19PC90ZD5cclxuICAgICAgPHRkPnt7IHNwYWNlLm1lZXRpbmdJZCB9fTwvdGQ+XHJcbiAgICAgIDx0ZD57eyBzcGFjZS5wYXJ0aWNpcGFudHMgfX08L3RkPlxyXG4gICAgPC90cj5cclxuICAgIDx0ciAqbmdJZj1cIiFmaWx0ZXJlZE1lZXRpbmdTcGFjZXMubGVuZ3RoXCI+XHJcbiAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2VtcHR5XCI+Tm8gbWVldGluZyBzcGFjZXMgbWF0Y2ggeW91ciBzZWFyY2guPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuPC90YWJsZT5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZm9vdGVyXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZm9vdGVyLXRleHRcIj5cclxuICAgIFNob3dpbmcge3sgZmlsdGVyZWRNZWV0aW5nU3BhY2VzLmxlbmd0aCA/IDEgOiAwIH19LXt7IGZpbHRlcmVkTWVldGluZ1NwYWNlcy5sZW5ndGggfX0gb2Yge3sgbWVldGluZ1NwYWNlcy5sZW5ndGggfX1cclxuICA8L3NwYW4+XHJcbiAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19wYWdpbmF0aW9uXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19wYWdpbmF0aW9uLWJ1dHRvblwiIGRpc2FibGVkPlByZXZpb3VzPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19wYWdpbmF0aW9uLWJ1dHRvblwiIGRpc2FibGVkPk5leHQ8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2XHJcbiAgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLWJhY2tkcm9wXCJcclxuICAqbmdJZj1cImlzRmlsdGVyUGFuZWxPcGVuXCJcclxuICAoY2xpY2spPVwiY2xvc2VGaWx0ZXJQYW5lbCgpXCI+XHJcbjwvZGl2PlxyXG5cclxuPGFzaWRlIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1wYW5lbFwiIFtjbGFzcy50ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXBhbmVsLS1vcGVuXT1cImlzRmlsdGVyUGFuZWxPcGVuXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItcGFuZWwtaGVhZGVyXCI+XHJcbiAgICA8aDMgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXBhbmVsLXRpdGxlXCI+RmlsdGVyIG1lZXRpbmcgc3BhY2VzPC9oMz5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1wYW5lbC1jbG9zZVwiXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZSBmaWx0ZXIgcGFuZWxcIlxyXG4gICAgICAoY2xpY2spPVwiY2xvc2VGaWx0ZXJQYW5lbCgpXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItcGFuZWwtYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItZmllbGRcIj5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1sYWJlbFwiIGZvcj1cInRrLW1lZXRpbmctc3BhY2VzLWZpbHRlci1vd25lclwiPk93bmVyPC9sYWJlbD5cclxuICAgICAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItc2VsZWN0LXdyYXBcIj5cclxuICAgICAgICA8c2VsZWN0IGlkPVwidGstbWVldGluZy1zcGFjZXMtZmlsdGVyLW93bmVyXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXNlbGVjdFwiIFsobmdNb2RlbCldPVwiZmlsdGVycy5vd25lclwiPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPkFsbCBvd25lcnM8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG93bmVyIG9mIG93bmVyc1wiIFt2YWx1ZV09XCJvd25lclwiPnt7IG93bmVyIH19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1zZWxlY3QtaWNvblwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1maWVsZFwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLWxhYmVsXCIgZm9yPVwidGstbWVldGluZy1zcGFjZXMtZmlsdGVyLWNsdXN0ZXJcIj5DbHVzdGVyPC9sYWJlbD5cclxuICAgICAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItc2VsZWN0LXdyYXBcIj5cclxuICAgICAgICA8c2VsZWN0IGlkPVwidGstbWVldGluZy1zcGFjZXMtZmlsdGVyLWNsdXN0ZXJcIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItc2VsZWN0XCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmNsdXN0ZXJcIj5cclxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5BbGwgY2x1c3RlcnM8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNsdXN0ZXIgb2YgY2x1c3RlcnNcIiBbdmFsdWVdPVwiY2x1c3RlclwiPnt7IGNsdXN0ZXIgfX08L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXNlbGVjdC1pY29uXCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1wYW5lbC1mb290ZXJcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1jbGVhclwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPkNsZWFyIGFsbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLWRvbmVcIiAoY2xpY2spPVwiY2xvc2VGaWx0ZXJQYW5lbCgpXCI+RG9uZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2FzaWRlPlxyXG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1zcGFjZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9jb21wb25lbnRzL21lZXRpbmctc3BhY2VzL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9tZWV0aW5ncy9zcmMvY29tcG9uZW50cy9tZWV0aW5nLXNwYWNlcy9tZWV0aW5nLXNwYWNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTeEUsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFvQixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQWJwRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzlDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFeEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBRztZQUNSLGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUM7UUFFRixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWdELENBQUM7SUFFbkUsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDdkMsQ0FBQyxDQUFDLElBQUk7WUFDSixLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDdkMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDOUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FDNUYsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO0lBQzdELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUN2QyxDQUFDOztvSEF6RFUsc0JBQXNCO3dHQUF0QixzQkFBc0Isc0pDVG5DLDI3SkFrSUE7NEZEekhhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7MkdBS25CLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVldGluZ1NwYWNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZWV0aW5nLXNwYWNlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVldGluZ1NwYWNlIH0gZnJvbSAnLi4vLi4vdHlwZXMvbWVldGluZy1zcGFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RrLW1lZXRpbmctc3BhY2VzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVldGluZy1zcGFjZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWV0aW5nU3BhY2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgY3JlYXRlTWVldGluZ1NwYWNlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBlZGl0TWVldGluZ1NwYWNlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIG1lZXRpbmdTcGFjZXM6IE1lZXRpbmdTcGFjZVtdID0gW107XHJcbiAgc2VhcmNoVGVybSA9ICcnO1xyXG5cclxuICBpc0ZpbHRlclBhbmVsT3BlbiA9IGZhbHNlO1xyXG4gIGZpbHRlcnMgPSB7XHJcbiAgICBhdXRvR2VuZXJhdGVkOiAnJyxcclxuICB9O1xyXG5cclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZWV0aW5nU3BhY2VzU2VydmljZTogTWVldGluZ1NwYWNlc1NlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubWVldGluZ1NwYWNlc1NlcnZpY2UuZmV0Y2hNZWV0aW5nU3BhY2VzKCkuc3Vic2NyaWJlKG1lZXRpbmdTcGFjZXMgPT4ge1xyXG4gICAgICB0aGlzLm1lZXRpbmdTcGFjZXMgPSBtZWV0aW5nU3BhY2VzO1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlsdGVyZWRNZWV0aW5nU3BhY2VzKCk6IE1lZXRpbmdTcGFjZVtdIHtcclxuICAgIGNvbnN0IHRlcm0gPSB0aGlzLnNlYXJjaFRlcm0udHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5tZWV0aW5nU3BhY2VzLmZpbHRlcihzcGFjZSA9PlxyXG4gICAgICAoIXRlcm0gfHxcclxuICAgICAgICBzcGFjZS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSkgfHxcclxuICAgICAgICAoc3BhY2UudXJpID8/ICcnKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pIHx8XHJcbiAgICAgICAgU3RyaW5nKHNwYWNlLmNhbGxJZCkuaW5jbHVkZXModGVybSkpICYmXHJcbiAgICAgICghdGhpcy5maWx0ZXJzLmF1dG9HZW5lcmF0ZWQgfHwgU3RyaW5nKHNwYWNlLmF1dG9HZW5lcmF0ZWQpID09PSB0aGlzLmZpbHRlcnMuYXV0b0dlbmVyYXRlZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaElucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uQ3JlYXRlTWVldGluZ1NwYWNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVNZWV0aW5nU3BhY2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25FZGl0TWVldGluZ1NwYWNlKHNwYWNlOiBNZWV0aW5nU3BhY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdE1lZXRpbmdTcGFjZS5lbWl0KHNwYWNlLmlkKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlclBhbmVsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbHRlclBhbmVsT3BlbiA9ICF0aGlzLmlzRmlsdGVyUGFuZWxPcGVuO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VGaWx0ZXJQYW5lbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaWx0ZXJQYW5lbE9wZW4gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNsZWFyRmlsdGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVycyA9IHsgYXV0b0dlbmVyYXRlZDogJycgfTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1sb2FkZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj48L2FwcC1sb2FkZXI+XHJcblxyXG48ZGl2IGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2hlYWRlclwiPlxyXG4gIDxoMiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX190aXRsZVwiPk1lZXRpbmcgU3BhY2VzPC9oMj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19jcmVhdGUtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ3JlYXRlTWVldGluZ1NwYWNlKClcIj5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19jcmVhdGUtaWNvblwiPmFkZDwvbWF0LWljb24+XHJcbiAgICBDcmVhdGUgbWVldGluZyBzcGFjZVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fdG9vbGJhclwiPlxyXG4gIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiBmaXQtY29udGVudDsgbWluLXdpZHRoOiAyMDBweFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFt2YWx1ZV09XCJzZWFyY2hUZXJtXCJcclxuICAgICAgY2xhc3M9XCJibHVlLWlucHV0XCJcclxuICAgICAgKGlucHV0KT1cIm9uU2VhcmNoSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgZGlzcGxheSBuYW1lLCBlbWFpbFwiXHJcbiAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogNnB4IDEycHggNnB4IDQ0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDgwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICMyMjI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIG1pbi13aWR0aDogMjgwcHg7XHJcbiAgICAgIFwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW5cclxuICAgICAgc3R5bGU9XCJcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMTJweDtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgY29sb3I6ICM3NTc1NzU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgIDxpXHJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiXHJcbiAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWxcIlxyXG4gICAgICAgID5zZWFyY2g8L2lcclxuICAgICAgPlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZUZpbHRlclBhbmVsKClcIj5cclxuICAgIDxpbWcgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLWljb25cIiBzcmM9XCJhc3NldHMvaWNvbnMvZmlsdGVyLXJlZ3VsYXIuc3ZnXCIgYWx0PVwiZmlsdGVyX2xpc3RcIiB0aXRsZT1cImZpbHRlcl9saXN0XCI+XHJcbiAgICBGaWx0ZXJcclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fY291bnRcIj57eyBmaWx0ZXJlZE1lZXRpbmdTcGFjZXMubGVuZ3RoIH19IHNwYWNlczwvc3Bhbj5cclxuPC9kaXY+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fdGFibGVcIj5cclxuICA8dGhlYWQ+XHJcbiAgICA8dHI+XHJcbiAgICAgIDx0aD5NZWV0aW5nIE5hbWU8L3RoPlxyXG4gICAgICA8dGg+VVJJPC90aD5cclxuICAgICAgPHRoPk1lZXRpbmcgSUQ8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L3RoZWFkPlxyXG4gIDx0Ym9keT5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgc3BhY2Ugb2YgZmlsdGVyZWRNZWV0aW5nU3BhY2VzXCI+XHJcbiAgICAgIDx0ZCBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19uYW1lLWNlbGxcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fbmFtZS1saW5rXCIgKGNsaWNrKT1cIm9uRWRpdE1lZXRpbmdTcGFjZShzcGFjZSlcIj57eyBzcGFjZS5uYW1lIH19PC9hPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwic3BhY2UuYXV0b0dlbmVyYXRlZFwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2JhZGdlXCI+QXV0by1nZW5lcmF0ZWQ8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZD57eyBzcGFjZS51cmkgfHwgJ+KAlCcgfX08L3RkPlxyXG4gICAgICA8dGQ+e3sgc3BhY2UuY2FsbElkIH19PC90ZD5cclxuICAgIDwvdHI+XHJcbiAgICA8dHIgKm5nSWY9XCIhZmlsdGVyZWRNZWV0aW5nU3BhY2VzLmxlbmd0aFwiPlxyXG4gICAgICA8dGQgY29sc3Bhbj1cIjNcIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19lbXB0eVwiPk5vIG1lZXRpbmcgc3BhY2VzIG1hdGNoIHlvdXIgc2VhcmNoLjwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcblxyXG48ZGl2IGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2Zvb3RlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2Zvb3Rlci10ZXh0XCI+XHJcbiAgICBTaG93aW5nIHt7IGZpbHRlcmVkTWVldGluZ1NwYWNlcy5sZW5ndGggPyAxIDogMCB9fS17eyBmaWx0ZXJlZE1lZXRpbmdTcGFjZXMubGVuZ3RoIH19IG9mIHt7IG1lZXRpbmdTcGFjZXMubGVuZ3RoIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fcGFnaW5hdGlvblwiPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fcGFnaW5hdGlvbi1idXR0b25cIiBkaXNhYmxlZD5QcmV2aW91czwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fcGFnaW5hdGlvbi1idXR0b25cIiBkaXNhYmxlZD5OZXh0PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdlxyXG4gIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1iYWNrZHJvcFwiXHJcbiAgKm5nSWY9XCJpc0ZpbHRlclBhbmVsT3BlblwiXHJcbiAgKGNsaWNrKT1cImNsb3NlRmlsdGVyUGFuZWwoKVwiPlxyXG48L2Rpdj5cclxuXHJcbjxhc2lkZSBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItcGFuZWxcIiBbY2xhc3MudGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1wYW5lbC0tb3Blbl09XCJpc0ZpbHRlclBhbmVsT3BlblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXBhbmVsLWhlYWRlclwiPlxyXG4gICAgPGgzIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1wYW5lbC10aXRsZVwiPkZpbHRlciBtZWV0aW5nIHNwYWNlczwvaDM+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItcGFuZWwtY2xvc2VcIlxyXG4gICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgZmlsdGVyIHBhbmVsXCJcclxuICAgICAgKGNsaWNrKT1cImNsb3NlRmlsdGVyUGFuZWwoKVwiPlxyXG4gICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXBhbmVsLWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLWZpZWxkXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItbGFiZWxcIiBmb3I9XCJ0ay1tZWV0aW5nLXNwYWNlcy1maWx0ZXItYXV0by1nZW5lcmF0ZWRcIj5BdXRvLWdlbmVyYXRlZDwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nLXNwYWNlc19fZmlsdGVyLXNlbGVjdC13cmFwXCI+XHJcbiAgICAgICAgPHNlbGVjdCBpZD1cInRrLW1lZXRpbmctc3BhY2VzLWZpbHRlci1hdXRvLWdlbmVyYXRlZFwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1zZWxlY3RcIiBbKG5nTW9kZWwpXT1cImZpbHRlcnMuYXV0b0dlbmVyYXRlZFwiPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPkFsbDwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRydWVcIj5ZZXM8L29wdGlvbj5cclxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJmYWxzZVwiPk5vPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1zZWxlY3QtaWNvblwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItcGFuZWwtZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRrLW1lZXRpbmctc3BhY2VzX19maWx0ZXItY2xlYXJcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5DbGVhciBhbGw8L2J1dHRvbj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGstbWVldGluZy1zcGFjZXNfX2ZpbHRlci1kb25lXCIgKGNsaWNrKT1cImNsb3NlRmlsdGVyUGFuZWwoKVwiPkRvbmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9hc2lkZT5cclxuIl19
@@ -6,6 +6,8 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
6
6
  import { MatFormFieldModule } from '@angular/material/form-field';
7
7
  import { MatInputModule } from '@angular/material/input';
8
8
  import { MatTabsModule } from '@angular/material/tabs';
9
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
10
+ import { MatCheckboxModule } from '@angular/material/checkbox';
9
11
  import * as i0 from "@angular/core";
10
12
  export class MaterialModule {
11
13
  }
@@ -16,26 +18,34 @@ MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
16
18
  MatProgressSpinnerModule,
17
19
  MatFormFieldModule,
18
20
  MatInputModule,
19
- MatTabsModule], exports: [MatButtonModule,
21
+ MatTabsModule,
22
+ MatSlideToggleModule,
23
+ MatCheckboxModule], exports: [MatButtonModule,
20
24
  MatIconModule,
21
25
  MatTableModule,
22
26
  MatProgressSpinnerModule,
23
27
  MatFormFieldModule,
24
28
  MatInputModule,
25
- MatTabsModule] });
29
+ MatTabsModule,
30
+ MatSlideToggleModule,
31
+ MatCheckboxModule] });
26
32
  MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [MatButtonModule,
27
33
  MatIconModule,
28
34
  MatTableModule,
29
35
  MatProgressSpinnerModule,
30
36
  MatFormFieldModule,
31
37
  MatInputModule,
32
- MatTabsModule, MatButtonModule,
38
+ MatTabsModule,
39
+ MatSlideToggleModule,
40
+ MatCheckboxModule, MatButtonModule,
33
41
  MatIconModule,
34
42
  MatTableModule,
35
43
  MatProgressSpinnerModule,
36
44
  MatFormFieldModule,
37
45
  MatInputModule,
38
- MatTabsModule] });
46
+ MatTabsModule,
47
+ MatSlideToggleModule,
48
+ MatCheckboxModule] });
39
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, decorators: [{
40
50
  type: NgModule,
41
51
  args: [{
@@ -47,6 +57,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
47
57
  MatFormFieldModule,
48
58
  MatInputModule,
49
59
  MatTabsModule,
60
+ MatSlideToggleModule,
61
+ MatCheckboxModule,
50
62
  ],
51
63
  exports: [
52
64
  MatButtonModule,
@@ -56,7 +68,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
56
68
  MatFormFieldModule,
57
69
  MatInputModule,
58
70
  MatTabsModule,
71
+ MatSlideToggleModule,
72
+ MatCheckboxModule,
59
73
  ]
60
74
  }]
61
75
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQXNCdkQsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxZQWxCdkIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYSxhQUdiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7NkdBR0osY0FBYyxZQWxCdkIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYSxFQUdiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7NEZBR0osY0FBYztrQkFwQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHsgfVxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQTBCL0QsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxZQXRCdkIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQixpQkFBaUIsYUFHakIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQixpQkFBaUI7NkdBR1IsY0FBYyxZQXRCdkIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQixpQkFBaUIsRUFHakIsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQixpQkFBaUI7NEZBR1IsY0FBYztrQkF4QjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbE1vZHVsZSB7IH1cbiJdfQ==
@@ -20,7 +20,7 @@ export class MeetingsComponent {
20
20
  }
21
21
  ngOnInit() {
22
22
  this.apiService.token = this.token;
23
- this.apiService.apiUrl = this.host;
23
+ this.apiService.apiUrl = this.host + '/dcp';
24
24
  }
25
25
  onCreateMeetingSpace() {
26
26
  this.meetingSpaceMode = 'create';
@@ -47,10 +47,10 @@ export class MeetingsComponent {
47
47
  }
48
48
  }
49
49
  MeetingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsComponent, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Component });
50
- MeetingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MeetingsComponent, selector: "tk-meetings", inputs: { host: "host", token: "token", environmentStatusLabel: "environmentStatusLabel", environmentStatusState: "environmentStatusState", liveCount: "liveCount" }, ngImport: i0, template: "<div class=\"tk-meetings\">\r\n <ng-container *ngIf=\"view === 'list'\">\r\n <header class=\"tk-meetings__header\">\r\n <div class=\"tk-meetings__heading\">\r\n <h1 class=\"tk-meetings__title\">Meetings</h1>\r\n <!-- <p class=\"tk-meetings__subtitle\">Configure meeting spaces and monitor everything happening live across your environment.</p> -->\r\n </div>\r\n </header>\r\n\r\n <mat-tab-group disableRipple class=\"tk-meetings__tabs\">\r\n <mat-tab label=\"Meetings\">\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-meeting-spaces\r\n (createMeetingSpace)=\"onCreateMeetingSpace()\"\r\n (editMeetingSpace)=\"onEditMeetingSpace($event)\">\r\n </tk-meeting-spaces>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span>Live</span>\r\n <span class=\"tk-meetings__tab-count\">{{ liveCount }}</span>\r\n </ng-template>\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-live-meetings (openLiveMeeting)=\"onOpenLiveMeeting($event)\"></tk-live-meetings>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </ng-container>\r\n\r\n <tk-meeting-space\r\n *ngIf=\"view === 'meeting-space'\"\r\n [mode]=\"meetingSpaceMode\"\r\n [meetingSpaceId]=\"selectedMeetingSpaceId\"\r\n (back)=\"onMeetingSpaceBack()\"\r\n (saved)=\"onMeetingSpaceSaved($event)\">\r\n </tk-meeting-space>\r\n\r\n <tk-live-meeting\r\n *ngIf=\"view === 'live-meeting'\"\r\n [meetingId]=\"selectedLiveMeetingId\"\r\n (back)=\"onLiveMeetingBack()\">\r\n </tk-live-meeting>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.tk-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meetings__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.tk-meetings__heading{display:flex;flex-direction:column;gap:.25rem}.tk-meetings__title{margin:0;font-size:1.5rem;font-weight:600;color:#000000f2}.tk-meetings__subtitle{margin:0;font-size:.875rem;color:#0009}.tk-meetings__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-meetings__status--warning .tk-meetings__status-dot{background:#b5860b}.tk-meetings__status--critical .tk-meetings__status-dot{background:#c73636}.tk-meetings__status-chevron{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meetings__tabs ::ng-deep .mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.tk-meetings__tabs ::ng-deep .mat-tab-label{height:auto;min-width:auto;padding:0 0 .75rem;margin-right:1.5rem;opacity:1;font-size:.875rem;font-weight:500;color:#0009}.tk-meetings__tabs ::ng-deep .mat-tab-label.mat-tab-label-active{color:#000000f2}.tk-meetings__tabs ::ng-deep .mat-tab-labels{gap:0}.tk-meetings__tabs ::ng-deep .mat-ink-bar{background-color:#000;height:2px}.tk-meetings__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.375rem;padding:0 .375rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.75rem;font-weight:500;color:#000000f2}.tk-meetings__tab-content{padding:.5rem 0 1.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MeetingSpacesComponent, selector: "tk-meeting-spaces", outputs: ["createMeetingSpace", "editMeetingSpace"] }, { kind: "component", type: i5.MeetingSpaceComponent, selector: "tk-meeting-space", inputs: ["mode", "meetingSpaceId"], outputs: ["back", "saved"] }, { kind: "component", type: i6.LiveMeetingsComponent, selector: "tk-live-meetings", outputs: ["openLiveMeeting"] }, { kind: "component", type: i7.LiveMeetingComponent, selector: "tk-live-meeting", inputs: ["meetingId"], outputs: ["back"] }] });
50
+ MeetingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MeetingsComponent, selector: "tk-meetings", inputs: { host: "host", token: "token", environmentStatusLabel: "environmentStatusLabel", environmentStatusState: "environmentStatusState", liveCount: "liveCount" }, ngImport: i0, template: "<div class=\"tk-meetings\">\r\n <ng-container *ngIf=\"view === 'list'\">\r\n <header class=\"tk-meetings__header\">\r\n <div class=\"tk-meetings__heading\">\r\n <h1 class=\"tk-meetings__title\">Meetings</h1>\r\n <!-- <p class=\"tk-meetings__subtitle\">Configure meeting spaces and monitor everything happening live across your environment.</p> -->\r\n </div>\r\n </header>\r\n\r\n <mat-tab-group disableRipple class=\"tk-meetings__tabs\">\r\n <mat-tab label=\"Meetings\">\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-meeting-spaces\r\n (createMeetingSpace)=\"onCreateMeetingSpace()\"\r\n (editMeetingSpace)=\"onEditMeetingSpace($event)\">\r\n </tk-meeting-spaces>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span>Live</span>\r\n <span class=\"tk-meetings__tab-count\">{{ liveCount }}</span>\r\n </ng-template>\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-live-meetings (openLiveMeeting)=\"onOpenLiveMeeting($event)\"></tk-live-meetings>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </ng-container>\r\n\r\n <tk-meeting-space\r\n *ngIf=\"view === 'meeting-space'\"\r\n [mode]=\"meetingSpaceMode\"\r\n [meetingSpaceId]=\"selectedMeetingSpaceId\"\r\n (back)=\"onMeetingSpaceBack()\"\r\n (saved)=\"onMeetingSpaceSaved($event)\">\r\n </tk-meeting-space>\r\n\r\n <tk-live-meeting\r\n *ngIf=\"view === 'live-meeting'\"\r\n [meetingId]=\"selectedLiveMeetingId\"\r\n (back)=\"onLiveMeetingBack()\">\r\n </tk-live-meeting>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.tk-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meetings__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.tk-meetings__heading{display:flex;flex-direction:column;gap:.25rem}.tk-meetings__title{margin:0;font-size:1.5rem;font-weight:600;color:#000000f2}.tk-meetings__subtitle{margin:0;font-size:.875rem;color:#0009}.tk-meetings__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-meetings__status--warning .tk-meetings__status-dot{background:#b5860b}.tk-meetings__status--critical .tk-meetings__status-dot{background:#c73636}.tk-meetings__status-chevron{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meetings__tabs ::ng-deep .mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.tk-meetings__tabs ::ng-deep .mat-tab-label{height:auto;min-width:auto;padding:0 0 .75rem;margin-right:1.5rem;opacity:1;font-size:.875rem;font-weight:500;color:#0009}.tk-meetings__tabs ::ng-deep .mat-tab-label.mat-tab-label-active{color:#000000f2}.tk-meetings__tabs ::ng-deep .mat-tab-labels{gap:0}.tk-meetings__tabs ::ng-deep .mat-ink-bar{background-color:#000;height:2px}.tk-meetings__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.375rem;padding:0 .375rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.75rem;font-weight:500;color:#000000f2}.tk-meetings__tab-content{padding:.5rem 0 1.5rem}mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}::ng-deep .custom-toggle .mat-slide-toggle-bar{position:relative;width:48px;height:25px;flex-shrink:0;border-radius:13px;background-color:#ccc}::ng-deep .custom-toggle .mat-slide-toggle-label{font-size:13px}::ng-deep .custom-toggle .mat-slide-toggle-thumb{height:20px;width:20px;position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;left:3px;top:5px;background-color:#fff!important}::ng-deep .custom-toggle .mat-slide-toggle-thumb:after{content:\"\\d7\";font-size:14px;color:#8e9fb7;line-height:1;display:block;pointer-events:none;transform:translateY(0)}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-thumb{left:calc(100% - 11px)!important}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-thumb:after{content:\"\\2713\";color:#0d56aa;font-weight:700;font-size:10px}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-bar{background:#1170cf!important}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-bar:hover{background:#0353a8!important}::ng-deep input.blue-input{border:solid .0625rem rgba(0,0,0,.5019607843)!important}::ng-deep input.blue-input:focus{display:flex;align-items:center;color:#000000b3;background-color:#ededed;border:solid .0625rem rgba(0,0,0,.5019607843);font-weight:500;cursor:pointer;flex-wrap:wrap;gap:.5rem;box-shadow:0 0 0 .12rem #fff,0 0 0 .25rem #1170cf,0 0 0 .3rem #1170cf59;background-color:#fff!important}::ng-deep input.blue-input:focus:focus-visible{outline:none}::ng-deep input.blue-input:hover{background-color:#00000012!important}::ng-deep .mat-checkbox .mat-checkbox-inner-container .mat-checkbox-frame{border-width:.0625rem;border:solid .0625rem rgba(0,0,0,.5019607843);border-radius:.125rem;font-size:.625rem;transition:background-color .1s cubic-bezier(.25,.1,.25,1),border .1s cubic-bezier(.25,.1,.25,1),box-shadow .1s cubic-bezier(.25,.1,.25,1)}::ng-deep .mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1170cf}::ng-deep .mat-checkbox-checked.mat-primary .mat-checkbox-background .mat-checkbox-checkmark{transform:scale(.75);transform-origin:left center;margin-left:2px}::ng-deep .mat-checkbox .mat-checkbox-label{font-size:.875rem;color:#000000f2;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MeetingSpacesComponent, selector: "tk-meeting-spaces", outputs: ["createMeetingSpace", "editMeetingSpace"] }, { kind: "component", type: i5.MeetingSpaceComponent, selector: "tk-meeting-space", inputs: ["mode", "meetingSpaceId"], outputs: ["back", "saved"] }, { kind: "component", type: i6.LiveMeetingsComponent, selector: "tk-live-meetings", outputs: ["openLiveMeeting"] }, { kind: "component", type: i7.LiveMeetingComponent, selector: "tk-live-meeting", inputs: ["meetingId"], outputs: ["back"] }] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MeetingsComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'tk-meetings', template: "<div class=\"tk-meetings\">\r\n <ng-container *ngIf=\"view === 'list'\">\r\n <header class=\"tk-meetings__header\">\r\n <div class=\"tk-meetings__heading\">\r\n <h1 class=\"tk-meetings__title\">Meetings</h1>\r\n <!-- <p class=\"tk-meetings__subtitle\">Configure meeting spaces and monitor everything happening live across your environment.</p> -->\r\n </div>\r\n </header>\r\n\r\n <mat-tab-group disableRipple class=\"tk-meetings__tabs\">\r\n <mat-tab label=\"Meetings\">\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-meeting-spaces\r\n (createMeetingSpace)=\"onCreateMeetingSpace()\"\r\n (editMeetingSpace)=\"onEditMeetingSpace($event)\">\r\n </tk-meeting-spaces>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span>Live</span>\r\n <span class=\"tk-meetings__tab-count\">{{ liveCount }}</span>\r\n </ng-template>\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-live-meetings (openLiveMeeting)=\"onOpenLiveMeeting($event)\"></tk-live-meetings>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </ng-container>\r\n\r\n <tk-meeting-space\r\n *ngIf=\"view === 'meeting-space'\"\r\n [mode]=\"meetingSpaceMode\"\r\n [meetingSpaceId]=\"selectedMeetingSpaceId\"\r\n (back)=\"onMeetingSpaceBack()\"\r\n (saved)=\"onMeetingSpaceSaved($event)\">\r\n </tk-meeting-space>\r\n\r\n <tk-live-meeting\r\n *ngIf=\"view === 'live-meeting'\"\r\n [meetingId]=\"selectedLiveMeetingId\"\r\n (back)=\"onLiveMeetingBack()\">\r\n </tk-live-meeting>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.tk-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meetings__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.tk-meetings__heading{display:flex;flex-direction:column;gap:.25rem}.tk-meetings__title{margin:0;font-size:1.5rem;font-weight:600;color:#000000f2}.tk-meetings__subtitle{margin:0;font-size:.875rem;color:#0009}.tk-meetings__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-meetings__status--warning .tk-meetings__status-dot{background:#b5860b}.tk-meetings__status--critical .tk-meetings__status-dot{background:#c73636}.tk-meetings__status-chevron{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meetings__tabs ::ng-deep .mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.tk-meetings__tabs ::ng-deep .mat-tab-label{height:auto;min-width:auto;padding:0 0 .75rem;margin-right:1.5rem;opacity:1;font-size:.875rem;font-weight:500;color:#0009}.tk-meetings__tabs ::ng-deep .mat-tab-label.mat-tab-label-active{color:#000000f2}.tk-meetings__tabs ::ng-deep .mat-tab-labels{gap:0}.tk-meetings__tabs ::ng-deep .mat-ink-bar{background-color:#000;height:2px}.tk-meetings__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.375rem;padding:0 .375rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.75rem;font-weight:500;color:#000000f2}.tk-meetings__tab-content{padding:.5rem 0 1.5rem}\n"] }]
53
+ args: [{ selector: 'tk-meetings', template: "<div class=\"tk-meetings\">\r\n <ng-container *ngIf=\"view === 'list'\">\r\n <header class=\"tk-meetings__header\">\r\n <div class=\"tk-meetings__heading\">\r\n <h1 class=\"tk-meetings__title\">Meetings</h1>\r\n <!-- <p class=\"tk-meetings__subtitle\">Configure meeting spaces and monitor everything happening live across your environment.</p> -->\r\n </div>\r\n </header>\r\n\r\n <mat-tab-group disableRipple class=\"tk-meetings__tabs\">\r\n <mat-tab label=\"Meetings\">\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-meeting-spaces\r\n (createMeetingSpace)=\"onCreateMeetingSpace()\"\r\n (editMeetingSpace)=\"onEditMeetingSpace($event)\">\r\n </tk-meeting-spaces>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span>Live</span>\r\n <span class=\"tk-meetings__tab-count\">{{ liveCount }}</span>\r\n </ng-template>\r\n <div class=\"tk-meetings__tab-content\">\r\n <tk-live-meetings (openLiveMeeting)=\"onOpenLiveMeeting($event)\"></tk-live-meetings>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </ng-container>\r\n\r\n <tk-meeting-space\r\n *ngIf=\"view === 'meeting-space'\"\r\n [mode]=\"meetingSpaceMode\"\r\n [meetingSpaceId]=\"selectedMeetingSpaceId\"\r\n (back)=\"onMeetingSpaceBack()\"\r\n (saved)=\"onMeetingSpaceSaved($event)\">\r\n </tk-meeting-space>\r\n\r\n <tk-live-meeting\r\n *ngIf=\"view === 'live-meeting'\"\r\n [meetingId]=\"selectedLiveMeetingId\"\r\n (back)=\"onLiveMeetingBack()\">\r\n </tk-live-meeting>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap\";.tk-meetings{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000000f2}.tk-meetings__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.tk-meetings__heading{display:flex;flex-direction:column;gap:.25rem}.tk-meetings__title{margin:0;font-size:1.5rem;font-weight:600;color:#000000f2}.tk-meetings__subtitle{margin:0;font-size:.875rem;color:#0009}.tk-meetings__status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#1d805f}.tk-meetings__status--warning .tk-meetings__status-dot{background:#b5860b}.tk-meetings__status--critical .tk-meetings__status-dot{background:#c73636}.tk-meetings__status-chevron{font-size:1.125rem;height:1.125rem;width:1.125rem;color:#0006}.tk-meetings__tabs ::ng-deep .mat-tab-header{border-bottom:1px solid rgba(0,0,0,.12)}.tk-meetings__tabs ::ng-deep .mat-tab-label{height:auto;min-width:auto;padding:0 0 .75rem;margin-right:1.5rem;opacity:1;font-size:.875rem;font-weight:500;color:#0009}.tk-meetings__tabs ::ng-deep .mat-tab-label.mat-tab-label-active{color:#000000f2}.tk-meetings__tabs ::ng-deep .mat-tab-labels{gap:0}.tk-meetings__tabs ::ng-deep .mat-ink-bar{background-color:#000;height:2px}.tk-meetings__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.375rem;padding:0 .375rem;border-radius:999px;background:rgba(0,0,0,.06);font-size:.75rem;font-weight:500;color:#000000f2}.tk-meetings__tab-content{padding:.5rem 0 1.5rem}mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}::ng-deep .custom-toggle .mat-slide-toggle-bar{position:relative;width:48px;height:25px;flex-shrink:0;border-radius:13px;background-color:#ccc}::ng-deep .custom-toggle .mat-slide-toggle-label{font-size:13px}::ng-deep .custom-toggle .mat-slide-toggle-thumb{height:20px;width:20px;position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;left:3px;top:5px;background-color:#fff!important}::ng-deep .custom-toggle .mat-slide-toggle-thumb:after{content:\"\\d7\";font-size:14px;color:#8e9fb7;line-height:1;display:block;pointer-events:none;transform:translateY(0)}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-thumb{left:calc(100% - 11px)!important}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-thumb:after{content:\"\\2713\";color:#0d56aa;font-weight:700;font-size:10px}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-bar{background:#1170cf!important}::ng-deep .custom-toggle.mat-checked .mat-slide-toggle-bar:hover{background:#0353a8!important}::ng-deep input.blue-input{border:solid .0625rem rgba(0,0,0,.5019607843)!important}::ng-deep input.blue-input:focus{display:flex;align-items:center;color:#000000b3;background-color:#ededed;border:solid .0625rem rgba(0,0,0,.5019607843);font-weight:500;cursor:pointer;flex-wrap:wrap;gap:.5rem;box-shadow:0 0 0 .12rem #fff,0 0 0 .25rem #1170cf,0 0 0 .3rem #1170cf59;background-color:#fff!important}::ng-deep input.blue-input:focus:focus-visible{outline:none}::ng-deep input.blue-input:hover{background-color:#00000012!important}::ng-deep .mat-checkbox .mat-checkbox-inner-container .mat-checkbox-frame{border-width:.0625rem;border:solid .0625rem rgba(0,0,0,.5019607843);border-radius:.125rem;font-size:.625rem;transition:background-color .1s cubic-bezier(.25,.1,.25,1),border .1s cubic-bezier(.25,.1,.25,1),box-shadow .1s cubic-bezier(.25,.1,.25,1)}::ng-deep .mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#1170cf}::ng-deep .mat-checkbox-checked.mat-primary .mat-checkbox-background .mat-checkbox-checkmark{transform:scale(.75);transform-origin:left center;margin-left:2px}::ng-deep .mat-checkbox .mat-checkbox-label{font-size:.875rem;color:#000000f2;font-weight:400}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: i1.APIService }]; }, propDecorators: { host: [{
55
55
  type: Input
56
56
  }], token: [{
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
62
62
  }], liveCount: [{
63
63
  type: Input
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tZWV0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL21lZXRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFhekQsTUFBTSxPQUFPLGlCQUFpQjtJQVk1QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGpDLDJCQUFzQixHQUFHLDhCQUE4QixDQUFDO1FBQ3hELDJCQUFzQixHQUE2QixTQUFTLENBQUM7UUFDN0QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUV2QixTQUFJLEdBQWlCLE1BQU0sQ0FBQztRQUM1QixxQkFBZ0IsR0FBeUIsUUFBUSxDQUFDO1FBQ2xELDJCQUFzQixHQUFrQixJQUFJLENBQUM7UUFDN0MsMEJBQXFCLEdBQWtCLElBQUksQ0FBQztJQUVFLENBQUM7SUFFL0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsY0FBc0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQTZCO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUNyQixDQUFDOzsrR0E5Q1UsaUJBQWlCO21HQUFqQixpQkFBaUIseU5DYjlCLGlwREE2Q0E7NEZEaENhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhO2lHQUtkLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVldGluZ1NwYWNlRm9ybU1vZGUgfSBmcm9tICcuL2NvbXBvbmVudHMvbWVldGluZy1zcGFjZXMvbWVldGluZy1zcGFjZS9tZWV0aW5nLXNwYWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lZXRpbmdTcGFjZURldGFpbHMgfSBmcm9tICcuL3R5cGVzL21lZXRpbmctc3BhY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgTWVldGluZ0Vudmlyb25tZW50U3RhdHVzID0gJ2hlYWx0aHknIHwgJ3dhcm5pbmcnIHwgJ2NyaXRpY2FsJztcclxuZXhwb3J0IHR5cGUgTWVldGluZ3NWaWV3ID0gJ2xpc3QnIHwgJ21lZXRpbmctc3BhY2UnIHwgJ2xpdmUtbWVldGluZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RrLW1lZXRpbmdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVldGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lZXRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWV0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaG9zdCE6IHN0cmluZztcclxuICBASW5wdXQoKSB0b2tlbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBlbnZpcm9ubWVudFN0YXR1c0xhYmVsID0gJ01lZXRpbmcgZW52aXJvbm1lbnQ6IEhlYWx0aHknO1xyXG4gIEBJbnB1dCgpIGVudmlyb25tZW50U3RhdHVzU3RhdGU6IE1lZXRpbmdFbnZpcm9ubWVudFN0YXR1cyA9ICdoZWFsdGh5JztcclxuICBASW5wdXQoKSBsaXZlQ291bnQgPSAwO1xyXG5cclxuICB2aWV3OiBNZWV0aW5nc1ZpZXcgPSAnbGlzdCc7XHJcbiAgbWVldGluZ1NwYWNlTW9kZTogTWVldGluZ1NwYWNlRm9ybU1vZGUgPSAnY3JlYXRlJztcclxuICBzZWxlY3RlZE1lZXRpbmdTcGFjZUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzZWxlY3RlZExpdmVNZWV0aW5nSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFQSVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS50b2tlbiA9IHRoaXMudG9rZW47XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuYXBpVXJsID0gdGhpcy5ob3N0O1xyXG4gIH1cclxuXHJcbiAgb25DcmVhdGVNZWV0aW5nU3BhY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lZXRpbmdTcGFjZU1vZGUgPSAnY3JlYXRlJztcclxuICAgIHRoaXMuc2VsZWN0ZWRNZWV0aW5nU3BhY2VJZCA9IG51bGw7XHJcbiAgICB0aGlzLnZpZXcgPSAnbWVldGluZy1zcGFjZSc7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRNZWV0aW5nU3BhY2UobWVldGluZ1NwYWNlSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tZWV0aW5nU3BhY2VNb2RlID0gJ2VkaXQnO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1lZXRpbmdTcGFjZUlkID0gbWVldGluZ1NwYWNlSWQ7XHJcbiAgICB0aGlzLnZpZXcgPSAnbWVldGluZy1zcGFjZSc7XHJcbiAgfVxyXG5cclxuICBvbk1lZXRpbmdTcGFjZUJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXcgPSAnbGlzdCc7XHJcbiAgfVxyXG5cclxuICBvbk1lZXRpbmdTcGFjZVNhdmVkKF9kZXRhaWxzOiBNZWV0aW5nU3BhY2VEZXRhaWxzKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXcgPSAnbGlzdCc7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5MaXZlTWVldGluZyhtZWV0aW5nSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpdmVNZWV0aW5nSWQgPSBtZWV0aW5nSWQ7XHJcbiAgICB0aGlzLnZpZXcgPSAnbGl2ZS1tZWV0aW5nJztcclxuICB9XHJcblxyXG4gIG9uTGl2ZU1lZXRpbmdCYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3ID0gJ2xpc3QnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlldyA9PT0gJ2xpc3QnXCI+XHJcbiAgICA8aGVhZGVyIGNsYXNzPVwidGstbWVldGluZ3NfX2hlYWRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NfX2hlYWRpbmdcIj5cclxuICAgICAgICA8aDEgY2xhc3M9XCJ0ay1tZWV0aW5nc19fdGl0bGVcIj5NZWV0aW5nczwvaDE+XHJcbiAgICAgICAgPCEtLSA8cCBjbGFzcz1cInRrLW1lZXRpbmdzX19zdWJ0aXRsZVwiPkNvbmZpZ3VyZSBtZWV0aW5nIHNwYWNlcyBhbmQgbW9uaXRvciBldmVyeXRoaW5nIGhhcHBlbmluZyBsaXZlIGFjcm9zcyB5b3VyIGVudmlyb25tZW50LjwvcD4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9oZWFkZXI+XHJcblxyXG4gICAgPG1hdC10YWItZ3JvdXAgZGlzYWJsZVJpcHBsZSBjbGFzcz1cInRrLW1lZXRpbmdzX190YWJzXCI+XHJcbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiTWVldGluZ3NcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NfX3RhYi1jb250ZW50XCI+XHJcbiAgICAgICAgICA8dGstbWVldGluZy1zcGFjZXNcclxuICAgICAgICAgICAgKGNyZWF0ZU1lZXRpbmdTcGFjZSk9XCJvbkNyZWF0ZU1lZXRpbmdTcGFjZSgpXCJcclxuICAgICAgICAgICAgKGVkaXRNZWV0aW5nU3BhY2UpPVwib25FZGl0TWVldGluZ1NwYWNlKCRldmVudClcIj5cclxuICAgICAgICAgIDwvdGstbWVldGluZy1zcGFjZXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LXRhYj5cclxuXHJcbiAgICAgIDxtYXQtdGFiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxyXG4gICAgICAgICAgPHNwYW4+TGl2ZTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGstbWVldGluZ3NfX3RhYi1jb3VudFwiPnt7IGxpdmVDb3VudCB9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ay1tZWV0aW5nc19fdGFiLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDx0ay1saXZlLW1lZXRpbmdzIChvcGVuTGl2ZU1lZXRpbmcpPVwib25PcGVuTGl2ZU1lZXRpbmcoJGV2ZW50KVwiPjwvdGstbGl2ZS1tZWV0aW5ncz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtdGFiPlxyXG4gICAgPC9tYXQtdGFiLWdyb3VwPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8dGstbWVldGluZy1zcGFjZVxyXG4gICAgKm5nSWY9XCJ2aWV3ID09PSAnbWVldGluZy1zcGFjZSdcIlxyXG4gICAgW21vZGVdPVwibWVldGluZ1NwYWNlTW9kZVwiXHJcbiAgICBbbWVldGluZ1NwYWNlSWRdPVwic2VsZWN0ZWRNZWV0aW5nU3BhY2VJZFwiXHJcbiAgICAoYmFjayk9XCJvbk1lZXRpbmdTcGFjZUJhY2soKVwiXHJcbiAgICAoc2F2ZWQpPVwib25NZWV0aW5nU3BhY2VTYXZlZCgkZXZlbnQpXCI+XHJcbiAgPC90ay1tZWV0aW5nLXNwYWNlPlxyXG5cclxuICA8dGstbGl2ZS1tZWV0aW5nXHJcbiAgICAqbmdJZj1cInZpZXcgPT09ICdsaXZlLW1lZXRpbmcnXCJcclxuICAgIFttZWV0aW5nSWRdPVwic2VsZWN0ZWRMaXZlTWVldGluZ0lkXCJcclxuICAgIChiYWNrKT1cIm9uTGl2ZU1lZXRpbmdCYWNrKClcIj5cclxuICA8L3RrLWxpdmUtbWVldGluZz5cclxuPC9kaXY+XHJcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tZWV0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL21lZXRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFhekQsTUFBTSxPQUFPLGlCQUFpQjtJQVk1QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVGpDLDJCQUFzQixHQUFHLDhCQUE4QixDQUFDO1FBQ3hELDJCQUFzQixHQUE2QixTQUFTLENBQUM7UUFDN0QsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUV2QixTQUFJLEdBQWlCLE1BQU0sQ0FBQztRQUM1QixxQkFBZ0IsR0FBeUIsUUFBUSxDQUFDO1FBQ2xELDJCQUFzQixHQUFrQixJQUFJLENBQUM7UUFDN0MsMEJBQXFCLEdBQWtCLElBQUksQ0FBQztJQUVFLENBQUM7SUFFL0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUE2QjtRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBaUI7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7K0dBOUNVLGlCQUFpQjttR0FBakIsaUJBQWlCLHlOQ2I5QixpcERBNkNBOzRGRGhDYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsYUFBYTtpR0FLZCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lZXRpbmdTcGFjZUZvcm1Nb2RlIH0gZnJvbSAnLi9jb21wb25lbnRzL21lZXRpbmctc3BhY2VzL21lZXRpbmctc3BhY2UvbWVldGluZy1zcGFjZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZWV0aW5nU3BhY2VEZXRhaWxzIH0gZnJvbSAnLi90eXBlcy9tZWV0aW5nLXNwYWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIE1lZXRpbmdFbnZpcm9ubWVudFN0YXR1cyA9ICdoZWFsdGh5JyB8ICd3YXJuaW5nJyB8ICdjcml0aWNhbCc7XHJcbmV4cG9ydCB0eXBlIE1lZXRpbmdzVmlldyA9ICdsaXN0JyB8ICdtZWV0aW5nLXNwYWNlJyB8ICdsaXZlLW1lZXRpbmcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0ay1tZWV0aW5ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lZXRpbmdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZWV0aW5ncy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVldGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGhvc3QhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdG9rZW4hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZW52aXJvbm1lbnRTdGF0dXNMYWJlbCA9ICdNZWV0aW5nIGVudmlyb25tZW50OiBIZWFsdGh5JztcclxuICBASW5wdXQoKSBlbnZpcm9ubWVudFN0YXR1c1N0YXRlOiBNZWV0aW5nRW52aXJvbm1lbnRTdGF0dXMgPSAnaGVhbHRoeSc7XHJcbiAgQElucHV0KCkgbGl2ZUNvdW50ID0gMDtcclxuXHJcbiAgdmlldzogTWVldGluZ3NWaWV3ID0gJ2xpc3QnO1xyXG4gIG1lZXRpbmdTcGFjZU1vZGU6IE1lZXRpbmdTcGFjZUZvcm1Nb2RlID0gJ2NyZWF0ZSc7XHJcbiAgc2VsZWN0ZWRNZWV0aW5nU3BhY2VJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgc2VsZWN0ZWRMaXZlTWVldGluZ0lkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UudG9rZW4gPSB0aGlzLnRva2VuO1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmFwaVVybCA9IHRoaXMuaG9zdCArICcvZGNwJztcclxuICB9XHJcblxyXG4gIG9uQ3JlYXRlTWVldGluZ1NwYWNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZWV0aW5nU3BhY2VNb2RlID0gJ2NyZWF0ZSc7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWVldGluZ1NwYWNlSWQgPSBudWxsO1xyXG4gICAgdGhpcy52aWV3ID0gJ21lZXRpbmctc3BhY2UnO1xyXG4gIH1cclxuXHJcbiAgb25FZGl0TWVldGluZ1NwYWNlKG1lZXRpbmdTcGFjZUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWVldGluZ1NwYWNlTW9kZSA9ICdlZGl0JztcclxuICAgIHRoaXMuc2VsZWN0ZWRNZWV0aW5nU3BhY2VJZCA9IG1lZXRpbmdTcGFjZUlkO1xyXG4gICAgdGhpcy52aWV3ID0gJ21lZXRpbmctc3BhY2UnO1xyXG4gIH1cclxuXHJcbiAgb25NZWV0aW5nU3BhY2VCYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3ID0gJ2xpc3QnO1xyXG4gIH1cclxuXHJcbiAgb25NZWV0aW5nU3BhY2VTYXZlZChfZGV0YWlsczogTWVldGluZ1NwYWNlRGV0YWlscyk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3ID0gJ2xpc3QnO1xyXG4gIH1cclxuXHJcbiAgb25PcGVuTGl2ZU1lZXRpbmcobWVldGluZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXZlTWVldGluZ0lkID0gbWVldGluZ0lkO1xyXG4gICAgdGhpcy52aWV3ID0gJ2xpdmUtbWVldGluZyc7XHJcbiAgfVxyXG5cclxuICBvbkxpdmVNZWV0aW5nQmFjaygpOiB2b2lkIHtcclxuICAgIHRoaXMudmlldyA9ICdsaXN0JztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRrLW1lZXRpbmdzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXcgPT09ICdsaXN0J1wiPlxyXG4gICAgPGhlYWRlciBjbGFzcz1cInRrLW1lZXRpbmdzX19oZWFkZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmdzX19oZWFkaW5nXCI+XHJcbiAgICAgICAgPGgxIGNsYXNzPVwidGstbWVldGluZ3NfX3RpdGxlXCI+TWVldGluZ3M8L2gxPlxyXG4gICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ0ay1tZWV0aW5nc19fc3VidGl0bGVcIj5Db25maWd1cmUgbWVldGluZyBzcGFjZXMgYW5kIG1vbml0b3IgZXZlcnl0aGluZyBoYXBwZW5pbmcgbGl2ZSBhY3Jvc3MgeW91ciBlbnZpcm9ubWVudC48L3A+IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvaGVhZGVyPlxyXG5cclxuICAgIDxtYXQtdGFiLWdyb3VwIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJ0ay1tZWV0aW5nc19fdGFic1wiPlxyXG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIk1lZXRpbmdzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRrLW1lZXRpbmdzX190YWItY29udGVudFwiPlxyXG4gICAgICAgICAgPHRrLW1lZXRpbmctc3BhY2VzXHJcbiAgICAgICAgICAgIChjcmVhdGVNZWV0aW5nU3BhY2UpPVwib25DcmVhdGVNZWV0aW5nU3BhY2UoKVwiXHJcbiAgICAgICAgICAgIChlZGl0TWVldGluZ1NwYWNlKT1cIm9uRWRpdE1lZXRpbmdTcGFjZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L3RrLW1lZXRpbmctc3BhY2VzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC10YWI+XHJcblxyXG4gICAgICA8bWF0LXRhYj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cclxuICAgICAgICAgIDxzcGFuPkxpdmU8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRrLW1lZXRpbmdzX190YWItY291bnRcIj57eyBsaXZlQ291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGstbWVldGluZ3NfX3RhYi1jb250ZW50XCI+XHJcbiAgICAgICAgICA8dGstbGl2ZS1tZWV0aW5ncyAob3BlbkxpdmVNZWV0aW5nKT1cIm9uT3BlbkxpdmVNZWV0aW5nKCRldmVudClcIj48L3RrLWxpdmUtbWVldGluZ3M+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LXRhYj5cclxuICAgIDwvbWF0LXRhYi1ncm91cD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPHRrLW1lZXRpbmctc3BhY2VcclxuICAgICpuZ0lmPVwidmlldyA9PT0gJ21lZXRpbmctc3BhY2UnXCJcclxuICAgIFttb2RlXT1cIm1lZXRpbmdTcGFjZU1vZGVcIlxyXG4gICAgW21lZXRpbmdTcGFjZUlkXT1cInNlbGVjdGVkTWVldGluZ1NwYWNlSWRcIlxyXG4gICAgKGJhY2spPVwib25NZWV0aW5nU3BhY2VCYWNrKClcIlxyXG4gICAgKHNhdmVkKT1cIm9uTWVldGluZ1NwYWNlU2F2ZWQoJGV2ZW50KVwiPlxyXG4gIDwvdGstbWVldGluZy1zcGFjZT5cclxuXHJcbiAgPHRrLWxpdmUtbWVldGluZ1xyXG4gICAgKm5nSWY9XCJ2aWV3ID09PSAnbGl2ZS1tZWV0aW5nJ1wiXHJcbiAgICBbbWVldGluZ0lkXT1cInNlbGVjdGVkTGl2ZU1lZXRpbmdJZFwiXHJcbiAgICAoYmFjayk9XCJvbkxpdmVNZWV0aW5nQmFjaygpXCI+XHJcbiAgPC90ay1saXZlLW1lZXRpbmc+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -8,6 +8,7 @@ import { MeetingSpacesComponent } from './components/meeting-spaces/meeting-spac
8
8
  import { MeetingSpaceComponent } from './components/meeting-spaces/meeting-space/meeting-space.component';
9
9
  import { LiveMeetingsComponent } from './components/live-meetings/live-meetings.component';
10
10
  import { LiveMeetingComponent } from './components/live-meetings/live-meeting/live-meeting.component';
11
+ import { AppLoaderComponent } from './utils/app-loader/app-loader';
11
12
  import * as i0 from "@angular/core";
12
13
  export class MeetingsModule {
13
14
  }
@@ -16,7 +17,8 @@ MeetingsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
16
17
  MeetingSpacesComponent,
17
18
  MeetingSpaceComponent,
18
19
  LiveMeetingsComponent,
19
- LiveMeetingComponent], imports: [CommonModule,
20
+ LiveMeetingComponent,
21
+ AppLoaderComponent], imports: [CommonModule,
20
22
  HttpClientModule,
21
23
  FormsModule,
22
24
  MaterialModule], exports: [MeetingsComponent] });
@@ -33,6 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
33
35
  MeetingSpaceComponent,
34
36
  LiveMeetingsComponent,
35
37
  LiveMeetingComponent,
38
+ AppLoaderComponent
36
39
  ],
37
40
  imports: [
38
41
  CommonModule,
@@ -45,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
45
48
  ],
46
49
  }]
47
50
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tZWV0aW5ncy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFvQnRHLE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBaEJ2QixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsb0JBQW9CLGFBR3BCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGNBQWMsYUFHZCxpQkFBaUI7NkdBR1IsY0FBYyxZQVR2QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxjQUFjOzRGQU1MLGNBQWM7a0JBbEIxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1lZXRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9tZWV0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZWV0aW5nU3BhY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lZXRpbmctc3BhY2VzL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lZXRpbmdTcGFjZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZWV0aW5nLXNwYWNlcy9tZWV0aW5nLXNwYWNlL21lZXRpbmctc3BhY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGl2ZU1lZXRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpdmUtbWVldGluZ3MvbGl2ZS1tZWV0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXZlTWVldGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9saXZlLW1lZXRpbmdzL2xpdmUtbWVldGluZy9saXZlLW1lZXRpbmcuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNZWV0aW5nc0NvbXBvbmVudCxcclxuICAgIE1lZXRpbmdTcGFjZXNDb21wb25lbnQsXHJcbiAgICBNZWV0aW5nU3BhY2VDb21wb25lbnQsXHJcbiAgICBMaXZlTWVldGluZ3NDb21wb25lbnQsXHJcbiAgICBMaXZlTWVldGluZ0NvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWVldGluZ3NDb21wb25lbnQsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lZXRpbmdzTW9kdWxlIHsgfVxyXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL21lZXRpbmdzL3NyYy9tZWV0aW5ncy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUN0RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFxQm5FLE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBakJ2QixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLGtCQUFrQixhQUdsQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxjQUFjLGFBR2QsaUJBQWlCOzZHQUdSLGNBQWMsWUFUdkIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsY0FBYzs0RkFNTCxjQUFjO2tCQW5CMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1lZXRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9tZWV0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZWV0aW5nU3BhY2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lZXRpbmctc3BhY2VzL21lZXRpbmctc3BhY2VzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1lZXRpbmdTcGFjZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZWV0aW5nLXNwYWNlcy9tZWV0aW5nLXNwYWNlL21lZXRpbmctc3BhY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGl2ZU1lZXRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpdmUtbWVldGluZ3MvbGl2ZS1tZWV0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXZlTWVldGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9saXZlLW1lZXRpbmdzL2xpdmUtbWVldGluZy9saXZlLW1lZXRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIE1lZXRpbmdzQ29tcG9uZW50LFxyXG4gICAgTWVldGluZ1NwYWNlc0NvbXBvbmVudCxcclxuICAgIE1lZXRpbmdTcGFjZUNvbXBvbmVudCxcclxuICAgIExpdmVNZWV0aW5nc0NvbXBvbmVudCxcclxuICAgIExpdmVNZWV0aW5nQ29tcG9uZW50LFxyXG4gICAgQXBwTG9hZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE1lZXRpbmdzQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWV0aW5nc01vZHVsZSB7IH1cclxuIl19
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
64
64
  providedIn: 'root'
65
65
  }]
66
66
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzVCLENBQUM7SUFFTCxLQUFLLENBQUMsR0FBVyxFQUFFLE1BQVksRUFBRSxLQUFlO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdEMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFXO1FBQ3RDLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDZixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2FBQ3pGO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWU7UUFDaEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM3QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDN0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQzlELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEVBQ3pELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMzQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7d0dBOURVLFVBQVU7NEdBQVYsVUFBVSxjQUZULE1BQU07NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVBJU2VydmljZSB7XG4gIHRva2VuITogc3RyaW5nO1xuICBhcGlVcmwhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XG4gICkgeyB9XG5cbiAgZmV0Y2godXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgY2FjaGU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGNhY2hlKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5hcGlVcmwgKyB1cmwsIHsgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnMgfSk7XG4gIH1cblxuICBwb3N0KHVybDogc3RyaW5nLCBib2R5OiBhbnksIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBib2R5ID0gYm9keSB8fCBudWxsO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHsgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnMgfSk7XG4gIH1cblxuICBwdXQodXJsOiBzdHJpbmcsIGJvZHkgPSBudWxsLCBwYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwgeyBoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKSB9KTtcbiAgfVxuXG4gIGRlbGV0ZSh1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodGhpcy5hcGlVcmwgKyB1cmwsIHsgaGVhZGVycywgcGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcykgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtczogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcblxuICAgIGlmICghcGFyYW1zKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcbiAgICAgIGlmIChwYXJhbXNba2V5XSkge1xuICAgICAgICBjb25zdCBzdHJpbmdQYXJhbSA9IHBhcmFtc1trZXldLnRvU3RyaW5nKCk7XG4gICAgICAgIHJlc3VsdFtrZXldID0gc3RyaW5nUGFyYW0uaW5jbHVkZXMoJysnKSA/IGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdQYXJhbSkgOiBzdHJpbmdQYXJhbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGVhZGVycyhjYWNoZT86IGJvb2xlYW4pOiBIdHRwSGVhZGVycyB7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnX0NhY2hlJywgJ3RydWUgJyk7XG4gICAgfVxuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbiB8fCB0aGlzLmdldFBhcmFtZXRlckJ5TmFtZSgndG9rZW4nKTtcbiAgICBoZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ0F1dGhvcml6YXRpb24nLCAnQmVhcmVyICcgKyB0b2tlbik7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmFtZXRlckJ5TmFtZShuYW1lOiBhbnksIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmKSB7XG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW1xcW1xcXV0vZywgJ1xcXFwkJicpO1xuICAgIHZhciByZWdleCA9IG5ldyBSZWdFeHAoJ1s/Jl0nICsgbmFtZSArICcoPShbXiYjXSopfCZ8I3wkKScpLFxuICAgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWModXJsKTtcbiAgICBpZiAoIXJlc3VsdHMpIHJldHVybiBudWxsO1xuICAgIGlmICghcmVzdWx0c1syXSkgcmV0dXJuICcnO1xuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1syXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XG4gIH1cbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvbWVldGluZ3Mvc3JjL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFNL0QsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzVCLENBQUM7SUFFTCxLQUFLLENBQUMsR0FBVyxFQUFFLE1BQVksRUFBRSxLQUFlO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdEMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQVksSUFBSSxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVcsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBVztRQUN0QyxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQzthQUN6RjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFlO1FBQ2hDLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzdELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFTLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUM5RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxFQUN6RCxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O3dHQTlEVSxVQUFVOzRHQUFWLFVBQVUsY0FGVCxNQUFNOzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFQSVNlcnZpY2Uge1xuICB0b2tlbiE6IHN0cmluZztcbiAgYXBpVXJsITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudFxuICApIHsgfVxuXG4gIGZldGNoKHVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnksIGNhY2hlPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycyhjYWNoZSk7XG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KHRoaXMuYXBpVXJsICsgdXJsLCB7IHBhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzIH0pO1xuICB9XG5cbiAgcG9zdCh1cmw6IHN0cmluZywgYm9keTogYW55LCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgYm9keSA9IGJvZHkgfHwgbnVsbDtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMuYXBpVXJsICsgdXJsLCBib2R5LCB7IHBhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzIH0pO1xuICB9XG5cbiAgcHV0KHVybDogc3RyaW5nLCBib2R5OiBhbnkgPSBudWxsLCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHRoaXMuYXBpVXJsICsgdXJsLCBib2R5LCB7IGhlYWRlcnMsIHBhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpIH0pO1xuICB9XG5cbiAgZGVsZXRlKHVybDogc3RyaW5nLCBwYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZSh0aGlzLmFwaVVybCArIHVybCwgeyBoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zOiBhbnkpIHtcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuXG4gICAgaWYgKCFwYXJhbXMpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xuICAgICAgaWYgKHBhcmFtc1trZXldKSB7XG4gICAgICAgIGNvbnN0IHN0cmluZ1BhcmFtID0gcGFyYW1zW2tleV0udG9TdHJpbmcoKTtcbiAgICAgICAgcmVzdWx0W2tleV0gPSBzdHJpbmdQYXJhbS5pbmNsdWRlcygnKycpID8gZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ1BhcmFtKSA6IHN0cmluZ1BhcmFtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNhY2hlPzogYm9vbGVhbik6IEh0dHBIZWFkZXJzIHtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCdfQ2FjaGUnLCAndHJ1ZSAnKTtcbiAgICB9XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuIHx8IHRoaXMuZ2V0UGFyYW1ldGVyQnlOYW1lKCd0b2tlbicpO1xuICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHRva2VuKTtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyYW1ldGVyQnlOYW1lKG5hbWU6IGFueSwgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYpIHtcbiAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFxbXFxdXS9nLCAnXFxcXCQmJyk7XG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgnWz8mXScgKyBuYW1lICsgJyg9KFteJiNdKil8JnwjfCQpJyksXG4gICAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xuICAgIGlmICghcmVzdWx0cykgcmV0dXJuIG51bGw7XG4gICAgaWYgKCFyZXN1bHRzWzJdKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzJdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcbiAgfVxufVxuIl19