http-request-manager 18.4.0 → 18.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +27 -16
  2. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +16 -6
  3. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +15 -5
  4. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +3 -6
  5. package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.mjs +13 -5
  6. package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/services/state-request.service.mjs +26 -3
  7. package/esm2022/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.mjs +3 -6
  8. package/esm2022/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.mjs +3 -3
  9. package/esm2022/lib/interceptors/index.mjs +2 -2
  10. package/esm2022/lib/interceptors/models/index.mjs +2 -0
  11. package/esm2022/lib/models/index.mjs +2 -1
  12. package/esm2022/lib/services/database-manager-service/index.mjs +2 -2
  13. package/esm2022/lib/services/database-manager-service/models/index.mjs +2 -0
  14. package/esm2022/lib/services/index.mjs +3 -1
  15. package/esm2022/lib/services/local-storage-manager-service/index.mjs +2 -2
  16. package/esm2022/lib/services/request-manager-services/index.mjs +3 -2
  17. package/esm2022/lib/services/request-manager-services/request.service.mjs +3 -3
  18. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +2 -1
  19. package/esm2022/lib/services/store-state-manager-service/store-state-manager.service.mjs +1 -1
  20. package/fesm2022/http-request-manager.mjs +177 -109
  21. package/fesm2022/http-request-manager.mjs.map +1 -1
  22. package/http-request-manager-18.4.2.tgz +0 -0
  23. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +6 -1
  24. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +4 -1
  25. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +4 -1
  26. package/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.d.ts +4 -1
  27. package/lib/http-request-services-demo/request-manager-ws-demo/services/state-request.service.d.ts +1 -0
  28. package/lib/interceptors/index.d.ts +1 -1
  29. package/lib/interceptors/models/index.d.ts +1 -0
  30. package/lib/models/index.d.ts +1 -0
  31. package/lib/services/database-manager-service/index.d.ts +1 -1
  32. package/lib/services/database-manager-service/models/index.d.ts +1 -0
  33. package/lib/services/index.d.ts +2 -0
  34. package/lib/services/local-storage-manager-service/index.d.ts +1 -1
  35. package/lib/services/request-manager-services/index.d.ts +2 -0
  36. package/lib/services/request-manager-state-service/models/index.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/http-request-manager-18.4.0.tgz +0 -0
@@ -1,4 +1,4 @@
1
- import { Component, inject } from '@angular/core';
1
+ import { Component, inject, Input } from '@angular/core';
2
2
  import { FormBuilder, Validators } from '@angular/forms';
3
3
  import { combineLatest, map, EMPTY } from 'rxjs';
4
4
  import { HTTPManagerService, RandomNumber, ChannelMessage, CommunicationType } from '../../services';
@@ -34,7 +34,8 @@ export class RequestManagerWsDemoComponent {
34
34
  };
35
35
  this.communicationMessages$ = this.stateRequestService.communicationMessages$;
36
36
  this.latestCommunicationMessages$ = this.stateRequestService.latestCommunicationMessages$;
37
- this.chat$ = combineLatest([this.user$, this.communicationMessages$]).pipe(map(([user, messages]) => ({ user, messages })), map(obj => {
37
+ this.chat$ = combineLatest([this.user$, this.communicationMessages$])
38
+ .pipe(map(([user, messages]) => ({ user, messages })), map(obj => {
38
39
  if (!obj.user)
39
40
  return EMPTY;
40
41
  // const mainUser = UserName.adapt({
@@ -79,6 +80,7 @@ export class RequestManagerWsDemoComponent {
79
80
  return this.toUser.valid;
80
81
  }
81
82
  ngOnInit() {
83
+ this.stateRequestService.updateConnection(this.server, this.wsServer, this.jwtToken);
82
84
  this.stateRequestService.getData();
83
85
  }
84
86
  onGetData() {
@@ -119,10 +121,16 @@ export class RequestManagerWsDemoComponent {
119
121
  this.stateRequestService.deleteData(lastRec);
120
122
  }
121
123
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestManagerWsDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RequestManagerWsDemoComponent, selector: "app-request-manager-ws-demo", ngImport: i0, template: "<div style=\"margin: 2rem;\">\n\n <h2 style=\"display: flex;\">\n <span style=\"flex:1\">HTTP Request State Manager - Websockets</span>\n <span *ngIf=\"(connectionStatus$ | async) as connected; else NOT_CONNECTED\">\n WS -\n <span style=\"color: green;\">Connected</span>\n </span>\n <ng-template #NOT_CONNECTED>\n <span style=\"color: red;\">Disconnected {{ attempts$ | async }} - {{ nextRetry$ |async }}</span>\n </ng-template>\n </h2>\n\n <div>\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n <mat-toolbar>\n <div style=\"display: flex; flex:1\">\n <div style=\"flex:1\">{{ userInfo.name }}</div>\n <div>({{ userInfo.username }})</div>\n </div>\n </mat-toolbar>\n </div>\n\n <mat-tab-group animationDuration=\"0ms\">\n\n <mat-tab label=\"WS - Data Control\">\n\n <div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(users$ |async) as users\">\n <mat-chip-set>\n <mat-chip *ngFor=\"let user of users\">\n {{ user.name }}\n </mat-chip>\n </mat-chip-set>\n </div>\n\n <div style=\"display: flex; gap: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onGetData()\">Get Data</button>\n <button mat-stroked-button color=\"accent\" (click)=\"onUpdateData(data)\">Update Data</button>\n <button mat-stroked-button color=\"warn\" (click)=\"onRemoveData(data)\">Remove Data</button>\n <button mat-stroked-button color=\"primary\" (click)=\"onAddData()\">Add Data</button>\n </div>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <div>{{ data | json }}</div>\n <h2>{{ data.length }}</h2>\n </div>\n\n </div>\n\n </mat-tab>\n\n <mat-tab label=\"WS - Messaging\">\n\n <div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n\n <div *ngIf=\"(users$ | async) as users\">\n\n <div style=\"display: flex; gap: 1rem\">\n\n <div style=\"flex:1\" [formGroup]=\"messages\">\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Users</mat-label>\n <mat-select formControlName=\"toUser\">\n <mat-option value=\"allChannels\" #selectedUser>\n All Users\n </mat-option>\n <mat-option *ngFor=\"let user of users\" [value]=\"user\">\n {{ user.username }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Send a Message</mat-label>\n <textarea\n matInput placeholder=\"Ex. It makes me feel...\"\n formControlName=\"content\"\n (keydown.enter)=\"onSendMessage(); $event.preventDefault()\"\n [disabled]=\"!isValid\"\n ></textarea>\n </mat-form-field>\n </div>\n <div style=\"display:flex; gap: .5rem;\">\n <div style=\"flex:1\"></div>\n <button mat-stroked-button (click)=\"onSendMessage()\" color=\"warn\">\n Send Alert\n </button>\n <button mat-stroked-button (click)=\"onSendAlert()\">\n Send Message\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"(chat$ | async) as chat\" style=\"border: thin gray solid; padding: 1rem; margin-top: 1rem;\">\n <!-- <app-messenger-chat\n [user]=\"chat.user\"\n [messages]=\"chat.messages\"\n ></app-messenger-chat> -->\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n </mat-tab>\n\n <mat-tab label=\"WS - Custom Channel Messaging\" [disabled]=\"true\">\n WS - Custom Channel Messaging\n </mat-tab>\n\n </mat-tab-group>\n </div>\n\n</div>\n\n\n<div style=\"margin: 1rem;\">\n <h3>\n user: {{ user$ | async | json}}\n </h3>\n\n <h3>\n users: {{ users$ | async | json}}\n </h3>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i8.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RequestManagerWsDemoComponent, selector: "app-request-manager-ws-demo", inputs: { server: "server", wsServer: "wsServer", jwtToken: "jwtToken" }, ngImport: i0, template: "<div style=\"margin: 2rem;\">\n\n <h2 style=\"display: flex;\">\n <span style=\"flex:1\">HTTP Request State Manager - Websockets</span>\n <span *ngIf=\"(connectionStatus$ | async) as connected; else NOT_CONNECTED\">\n WS -\n <span style=\"color: green;\">Connected</span>\n </span>\n <ng-template #NOT_CONNECTED>\n <span style=\"color: red;\">Disconnected {{ attempts$ | async }} - {{ nextRetry$ |async }}</span>\n </ng-template>\n </h2>\n\n <div>\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n <mat-toolbar>\n <div style=\"display: flex; flex:1\">\n <div style=\"flex:1\">{{ userInfo.name }}</div>\n <div>({{ userInfo.username }})</div>\n </div>\n </mat-toolbar>\n </div>\n\n <mat-tab-group animationDuration=\"0ms\">\n\n <mat-tab label=\"WS - Data Control\">\n\n <div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(users$ |async) as users\">\n <mat-chip-set>\n <mat-chip *ngFor=\"let user of users\">\n {{ user.name }}\n </mat-chip>\n </mat-chip-set>\n </div>\n\n <div style=\"display: flex; gap: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onGetData()\">Get Data</button>\n <button mat-stroked-button color=\"accent\" (click)=\"onUpdateData(data)\">Update Data</button>\n <button mat-stroked-button color=\"warn\" (click)=\"onRemoveData(data)\">Remove Data</button>\n <button mat-stroked-button color=\"primary\" (click)=\"onAddData()\">Add Data</button>\n </div>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <div>{{ data | json }}</div>\n <h2>{{ data.length }}</h2>\n </div>\n\n </div>\n\n </mat-tab>\n\n <mat-tab label=\"WS - Messaging\">\n\n <div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n\n <div *ngIf=\"(users$ | async) as users\">\n\n <div style=\"display: flex; gap: 1rem\">\n\n <div style=\"flex:1\" [formGroup]=\"messages\">\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Users</mat-label>\n <mat-select formControlName=\"toUser\">\n <mat-option value=\"allChannels\" #selectedUser>\n All Users\n </mat-option>\n <mat-option *ngFor=\"let user of users\" [value]=\"user\">\n {{ user.username }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Send a Message</mat-label>\n <textarea\n matInput placeholder=\"Ex. It makes me feel...\"\n formControlName=\"content\"\n (keydown.enter)=\"onSendMessage(); $event.preventDefault()\"\n [disabled]=\"!isValid\"\n ></textarea>\n </mat-form-field>\n </div>\n <div style=\"display:flex; gap: .5rem;\">\n <div style=\"flex:1\"></div>\n <button mat-stroked-button (click)=\"onSendMessage()\" color=\"warn\">\n Send Alert\n </button>\n <button mat-stroked-button (click)=\"onSendAlert()\">\n Send Message\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"(chat$ | async) as chat\" style=\"border: thin gray solid; padding: 1rem; margin-top: 1rem;\">\n <!-- <app-messenger-chat\n [user]=\"chat.user\"\n [messages]=\"chat.messages\"\n ></app-messenger-chat> -->\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n </mat-tab>\n\n <mat-tab label=\"WS - Custom Channel Messaging\" [disabled]=\"true\">\n WS - Custom Channel Messaging\n </mat-tab>\n\n </mat-tab-group>\n </div>\n\n</div>\n\n\n<div style=\"margin: 1rem;\">\n <h3>\n user: {{ user$ | async | json}}\n </h3>\n\n <h3>\n users: {{ users$ | async | json}}\n </h3>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i8.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
123
125
  }
124
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RequestManagerWsDemoComponent, decorators: [{
125
127
  type: Component,
126
128
  args: [{ selector: 'app-request-manager-ws-demo', template: "<div style=\"margin: 2rem;\">\n\n <h2 style=\"display: flex;\">\n <span style=\"flex:1\">HTTP Request State Manager - Websockets</span>\n <span *ngIf=\"(connectionStatus$ | async) as connected; else NOT_CONNECTED\">\n WS -\n <span style=\"color: green;\">Connected</span>\n </span>\n <ng-template #NOT_CONNECTED>\n <span style=\"color: red;\">Disconnected {{ attempts$ | async }} - {{ nextRetry$ |async }}</span>\n </ng-template>\n </h2>\n\n <div>\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n <mat-toolbar>\n <div style=\"display: flex; flex:1\">\n <div style=\"flex:1\">{{ userInfo.name }}</div>\n <div>({{ userInfo.username }})</div>\n </div>\n </mat-toolbar>\n </div>\n\n <mat-tab-group animationDuration=\"0ms\">\n\n <mat-tab label=\"WS - Data Control\">\n\n <div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(users$ |async) as users\">\n <mat-chip-set>\n <mat-chip *ngFor=\"let user of users\">\n {{ user.name }}\n </mat-chip>\n </mat-chip-set>\n </div>\n\n <div style=\"display: flex; gap: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onGetData()\">Get Data</button>\n <button mat-stroked-button color=\"accent\" (click)=\"onUpdateData(data)\">Update Data</button>\n <button mat-stroked-button color=\"warn\" (click)=\"onRemoveData(data)\">Remove Data</button>\n <button mat-stroked-button color=\"primary\" (click)=\"onAddData()\">Add Data</button>\n </div>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <div>{{ data | json }}</div>\n <h2>{{ data.length }}</h2>\n </div>\n\n </div>\n\n </mat-tab>\n\n <mat-tab label=\"WS - Messaging\">\n\n <div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n\n <div *ngIf=\"(users$ | async) as users\">\n\n <div style=\"display: flex; gap: 1rem\">\n\n <div style=\"flex:1\" [formGroup]=\"messages\">\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Users</mat-label>\n <mat-select formControlName=\"toUser\">\n <mat-option value=\"allChannels\" #selectedUser>\n All Users\n </mat-option>\n <mat-option *ngFor=\"let user of users\" [value]=\"user\">\n {{ user.username }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Send a Message</mat-label>\n <textarea\n matInput placeholder=\"Ex. It makes me feel...\"\n formControlName=\"content\"\n (keydown.enter)=\"onSendMessage(); $event.preventDefault()\"\n [disabled]=\"!isValid\"\n ></textarea>\n </mat-form-field>\n </div>\n <div style=\"display:flex; gap: .5rem;\">\n <div style=\"flex:1\"></div>\n <button mat-stroked-button (click)=\"onSendMessage()\" color=\"warn\">\n Send Alert\n </button>\n <button mat-stroked-button (click)=\"onSendAlert()\">\n Send Message\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"(chat$ | async) as chat\" style=\"border: thin gray solid; padding: 1rem; margin-top: 1rem;\">\n <!-- <app-messenger-chat\n [user]=\"chat.user\"\n [messages]=\"chat.messages\"\n ></app-messenger-chat> -->\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n </mat-tab>\n\n <mat-tab label=\"WS - Custom Channel Messaging\" [disabled]=\"true\">\n WS - Custom Channel Messaging\n </mat-tab>\n\n </mat-tab-group>\n </div>\n\n</div>\n\n\n<div style=\"margin: 1rem;\">\n <h3>\n user: {{ user$ | async | json}}\n </h3>\n\n <h3>\n users: {{ users$ | async | json}}\n </h3>\n</div>\n" }]
127
- }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFjLGFBQWEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFPLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7OztBQU92RSxNQUFNLE9BQU8sNkJBQTZCO0lBTDFDO1FBT0UsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFDL0Msd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFFakQsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUV4QixVQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtB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SyxFQUFFLENBQUMsQ0FBQTtRQUMvRixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDOUMsQ0FBQzsrR0FySVUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsbUVDWjFDLHVzSkF1SUE7OzRGRDNIYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWFwLCBFTVBUWSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEhUVFBNYW5hZ2VyU2VydmljZSwgUmFuZG9tTnVtYmVyLCBDaGFubmVsTWVzc2FnZSwgQ29tbXVuaWNhdGlvblR5cGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTdGF0ZVJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdGF0ZS1yZXF1ZXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVxdWVzdE1hbmFnZXJXc0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGh0dHBNYW5hZ2VyU2VydmljZSA9IGluamVjdChIVFRQTWFuYWdlclNlcnZpY2UpXG4gIHN0YXRlUmVxdWVzdFNlcnZpY2UgPSBpbmplY3QoU3RhdGVSZXF1ZXN0U2VydmljZSlcblxuICBmYiA9IGluamVjdChGb3JtQnVpbGRlcilcblxuICB1c2VyJCA9IHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS51c2VyJFxuICB1c2VycyQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UudXNlckxpc3QkXG5cbiAgYXR0ZW1wdHMkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLmF0dGVtcHRzJFxuICBuZXh0UmV0cnkkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLm5leHRSZXRyeSRcblxuICBjb25uZWN0aW9uU3RhdHVzJCA9IHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5zdGF0dXMkXG5cbiAgbWVzc2FnZXMgPSB0aGlzLmZiLmdyb3VwPGFueT4oe1xuICAgIHRvVXNlcjogdGhpcy5mYi5jb250cm9sPHN0cmluZ3xudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBjb250ZW50OiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nfG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICB9KVxuXG4gIGdldCB0b1VzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXMuZ2V0KCd0b1VzZXInKSBhcyBGb3JtQ29udHJvbFxuICB9XG5cbiAgZ2V0IGNvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZXMuZ2V0KCdjb250ZW50JykgYXMgRm9ybUNvbnRyb2xcbiAgfVxuXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLnRvVXNlci52YWxpZFxuICB9XG5cbiAgZGF0YSQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UuZGF0YSQ7XG5cbiAgZnJvbU1lID0gKHVzZXI6IHN0cmluZywgZnJvbVVzZXI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB1c2VyID09PSBmcm9tVXNlclxuICB9XG5cbiAgY29tbXVuaWNhdGlvbk1lc3NhZ2VzJCA9IHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5jb21tdW5pY2F0aW9uTWVzc2FnZXMkXG4gIGxhdGVzdENvbW11bmljYXRpb25NZXNzYWdlcyQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UubGF0ZXN0Q29tbXVuaWNhdGlvbk1lc3NhZ2VzJFxuXG4gIGNoYXQkOiBPYnNlcnZhYmxlPHsgdXNlcjogYW55LCBtZXNzYWdlczogYW55W119fGFueT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnVzZXIkLCB0aGlzLmNvbW11bmljYXRpb25NZXNzYWdlcyRdKS5waXBlKFxuICAgIG1hcCgoW3VzZXIsIG1lc3NhZ2VzXTogYW55KSA9PiAoeyB1c2VyLCBtZXNzYWdlcyB9KSksXG4gICAgbWFwKG9iaiA9PiB7XG5cbiAgICAgIGlmKCFvYmoudXNlcikgcmV0dXJuIEVNUFRZXG5cbiAgICAgIC8vIGNvbnN0IG1haW5Vc2VyID0gVXNlck5hbWUuYWRhcHQoe1xuICAgICAgLy8gICAgIGlkOiBvYmoudXNlci51c2VybmFtZSxcbiAgICAgIC8vICAgICBmaXJzdDogb2JqLnVzZXI/Lm5hbWU/LmZpcnN0LFxuICAgICAgLy8gICAgIGxhc3Q6IG9iai51c2VyPy5uYW1lPy5sYXN0LFxuICAgICAgLy8gfSlcblxuICAgICAgY29uc3QgbWFpblVzZXIgPSAnJ1xuXG4gICAgICBjb25zdCBtZXNzYWdlcyA9IG9iai5tZXNzYWdlcy5tYXAoKGl0ZW06IGFueSkgPT4ge1xuXG4gICAgICAgIGlmKGl0ZW0udG9Vc2VyID09PSAnYWxsQ2hhbm5lbHMnKSB7XG4gICAgICAgICAgLy8gaXRlbS50b1VzZXIgPSBVc2VyTmFtZS5hZGFwdCh7XG4gICAgICAgICAgLy8gICAgIGlkOiAnJyxcbiAgICAgICAgICAvLyAgICAgZmlyc3Q6ICdBbGwgVXNlcnMnLFxuICAgICAgICAgIC8vICAgICBsYXN0OiAnJyxcbiAgICAgICAgICAvLyB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmV0dXJuIE1lc3NhZ2UuYWRhcHQoe1xuICAgICAgICAvLyAgICAgZnJvbVVzZXI6IHtcbiAgICAgICAgLy8gICAgICAgaWQ6IGl0ZW0uZnJvbVVzZXIudXNlcm5hbWUsXG4gICAgICAgIC8vICAgICAgIGZpcnN0OiBpdGVtLmZyb21Vc2VyPy5uYW1lPy5maXJzdCxcbiAgICAgICAgLy8gICAgICAgbGFzdDogaXRlbS5mcm9tVXNlcj8ubmFtZT8ubGFzdCxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgICB0b1VzZXI6IHtcbiAgICAgICAgLy8gICAgICAgaWQ6IGl0ZW0udG9Vc2VyLnVzZXJuYW1lLFxuICAgICAgICAvLyAgICAgICBmaXJzdDogaXRlbS50b1VzZXI/Lm5hbWU/LmZpcnN0LFxuICAgICAgICAvLyAgICAgICBsYXN0OiBpdGVtLnRvVXNlcj8ubmFtZT8ubGFzdCxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgICBjb250ZW50OiBpdGVtLmNvbnRlbnQsXG4gICAgICAgIC8vICAgICBkYXRlOiBpdGVtLmlzc3VlZCxcbiAgICAgICAgLy8gfSlcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB7IHVzZXI6IG1haW5Vc2VyLCBtZXNzYWdlcyB9XG5cbiAgICB9KVxuICApO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5nZXREYXRhKClcbiAgfVxuXG4gIG9uR2V0RGF0YSgpIHtcbiAgICB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UuZ2V0RGF0YSgpXG4gIH1cblxuICBvbkFkZERhdGEoKSB7XG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLmFkZERhdGEoKVxuICB9XG5cbiAgb25VcGRhdGVEYXRhKGRhdGE6IGFueVtdKSB7XG5cbiAgICBjb25zdCBudW0gPSBSYW5kb21OdW1iZXIoMTAwMCwgOTk5OSlcblxuICAgIGNvbnN0IG5ld0RhdGEgPSB7XG4gICAgICBcInNwaWZmZVwiOiBgd2F2ZWNvZGVycy5jb20vZGV2ZWxvcGVyLyR7bnVtfWAsXG4gICAgICBcImlkXCI6IDYzLFxuICAgICAgXCJsYXN0X25hbWVcIjogXCJib25pXCIsXG4gICAgICBcImVtYWlsXCI6IFwibWlrZWJvbmlAaG90bWFpbC5jb21cIixcbiAgICAgIFwiZmlyc3RfbmFtZVwiOiBcIm1pa2VcIlxuICAgIH1cblxuICAgIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS51cGRhdGVEYXRhKG5ld0RhdGEpXG5cbiAgfVxuXG4gIG9uU2VuZE1lc3NhZ2UoKSB7XG4gICAgdGhpcy5tZXNzYWdlcy5tYXJrQWxsQXNUb3VjaGVkKClcbiAgICBpZiAodGhpcy5tZXNzYWdlcy5pbnZhbGlkKSByZXR1cm5cbiAgICBjb25zdCBtZXNzYWdlID0gQ2hhbm5lbE1lc3NhZ2UuYWRhcHQodGhpcy5tZXNzYWdlcy52YWx1ZSlcbiAgICB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2Uuc2VuZE1lc3NhZ2UobWVzc2FnZSlcbiAgICB0aGlzLmNvbnRlbnQucmVzZXQoKVxuICB9XG5cbiAgb25TZW5kQWxlcnQoKSB7XG4gICAgdGhpcy5tZXNzYWdlcy5tYXJrQWxsQXNUb3VjaGVkKClcbiAgICBpZiAodGhpcy5tZXNzYWdlcy5pbnZhbGlkKSByZXR1cm5cbiAgICBjb25zdCBtZXNzYWdlID0gQ2hhbm5lbE1lc3NhZ2UuYWRhcHQoeyAuLi50aGlzLm1lc3NhZ2VzLnZhbHVlLCB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZS5BTEVSVCB9KVxuICAgIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5zZW5kTWVzc2FnZShtZXNzYWdlKVxuICAgIHRoaXMuY29udGVudC5yZXNldCgpXG4gIH1cblxuICBvblJlbW92ZURhdGEoZGF0YTogYW55KSB7XG4gICAgY29uc3QgbGFzdFJlYyA9IGRhdGFbZGF0YS5sZW5ndGggLTFdXG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLmRlbGV0ZURhdGEobGFzdFJlYylcbiAgfVxuXG59XG4iLCI8ZGl2IHN0eWxlPVwibWFyZ2luOiAycmVtO1wiPlxuXG4gIDxoMiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgPHNwYW4gc3R5bGU9XCJmbGV4OjFcIj5IVFRQIFJlcXVlc3QgU3RhdGUgTWFuYWdlciAtIFdlYnNvY2tldHM8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCIoY29ubmVjdGlvblN0YXR1cyQgfCBhc3luYykgYXMgY29ubmVjdGVkOyBlbHNlIE5PVF9DT05ORUNURURcIj5cbiAgICAgIFdTIC1cbiAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IGdyZWVuO1wiPkNvbm5lY3RlZDwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlICNOT1RfQ09OTkVDVEVEPlxuICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogcmVkO1wiPkRpc2Nvbm5lY3RlZCB7eyBhdHRlbXB0cyQgfCBhc3luYyB9fSAtIHt7IG5leHRSZXRyeSQgfGFzeW5jIH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvaDI+XG5cbiAgPGRpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIodXNlciQgfCBhc3luYykgYXMgdXNlckluZm9cIj5cbiAgICAgIDxtYXQtdG9vbGJhcj5cbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXg6MVwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OjFcIj57eyB1c2VySW5mby5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdj4oe3sgdXNlckluZm8udXNlcm5hbWUgfX0pPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtdG9vbGJhcj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtdGFiLWdyb3VwIGFuaW1hdGlvbkR1cmF0aW9uPVwiMG1zXCI+XG5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiV1MgLSBEYXRhIENvbnRyb2xcIj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKGRhdGEkIHwgYXN5bmMpIGFzIGRhdGFcIiBzdHlsZT1cIm1hcmdpbjogMXJlbTsgZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIih1c2VycyQgfGFzeW5jKSBhcyB1c2Vyc1wiPlxuICAgICAgICAgICAgPG1hdC1jaGlwLXNldD5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJzXCI+XG4gICAgICAgICAgICAgICAge3sgdXNlci5uYW1lIH19XG4gICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgICA8L21hdC1jaGlwLXNldD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDFyZW07IG1hcmdpbi1ib3R0b206IDFyZW07XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25HZXREYXRhKClcIj5HZXQgRGF0YTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwib25VcGRhdGVEYXRhKGRhdGEpXCI+VXBkYXRlIERhdGE8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJvblJlbW92ZURhdGEoZGF0YSlcIj5SZW1vdmUgRGF0YTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWRkRGF0YSgpXCI+QWRkIERhdGE8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDFyZW07IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XCI+XG4gICAgICAgICAgICA8ZGl2Pnt7IGRhdGEgfCBqc29uIH19PC9kaXY+XG4gICAgICAgICAgICA8aDI+e3sgZGF0YS5sZW5ndGggfX08L2gyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L21hdC10YWI+XG5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiV1MgLSBNZXNzYWdpbmdcIj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKGRhdGEkIHwgYXN5bmMpIGFzIGRhdGFcIiBzdHlsZT1cIm1hcmdpbjogMXJlbTsgZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIih1c2VyJCB8IGFzeW5jKSBhcyB1c2VySW5mb1wiPlxuXG4gICAgICAgICAgICA8ZGl2ICAqbmdJZj1cIih1c2VycyQgfCBhc3luYykgYXMgdXNlcnNcIj5cblxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtXCI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxXCIgW2Zvcm1Hcm91cF09XCJtZXNzYWdlc1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJmbGV4OjFcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VXNlcnM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0b1VzZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiYWxsQ2hhbm5lbHNcIiAjc2VsZWN0ZWRVc2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBBbGwgVXNlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJzXCIgW3ZhbHVlXT1cInVzZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlci51c2VybmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJmbGV4OjFcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U2VuZCBhIE1lc3NhZ2U8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiRXguIEl0IG1ha2VzIG1lIGZlZWwuLi5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvblNlbmRNZXNzYWdlKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNWYWxpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGdhcDogLjVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OjFcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9uU2VuZE1lc3NhZ2UoKVwiIGNvbG9yPVwid2FyblwiPlxuICAgICAgICAgICAgICAgICAgICAgIFNlbmQgQWxlcnRcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvblNlbmRBbGVydCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgU2VuZCBNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoY2hhdCQgfCBhc3luYykgYXMgY2hhdFwiIHN0eWxlPVwiYm9yZGVyOiB0aGluIGdyYXkgc29saWQ7IHBhZGRpbmc6IDFyZW07IG1hcmdpbi10b3A6IDFyZW07XCI+XG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLW1lc3Nlbmdlci1jaGF0XG4gICAgICAgICAgICAgICAgICBbdXNlcl09XCJjaGF0LnVzZXJcIlxuICAgICAgICAgICAgICAgICAgW21lc3NhZ2VzXT1cImNoYXQubWVzc2FnZXNcIlxuICAgICAgICAgICAgICAgID48L2FwcC1tZXNzZW5nZXItY2hhdD4gLS0+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L21hdC10YWI+XG5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiV1MgLSBDdXN0b20gQ2hhbm5lbCBNZXNzYWdpbmdcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAgICBXUyAtIEN1c3RvbSBDaGFubmVsIE1lc3NhZ2luZ1xuICAgICAgPC9tYXQtdGFiPlxuXG4gICAgPC9tYXQtdGFiLWdyb3VwPlxuICA8L2Rpdj5cblxuPC9kaXY+XG5cblxuPGRpdiBzdHlsZT1cIm1hcmdpbjogMXJlbTtcIj5cbiAgPGgzPlxuICAgIHVzZXI6IHt7IHVzZXIkIHwgYXN5bmMgfCBqc29ufX1cbiAgPC9oMz5cblxuICA8aDM+XG4gICAgdXNlcnM6IHt7IHVzZXJzJCB8IGFzeW5jIHwganNvbn19XG4gIDwvaDM+XG48L2Rpdj5cbiJdfQ==
129
+ }], propDecorators: { server: [{
130
+ type: Input
131
+ }], wsServer: [{
132
+ type: Input
133
+ }], jwtToken: [{
134
+ type: Input
135
+ }] } });
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQWMsYUFBYSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQU8sTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFPRSx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMvQyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUVqRCxPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBTXhCLFVBQUssR0FBRyxJQUFJLENBQUMsbUJB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WUFBRSxPQUFNO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQy9GLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM5QyxDQUFDOytHQTNJVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw2SUNaMUMsdXNKQXVJQTs7NEZEM0hhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw2QkFBNkI7OEJBVzlCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAsIEVNUFRZLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSFRUUE1hbmFnZXJTZXJ2aWNlLCBSYW5kb21OdW1iZXIsIENoYW5uZWxNZXNzYWdlLCBDb21tdW5pY2F0aW9uVHlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFN0YXRlUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0YXRlLXJlcXVlc3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZXF1ZXN0LW1hbmFnZXItd3MtZGVtbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0TWFuYWdlcldzRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgaHR0cE1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KEhUVFBNYW5hZ2VyU2VydmljZSlcbiAgc3RhdGVSZXF1ZXN0U2VydmljZSA9IGluamVjdChTdGF0ZVJlcXVlc3RTZXJ2aWNlKVxuXG4gIGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxuXG4gIEBJbnB1dCgpIHNlcnZlciE6IHN0cmluZztcbiAgQElucHV0KCkgd3NTZXJ2ZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGp3dFRva2VuITogc3RyaW5nO1xuXG4gIHVzZXIkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLnVzZXIkXG4gIHVzZXJzJCA9IHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS51c2VyTGlzdCRcblxuICBhdHRlbXB0cyQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UuYXR0ZW1wdHMkXG4gIG5leHRSZXRyeSQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UubmV4dFJldHJ5JFxuXG4gIGNvbm5lY3Rpb25TdGF0dXMkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLnN0YXR1cyRcblxuICBtZXNzYWdlcyA9IHRoaXMuZmIuZ3JvdXA8YW55Pih7XG4gICAgdG9Vc2VyOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nfG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIGNvbnRlbnQ6IHRoaXMuZmIuY29udHJvbDxzdHJpbmd8bnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gIH0pXG5cbiAgZ2V0IHRvVXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5nZXQoJ3RvVXNlcicpIGFzIEZvcm1Db250cm9sXG4gIH1cblxuICBnZXQgY29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5nZXQoJ2NvbnRlbnQnKSBhcyBGb3JtQ29udHJvbFxuICB9XG5cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9Vc2VyLnZhbGlkXG4gIH1cblxuICBkYXRhJCA9IHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5kYXRhJDtcblxuICBmcm9tTWUgPSAodXNlcjogc3RyaW5nLCBmcm9tVXNlcjogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHVzZXIgPT09IGZyb21Vc2VyXG4gIH1cblxuICBjb21tdW5pY2F0aW9uTWVzc2FnZXMkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLmNvbW11bmljYXRpb25NZXNzYWdlcyRcbiAgbGF0ZXN0Q29tbXVuaWNhdGlvbk1lc3NhZ2VzJCA9IHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5sYXRlc3RDb21tdW5pY2F0aW9uTWVzc2FnZXMkXG5cbiAgY2hhdCQ6IE9ic2VydmFibGU8eyB1c2VyOiBhbnksIG1lc3NhZ2VzOiBhbnlbXX18YW55PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudXNlciQsIHRoaXMuY29tbXVuaWNhdGlvbk1lc3NhZ2VzJF0pXG4gIC5waXBlKFxuICAgIG1hcCgoW3VzZXIsIG1lc3NhZ2VzXTogYW55KSA9PiAoeyB1c2VyLCBtZXNzYWdlcyB9KSksXG4gICAgbWFwKG9iaiA9PiB7XG5cbiAgICAgIGlmKCFvYmoudXNlcikgcmV0dXJuIEVNUFRZXG5cbiAgICAgIC8vIGNvbnN0IG1haW5Vc2VyID0gVXNlck5hbWUuYWRhcHQoe1xuICAgICAgLy8gICAgIGlkOiBvYmoudXNlci51c2VybmFtZSxcbiAgICAgIC8vICAgICBmaXJzdDogb2JqLnVzZXI/Lm5hbWU/LmZpcnN0LFxuICAgICAgLy8gICAgIGxhc3Q6IG9iai51c2VyPy5uYW1lPy5sYXN0LFxuICAgICAgLy8gfSlcblxuICAgICAgY29uc3QgbWFpblVzZXIgPSAnJ1xuXG4gICAgICBjb25zdCBtZXNzYWdlcyA9IG9iai5tZXNzYWdlcy5tYXAoKGl0ZW06IGFueSkgPT4ge1xuXG4gICAgICAgIGlmKGl0ZW0udG9Vc2VyID09PSAnYWxsQ2hhbm5lbHMnKSB7XG4gICAgICAgICAgLy8gaXRlbS50b1VzZXIgPSBVc2VyTmFtZS5hZGFwdCh7XG4gICAgICAgICAgLy8gICAgIGlkOiAnJyxcbiAgICAgICAgICAvLyAgICAgZmlyc3Q6ICdBbGwgVXNlcnMnLFxuICAgICAgICAgIC8vICAgICBsYXN0OiAnJyxcbiAgICAgICAgICAvLyB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmV0dXJuIE1lc3NhZ2UuYWRhcHQoe1xuICAgICAgICAvLyAgICAgZnJvbVVzZXI6IHtcbiAgICAgICAgLy8gICAgICAgaWQ6IGl0ZW0uZnJvbVVzZXIudXNlcm5hbWUsXG4gICAgICAgIC8vICAgICAgIGZpcnN0OiBpdGVtLmZyb21Vc2VyPy5uYW1lPy5maXJzdCxcbiAgICAgICAgLy8gICAgICAgbGFzdDogaXRlbS5mcm9tVXNlcj8ubmFtZT8ubGFzdCxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgICB0b1VzZXI6IHtcbiAgICAgICAgLy8gICAgICAgaWQ6IGl0ZW0udG9Vc2VyLnVzZXJuYW1lLFxuICAgICAgICAvLyAgICAgICBmaXJzdDogaXRlbS50b1VzZXI/Lm5hbWU/LmZpcnN0LFxuICAgICAgICAvLyAgICAgICBsYXN0OiBpdGVtLnRvVXNlcj8ubmFtZT8ubGFzdCxcbiAgICAgICAgLy8gICAgIH0sXG4gICAgICAgIC8vICAgICBjb250ZW50OiBpdGVtLmNvbnRlbnQsXG4gICAgICAgIC8vICAgICBkYXRlOiBpdGVtLmlzc3VlZCxcbiAgICAgICAgLy8gfSlcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB7IHVzZXI6IG1haW5Vc2VyLCBtZXNzYWdlcyB9XG5cbiAgICB9KVxuICApO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS51cGRhdGVDb25uZWN0aW9uKHRoaXMuc2VydmVyLCB0aGlzLndzU2VydmVyLCB0aGlzLmp3dFRva2VuKTtcbiAgICB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UuZ2V0RGF0YSgpXG4gIH1cblxuICBvbkdldERhdGEoKSB7XG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLmdldERhdGEoKVxuICB9XG5cbiAgb25BZGREYXRhKCkge1xuICAgIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5hZGREYXRhKClcbiAgfVxuXG4gIG9uVXBkYXRlRGF0YShkYXRhOiBhbnlbXSkge1xuXG4gICAgY29uc3QgbnVtID0gUmFuZG9tTnVtYmVyKDEwMDAsIDk5OTkpXG5cbiAgICBjb25zdCBuZXdEYXRhID0ge1xuICAgICAgXCJzcGlmZmVcIjogYHdhdmVjb2RlcnMuY29tL2RldmVsb3Blci8ke251bX1gLFxuICAgICAgXCJpZFwiOiA2MyxcbiAgICAgIFwibGFzdF9uYW1lXCI6IFwiYm9uaVwiLFxuICAgICAgXCJlbWFpbFwiOiBcIm1pa2Vib25pQGhvdG1haWwuY29tXCIsXG4gICAgICBcImZpcnN0X25hbWVcIjogXCJtaWtlXCJcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2UudXBkYXRlRGF0YShuZXdEYXRhKVxuXG4gIH1cblxuICBvblNlbmRNZXNzYWdlKCkge1xuICAgIHRoaXMubWVzc2FnZXMubWFya0FsbEFzVG91Y2hlZCgpXG4gICAgaWYgKHRoaXMubWVzc2FnZXMuaW52YWxpZCkgcmV0dXJuXG4gICAgY29uc3QgbWVzc2FnZSA9IENoYW5uZWxNZXNzYWdlLmFkYXB0KHRoaXMubWVzc2FnZXMudmFsdWUpXG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKG1lc3NhZ2UpXG4gICAgdGhpcy5jb250ZW50LnJlc2V0KClcbiAgfVxuXG4gIG9uU2VuZEFsZXJ0KCkge1xuICAgIHRoaXMubWVzc2FnZXMubWFya0FsbEFzVG91Y2hlZCgpXG4gICAgaWYgKHRoaXMubWVzc2FnZXMuaW52YWxpZCkgcmV0dXJuXG4gICAgY29uc3QgbWVzc2FnZSA9IENoYW5uZWxNZXNzYWdlLmFkYXB0KHsgLi4udGhpcy5tZXNzYWdlcy52YWx1ZSwgdHlwZTogQ29tbXVuaWNhdGlvblR5cGUuQUxFUlQgfSlcbiAgICB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2Uuc2VuZE1lc3NhZ2UobWVzc2FnZSlcbiAgICB0aGlzLmNvbnRlbnQucmVzZXQoKVxuICB9XG5cbiAgb25SZW1vdmVEYXRhKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IGxhc3RSZWMgPSBkYXRhW2RhdGEubGVuZ3RoIC0xXVxuICAgIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZS5kZWxldGVEYXRhKGxhc3RSZWMpXG4gIH1cblxufVxuIiwiPGRpdiBzdHlsZT1cIm1hcmdpbjogMnJlbTtcIj5cblxuICA8aDIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgIDxzcGFuIHN0eWxlPVwiZmxleDoxXCI+SFRUUCBSZXF1ZXN0IFN0YXRlIE1hbmFnZXIgLSBXZWJzb2NrZXRzPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiKGNvbm5lY3Rpb25TdGF0dXMkIHwgYXN5bmMpIGFzIGNvbm5lY3RlZDsgZWxzZSBOT1RfQ09OTkVDVEVEXCI+XG4gICAgICBXUyAtXG4gICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIj5Db25uZWN0ZWQ8L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxuZy10ZW1wbGF0ZSAjTk9UX0NPTk5FQ1RFRD5cbiAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIj5EaXNjb25uZWN0ZWQge3sgYXR0ZW1wdHMkIHwgYXN5bmMgfX0gLSB7eyBuZXh0UmV0cnkkIHxhc3luYyB9fTwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2gyPlxuXG4gIDxkaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKHVzZXIkIHwgYXN5bmMpIGFzIHVzZXJJbmZvXCI+XG4gICAgICA8bWF0LXRvb2xiYXI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4OjFcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxXCI+e3sgdXNlckluZm8ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgIDxkaXY+KHt7IHVzZXJJbmZvLnVzZXJuYW1lIH19KTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LXRhYi1ncm91cCBhbmltYXRpb25EdXJhdGlvbj1cIjBtc1wiPlxuXG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIldTIC0gRGF0YSBDb250cm9sXCI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihkYXRhJCB8IGFzeW5jKSBhcyBkYXRhXCIgc3R5bGU9XCJtYXJnaW46IDFyZW07IGRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cblxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIodXNlcnMkIHxhc3luYykgYXMgdXNlcnNcIj5cbiAgICAgICAgICAgIDxtYXQtY2hpcC1zZXQ+XG4gICAgICAgICAgICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2Vyc1wiPlxuICAgICAgICAgICAgICAgIHt7IHVzZXIubmFtZSB9fVxuICAgICAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICAgICAgPC9tYXQtY2hpcC1zZXQ+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9uR2V0RGF0YSgpXCI+R2V0IERhdGE8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cIm9uVXBkYXRlRGF0YShkYXRhKVwiPlVwZGF0ZSBEYXRhPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwib25SZW1vdmVEYXRhKGRhdGEpXCI+UmVtb3ZlIERhdGE8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFkZERhdGEoKVwiPkFkZCBEYXRhPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgPGRpdj57eyBkYXRhIHwganNvbiB9fTwvZGl2PlxuICAgICAgICAgICAgPGgyPnt7IGRhdGEubGVuZ3RoIH19PC9oMj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9tYXQtdGFiPlxuXG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIldTIC0gTWVzc2FnaW5nXCI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihkYXRhJCB8IGFzeW5jKSBhcyBkYXRhXCIgc3R5bGU9XCJtYXJnaW46IDFyZW07IGRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cblxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIodXNlciQgfCBhc3luYykgYXMgdXNlckluZm9cIj5cblxuICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCIodXNlcnMkIHwgYXN5bmMpIGFzIHVzZXJzXCI+XG5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbVwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZsZXg6MVwiIFtmb3JtR3JvdXBdPVwibWVzc2FnZXNcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwiZmxleDoxXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlVzZXJzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidG9Vc2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cImFsbENoYW5uZWxzXCIgI3NlbGVjdGVkVXNlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsIFVzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2Vyc1wiIFt2YWx1ZV09XCJ1c2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXIudXNlcm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwiZmxleDoxXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlNlbmQgYSBNZXNzYWdlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkV4LiBJdCBtYWtlcyBtZSBmZWVsLi4uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZW5kTWVzc2FnZSgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzVmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTpmbGV4OyBnYXA6IC41cmVtO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvblNlbmRNZXNzYWdlKClcIiBjb2xvcj1cIndhcm5cIj5cbiAgICAgICAgICAgICAgICAgICAgICBTZW5kIEFsZXJ0XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25TZW5kQWxlcnQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIFNlbmQgTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGNoYXQkIHwgYXN5bmMpIGFzIGNoYXRcIiBzdHlsZT1cImJvcmRlcjogdGhpbiBncmF5IHNvbGlkOyBwYWRkaW5nOiAxcmVtOyBtYXJnaW4tdG9wOiAxcmVtO1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1tZXNzZW5nZXItY2hhdFxuICAgICAgICAgICAgICAgICAgW3VzZXJdPVwiY2hhdC51c2VyXCJcbiAgICAgICAgICAgICAgICAgIFttZXNzYWdlc109XCJjaGF0Lm1lc3NhZ2VzXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtbWVzc2VuZ2VyLWNoYXQ+IC0tPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9tYXQtdGFiPlxuXG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIldTIC0gQ3VzdG9tIENoYW5uZWwgTWVzc2FnaW5nXCIgW2Rpc2FibGVkXT1cInRydWVcIj5cbiAgICAgICAgV1MgLSBDdXN0b20gQ2hhbm5lbCBNZXNzYWdpbmdcbiAgICAgIDwvbWF0LXRhYj5cblxuICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuXG5cbjxkaXYgc3R5bGU9XCJtYXJnaW46IDFyZW07XCI+XG4gIDxoMz5cbiAgICB1c2VyOiB7eyB1c2VyJCB8IGFzeW5jIHwganNvbn19XG4gIDwvaDM+XG5cbiAgPGgzPlxuICAgIHVzZXJzOiB7eyB1c2VycyQgfCBhc3luYyB8IGpzb259fVxuICA8L2gzPlxuPC9kaXY+XG4iXX0=
@@ -16,8 +16,8 @@ export class StateRequestService extends HTTPManagerStateService {
16
16
  ws: {
17
17
  id: 'WS-MY_DATA',
18
18
  wsChannels: ['allChannels'],
19
- wsServer: 'ws://localhost:8080',
20
- jwtToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL3d3dy53YXZlY29kZXJzLmNhIiwiaWF0IjoxNzYzOTgzNjU1LCJleHAiOjE3NjQwMTI0NTUsImF1ZCI6Imh0dHBzOi8vd3d3LndhdmVjb2RlcnMuY2EiLCJzdWIiOiJNWEIwOE05IiwiZ2l2ZW5uYW1lIjoiTWlrZSIsInN1cm5hbWUiOiJCb25pZmFjaW8iLCJlbWFpbCI6IndhdmVjb2RlcnNAZ21haWwuY29tIiwicm9sZXMiOlsiTWFuYWdlciIsIkFkbWluaXN0cmF0b3IiXX0.0bCoiGEc0xcOqIGcQh1LbeLBAoedoxfwB6DHQ86Lysc',
19
+ wsServer: '',
20
+ jwtToken: '',
21
21
  access: ['read,write,delete,update'],
22
22
  userAdapter: {
23
23
  id: 'username', // matches adapter in UserData
@@ -35,6 +35,29 @@ export class StateRequestService extends HTTPManagerStateService {
35
35
  this.attempts$ = this.wsRetryAttempts$;
36
36
  this.nextRetry$ = this.wsNextRetry$;
37
37
  }
38
+ updateConnection(server, wsServer, jwtToken) {
39
+ this.setApiRequestOptions({
40
+ server,
41
+ retry: RetryOptions.adapt({
42
+ times: 3,
43
+ delay: 1,
44
+ }),
45
+ adapter: OIDCClient.adapt,
46
+ ws: {
47
+ id: 'WS-MY_DATA',
48
+ wsServer,
49
+ jwtToken,
50
+ userAdapter: {
51
+ id: 'username', // matches adapter in UserData
52
+ adapter: UserData.adapt,
53
+ },
54
+ retry: RetryOptions.adapt({
55
+ times: 3,
56
+ delay: 10,
57
+ }),
58
+ }
59
+ });
60
+ }
38
61
  getData() {
39
62
  this.fetchRecords(RequestOptions.adapt({ path: ['ai', 'tests'] }));
40
63
  }
@@ -71,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
71
94
  providedIn: 'root'
72
95
  }]
73
96
  }], ctorParameters: () => [] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9zZXJ2aWNlcy9zdGF0ZS1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUE0QjtJQUtuRTtRQUNFLEtBQUssQ0FDRCxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2YsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3pCLEVBQUUsRUFBRTtnQkFDRixFQUFFLEVBQUUsWUFBWTtnQkFDaEIsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUMzQixRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUUsa1lBQWtZO2dCQUM1WSxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDcEMsV0FBVyxFQUFFO29CQUNYLEVBQUUsRUFBRSxVQUFVLEVBQUUsOEJBQThCO29CQUM5QyxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUs7aUJBQ3hCO2dCQUNELEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDO29CQUN4QixLQUFLLEVBQUUsQ0FBQztvQkFDUixLQUFLLEVBQUUsRUFBRTtpQkFDVixDQUFDO2FBQ0g7U0FDRixDQUFDLEVBQ0YsUUFBUSxDQUFDLEtBQUssRUFDZCxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3BCLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FDSCxDQUFBO1FBakNMLGNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUE7UUFDakMsZUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUE7SUFpQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxPQUFPO1FBRUwsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUVwQyxNQUFNLE9BQU8sR0FBTztZQUNoQixRQUFRLEVBQUUsd0JBQXdCLEdBQUcsRUFBRTtZQUN2QyxXQUFXLEVBQUUsTUFBTTtZQUNuQixPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLFlBQVksRUFBRSxNQUFNO1NBQ3ZCLENBQUE7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBRTVFLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBb0I7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUV4QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7K0dBekVRLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFVzZXJEYXRhIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhYmFzZVN0b3JhZ2UsIERhdGFUeXBlLCBSZXRyeU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5pbXBvcnQgeyBIVFRQTWFuYWdlclN0YXRlU2VydmljZSwgQXBpUmVxdWVzdCwgUmVxdWVzdE9wdGlvbnMsIFJhbmRvbU51bWJlciwgQ2hhbm5lbE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPSURDQ2xpZW50IH0gZnJvbSAnLi4vbW9kZWxzL29pZGMtY2xpZW50Lm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGVSZXF1ZXN0U2VydmljZSBleHRlbmRzIEhUVFBNYW5hZ2VyU3RhdGVTZXJ2aWNlPGFueT4ge1xuXG4gIGF0dGVtcHRzJCA9IHRoaXMud3NSZXRyeUF0dGVtcHRzJFxuICBuZXh0UmV0cnkkID0gdGhpcy53c05leHRSZXRyeSRcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcbiAgICAgICAgQXBpUmVxdWVzdC5hZGFwdCh7XG4gICAgICAgICAgc2VydmVyOiAnaHR0cHM6Ly9vaWRjLmV4YW1wbGUuY29tJyxcbiAgICAgICAgICByZXRyeTogUmV0cnlPcHRpb25zLmFkYXB0KHtcbiAgICAgICAgICAgIHRpbWVzOiAzLFxuICAgICAgICAgICAgZGVsYXk6IDEsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgYWRhcHRlcjogT0lEQ0NsaWVudC5hZGFwdCxcbiAgICAgICAgICB3czoge1xuICAgICAgICAgICAgaWQ6ICdXUy1NWV9EQVRBJyxcbiAgICAgICAgICAgIHdzQ2hhbm5lbHM6IFsnYWxsQ2hhbm5lbHMnXSxcbiAgICAgICAgICAgIHdzU2VydmVyOiAnd3M6Ly9sb2NhbGhvc3Q6ODA4MCcsXG4gICAgICAgICAgICBqd3RUb2tlbjogJ2V5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpwYzNNaU9pSm9kSFJ3Y3pvdkwzZDNkeTUzWVhabFkyOWtaWEp6TG1OaElpd2lhV0YwSWpveE56WXpPVGd6TmpVMUxDSmxlSEFpT2pFM05qUXdNVEkwTlRVc0ltRjFaQ0k2SW1oMGRIQnpPaTh2ZDNkM0xuZGhkbVZqYjJSbGNuTXVZMkVpTENKemRXSWlPaUpOV0VJd09FMDVJaXdpWjJsMlpXNXVZVzFsSWpvaVRXbHJaU0lzSW5OMWNtNWhiV1VpT2lKQ2IyNXBabUZqYVc4aUxDSmxiV0ZwYkNJNkluZGhkbVZqYjJSbGNuTkFaMjFoYVd3dVkyOXRJaXdpY205c1pYTWlPbHNpVFdGdVlXZGxjaUlzSWtGa2JXbHVhWE4wY21GMGIzSWlYWDAuMGJDb2lHRWMweGNPcUlHY1FoMUxiZUxCQW9lZG94ZndCNkRIUTg2THlzYycsXG4gICAgICAgICAgICBhY2Nlc3M6IFsncmVhZCx3cml0ZSxkZWxldGUsdXBkYXRlJ10sXG4gICAgICAgICAgICB1c2VyQWRhcHRlcjoge1xuICAgICAgICAgICAgICBpZDogJ3VzZXJuYW1lJywgLy8gbWF0Y2hlcyBhZGFwdGVyIGluIFVzZXJEYXRhXG4gICAgICAgICAgICAgIGFkYXB0ZXI6IFVzZXJEYXRhLmFkYXB0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldHJ5OiBSZXRyeU9wdGlvbnMuYWRhcHQoe1xuICAgICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgICAgZGVsYXk6IDEwLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgRGF0YVR5cGUuQVJSQVksXG4gICAgICAgIERhdGFiYXNlU3RvcmFnZS5hZGFwdCh7XG4gICAgICAgICAgdGFibGU6ICd3c19kZW1vX2RhdGEnLFxuICAgICAgICAgIGV4cGlyZXNJbjogJzVtbicsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuXG4gICAgZ2V0RGF0YSgpIHtcbiAgICAgIHRoaXMuZmV0Y2hSZWNvcmRzKFJlcXVlc3RPcHRpb25zLmFkYXB0KHsgcGF0aDogWydhaScsJ3Rlc3RzJ10gfSkpXG4gICAgfVxuXG4gICAgYWRkRGF0YSgpIHtcblxuICAgICAgY29uc3QgbnVtID0gUmFuZG9tTnVtYmVyKDEwMDAsIDk5OTkpXG5cbiAgICAgIGNvbnN0IG5ld0RhdGEgPSAgICAge1xuICAgICAgICAgIFwic3BpZmZlXCI6IGBzYW1wbGUuY29tL2RldmVsb3Blci8ke251bX1gLFxuICAgICAgICAgIFwibGFzdF9uYW1lXCI6IFwiYm9uaVwiLFxuICAgICAgICAgIFwiZW1haWxcIjogXCJtaWtlYm9uaUBob3RtYWlsLmNvbVwiLFxuICAgICAgICAgIFwiZmlyc3RfbmFtZVwiOiBcIm1pa2VcIlxuICAgICAgfVxuXG4gICAgICB0aGlzLmNyZWF0ZVJlY29yZChuZXdEYXRhLCBSZXF1ZXN0T3B0aW9ucy5hZGFwdCh7IHBhdGg6IFsnYWknLCd0ZXN0cyddIH0pKVxuXG4gICAgfVxuXG4gICAgc2VuZE1lc3NhZ2UoZGF0YTogQ2hhbm5lbE1lc3NhZ2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdzZW5kTWVzc2FnZScsIGRhdGEpXG4gICAgICB0aGlzLndzTWVzc2FnaW5nKGRhdGEpXG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YShkYXRhOiBhbnkpIHtcbiAgICAgIGNvbnN0IHNhbXBsZU9wdGlvbnMgPSBSZXF1ZXN0T3B0aW9ucy5hZGFwdCh7IHBhdGg6IFsnYWknLCAndGVzdHMnLCBkYXRhLmlkXSB9KVxuICAgICAgY29uc29sZS5sb2coJ3VwZGF0ZURhdGEnLCBzYW1wbGVPcHRpb25zKVxuICAgICAgdGhpcy51cGRhdGVSZWNvcmQoZGF0YSwgc2FtcGxlT3B0aW9ucylcblxuICAgIH1cblxuICAgIGRlbGV0ZURhdGEoZGF0YTogYW55KSB7XG4gICAgICBjb25zdCBzYW1wbGVPcHRpb25zID0gUmVxdWVzdE9wdGlvbnMuYWRhcHQoeyBwYXRoOiBbJ2FpJywgJ3Rlc3RzJywgZGF0YS5pZF0gfSlcbiAgICAgIGNvbnNvbGUubG9nKCdkZWxldGVEYXRhJywgc2FtcGxlT3B0aW9ucylcbiAgICAgIHRoaXMuZGVsZXRlUmVjb3JkKHNhbXBsZU9wdGlvbnMpXG4gICAgfVxuXG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9zZXJ2aWNlcy9zdGF0ZS1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUE0QjtJQUtuRTtRQUNFLEtBQUssQ0FDRCxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2YsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3pCLEVBQUUsRUFBRTtnQkFDRixFQUFFLEVBQUUsWUFBWTtnQkFDaEIsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUMzQixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDcEMsV0FBVyxFQUFFO29CQUNYLEVBQUUs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LEdBQUcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNsQyxDQUFDOytHQW5HUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4uL21vZGVscy91c2VyLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgRGF0YWJhc2VTdG9yYWdlLCBEYXRhVHlwZSwgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuaW1wb3J0IHsgSFRUUE1hbmFnZXJTdGF0ZVNlcnZpY2UsIEFwaVJlcXVlc3QsIFJlcXVlc3RPcHRpb25zLCBSYW5kb21OdW1iZXIsIENoYW5uZWxNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT0lEQ0NsaWVudCB9IGZyb20gJy4uL21vZGVscy9vaWRjLWNsaWVudC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlUmVxdWVzdFNlcnZpY2UgZXh0ZW5kcyBIVFRQTWFuYWdlclN0YXRlU2VydmljZTxhbnk+IHtcblxuICBhdHRlbXB0cyQgPSB0aGlzLndzUmV0cnlBdHRlbXB0cyRcbiAgbmV4dFJldHJ5JCA9IHRoaXMud3NOZXh0UmV0cnkkXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICAgIEFwaVJlcXVlc3QuYWRhcHQoe1xuICAgICAgICAgIHNlcnZlcjogJ2h0dHBzOi8vb2lkYy5leGFtcGxlLmNvbScsXG4gICAgICAgICAgcmV0cnk6IFJldHJ5T3B0aW9ucy5hZGFwdCh7XG4gICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgIGRlbGF5OiAxLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFkYXB0ZXI6IE9JRENDbGllbnQuYWRhcHQsXG4gICAgICAgICAgd3M6IHtcbiAgICAgICAgICAgIGlkOiAnV1MtTVlfREFUQScsXG4gICAgICAgICAgICB3c0NoYW5uZWxzOiBbJ2FsbENoYW5uZWxzJ10sXG4gICAgICAgICAgICB3c1NlcnZlcjogJycsXG4gICAgICAgICAgICBqd3RUb2tlbjogJycsXG4gICAgICAgICAgICBhY2Nlc3M6IFsncmVhZCx3cml0ZSxkZWxldGUsdXBkYXRlJ10sXG4gICAgICAgICAgICB1c2VyQWRhcHRlcjoge1xuICAgICAgICAgICAgICBpZDogJ3VzZXJuYW1lJywgLy8gbWF0Y2hlcyBhZGFwdGVyIGluIFVzZXJEYXRhXG4gICAgICAgICAgICAgIGFkYXB0ZXI6IFVzZXJEYXRhLmFkYXB0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldHJ5OiBSZXRyeU9wdGlvbnMuYWRhcHQoe1xuICAgICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgICAgZGVsYXk6IDEwLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgRGF0YVR5cGUuQVJSQVksXG4gICAgICAgIERhdGFiYXNlU3RvcmFnZS5hZGFwdCh7XG4gICAgICAgICAgdGFibGU6ICd3c19kZW1vX2RhdGEnLFxuICAgICAgICAgIGV4cGlyZXNJbjogJzVtbicsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuXG4gICAgdXBkYXRlQ29ubmVjdGlvbihzZXJ2ZXI6IHN0cmluZywgd3NTZXJ2ZXI6IHN0cmluZywgand0VG9rZW46IHN0cmluZykge1xuXG4gICAgICB0aGlzLnNldEFwaVJlcXVlc3RPcHRpb25zKHtcbiAgICAgICAgICBzZXJ2ZXIsXG4gICAgICAgICAgcmV0cnk6IFJldHJ5T3B0aW9ucy5hZGFwdCh7XG4gICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgIGRlbGF5OiAxLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFkYXB0ZXI6IE9JRENDbGllbnQuYWRhcHQsXG4gICAgICAgICAgd3M6IHtcbiAgICAgICAgICAgIGlkOiAnV1MtTVlfREFUQScsXG4gICAgICAgICAgICB3c1NlcnZlcixcbiAgICAgICAgICAgIGp3dFRva2VuLFxuICAgICAgICAgICAgdXNlckFkYXB0ZXI6IHtcbiAgICAgICAgICAgICAgaWQ6ICd1c2VybmFtZScsIC8vIG1hdGNoZXMgYWRhcHRlciBpbiBVc2VyRGF0YVxuICAgICAgICAgICAgICBhZGFwdGVyOiBVc2VyRGF0YS5hZGFwdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXRyeTogUmV0cnlPcHRpb25zLmFkYXB0KHtcbiAgICAgICAgICAgICAgdGltZXM6IDMsXG4gICAgICAgICAgICAgIGRlbGF5OiAxMCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICB0aGlzLmZldGNoUmVjb3JkcyhSZXF1ZXN0T3B0aW9ucy5hZGFwdCh7IHBhdGg6IFsnYWknLCd0ZXN0cyddIH0pKVxuICAgIH1cblxuICAgIGFkZERhdGEoKSB7XG5cbiAgICAgIGNvbnN0IG51bSA9IFJhbmRvbU51bWJlcigxMDAwLCA5OTk5KVxuXG4gICAgICBjb25zdCBuZXdEYXRhID0gICAgIHtcbiAgICAgICAgICBcInNwaWZmZVwiOiBgc2FtcGxlLmNvbS9kZXZlbG9wZXIvJHtudW19YCxcbiAgICAgICAgICBcImxhc3RfbmFtZVwiOiBcImJvbmlcIixcbiAgICAgICAgICBcImVtYWlsXCI6IFwibWlrZWJvbmlAaG90bWFpbC5jb21cIixcbiAgICAgICAgICBcImZpcnN0X25hbWVcIjogXCJtaWtlXCJcbiAgICAgIH1cblxuICAgICAgdGhpcy5jcmVhdGVSZWNvcmQobmV3RGF0YSwgUmVxdWVzdE9wdGlvbnMuYWRhcHQoeyBwYXRoOiBbJ2FpJywndGVzdHMnXSB9KSlcblxuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKGRhdGE6IENoYW5uZWxNZXNzYWdlKSB7XG4gICAgICBjb25zb2xlLmxvZygnc2VuZE1lc3NhZ2UnLCBkYXRhKVxuICAgICAgdGhpcy53c01lc3NhZ2luZyhkYXRhKVxuICAgIH1cblxuICAgIHVwZGF0ZURhdGEoZGF0YTogYW55KSB7XG4gICAgICBjb25zdCBzYW1wbGVPcHRpb25zID0gUmVxdWVzdE9wdGlvbnMuYWRhcHQoeyBwYXRoOiBbJ2FpJywgJ3Rlc3RzJywgZGF0YS5pZF0gfSlcbiAgICAgIGNvbnNvbGUubG9nKCd1cGRhdGVEYXRhJywgc2FtcGxlT3B0aW9ucylcbiAgICAgIHRoaXMudXBkYXRlUmVjb3JkKGRhdGEsIHNhbXBsZU9wdGlvbnMpXG5cbiAgICB9XG5cbiAgICBkZWxldGVEYXRhKGRhdGE6IGFueSkge1xuICAgICAgY29uc3Qgc2FtcGxlT3B0aW9ucyA9IFJlcXVlc3RPcHRpb25zLmFkYXB0KHsgcGF0aDogWydhaScsICd0ZXN0cycsIGRhdGEuaWRdIH0pXG4gICAgICBjb25zb2xlLmxvZygnZGVsZXRlRGF0YScsIHNhbXBsZU9wdGlvbnMpXG4gICAgICB0aGlzLmRlbGV0ZVJlY29yZChzYW1wbGVPcHRpb25zKVxuICAgIH1cblxufVxuIl19
@@ -28,12 +28,9 @@ export class SettingsStateService extends StoreStateManagerService {
28
28
  return this.data$.pipe(map(item => item?.enum_1));
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsStateService, providedIn: 'root' }); }
31
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsStateService }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingsStateService, decorators: [{
34
- type: Injectable,
35
- args: [{
36
- providedIn: 'root'
37
- }]
34
+ type: Injectable
38
35
  }], ctorParameters: () => [] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vL3NlcnZpY2VzL3NldHRpbmdzLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU1wRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBRWhFO1FBRUUsS0FBSyxDQUNILG1CQUFtQixDQUFDLEtBQUssQ0FBQztZQUMxQixLQUFLLEVBQUUsYUFBYTtZQUNwQixPQUFPLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQztnQkFDNUIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO2dCQUM1QixTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDO1lBQ0YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1NBQ3RCLENBQ0YsQ0FBQyxDQUFBO0lBRUYsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQzFCLENBQUE7SUFDSCxDQUFDOytHQW5DVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2V0dGluZ09wdGlvbnMsIFN0b3JhZ2VUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU3RvcmVTdGF0ZU1hbmFnZXJTZXJ2aWNlLCBTdGF0ZVN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc3RvcmUtc3RhdGUtbWFuYWdlci1zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL3NldHRpbmdzLm1vZGVsJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc1N0YXRlU2VydmljZSBleHRlbmRzIFN0b3JlU3RhdGVNYW5hZ2VyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgICBzdXBlcihcbiAgICAgIFN0YXRlU3RvcmFnZU9wdGlvbnMuYWRhcHQoe1xuICAgICAgc3RvcmU6ICdzYW1wbGVTdG9yZScsXG4gICAgICBvcHRpb25zOiBTZXR0aW5nT3B0aW9ucy5hZGFwdCh7XG4gICAgICAgIHN0b3JhZ2U6IFN0b3JhZ2VUeXBlLlNFU1NJT04sXG4gICAgICAgIGVuY3J5cHRlZDogZmFsc2VcbiAgICAgIH0pLFxuICAgICAgbW9kZWw6IFNldHRpbmdzLmFkYXB0LFxuICAgIH1cbiAgKSlcblxuICB9XG5cbiAgdXBkYXRlRW51bV8xKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnVwZGF0ZURhdGEodmFsdWUpXG4gIH1cblxuICB1cGRhdGVFbnVtXzIodmFsdWU6IGFueSkge1xuICAgIHRoaXMudXBkYXRlRGF0YSh2YWx1ZSlcbiAgfVxuXG4gIGdldEVudW0oa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhJC5waXBlKFxuICAgICAgbWFwKGl0ZW0gPT4gaXRlbVtrZXldKVxuICAgIClcbiAgfVxuXG4gIGdldEVudW1fMSgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhJC5waXBlKFxuICAgICAgbWFwKGl0ZW0gPT4gaXRlbT8uZW51bV8xKVxuICAgIClcbiAgfVxuXG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vL3NlcnZpY2VzL3NldHRpbmdzLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUlwRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBRWhFO1FBRUUsS0FBSyxDQUNILG1CQUFtQixDQUFDLEtBQUssQ0FBQztZQUMxQixLQUFLLEVBQUUsYUFBYTtZQUNwQixPQUFPLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQztnQkFDNUIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO2dCQUM1QixTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDO1lBQ0YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1NBQ3RCLENBQ0YsQ0FBQyxDQUFBO0lBRUYsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQzFCLENBQUE7SUFDSCxDQUFDOytHQW5DVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNldHRpbmdPcHRpb25zLCBTdG9yYWdlVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFN0b3JlU3RhdGVNYW5hZ2VyU2VydmljZSwgU3RhdGVTdG9yYWdlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0b3JlLXN0YXRlLW1hbmFnZXItc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy9zZXR0aW5ncy5tb2RlbCc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU3RhdGVTZXJ2aWNlIGV4dGVuZHMgU3RvcmVTdGF0ZU1hbmFnZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcblxuICAgIHN1cGVyKFxuICAgICAgU3RhdGVTdG9yYWdlT3B0aW9ucy5hZGFwdCh7XG4gICAgICBzdG9yZTogJ3NhbXBsZVN0b3JlJyxcbiAgICAgIG9wdGlvbnM6IFNldHRpbmdPcHRpb25zLmFkYXB0KHtcbiAgICAgICAgc3RvcmFnZTogU3RvcmFnZVR5cGUuU0VTU0lPTixcbiAgICAgICAgZW5jcnlwdGVkOiBmYWxzZVxuICAgICAgfSksXG4gICAgICBtb2RlbDogU2V0dGluZ3MuYWRhcHQsXG4gICAgfVxuICApKVxuXG4gIH1cblxuICB1cGRhdGVFbnVtXzEodmFsdWU6IGFueSkge1xuICAgIHRoaXMudXBkYXRlRGF0YSh2YWx1ZSlcbiAgfVxuXG4gIHVwZGF0ZUVudW1fMih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy51cGRhdGVEYXRhKHZhbHVlKVxuICB9XG5cbiAgZ2V0RW51bShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmRhdGEkLnBpcGUoXG4gICAgICBtYXAoaXRlbSA9PiBpdGVtW2tleV0pXG4gICAgKVxuICB9XG5cbiAgZ2V0RW51bV8xKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEkLnBpcGUoXG4gICAgICBtYXAoaXRlbSA9PiBpdGVtPy5lbnVtXzEpXG4gICAgKVxuICB9XG5cbn1cbiJdfQ==
@@ -25,10 +25,10 @@ export class StoreStateManagerDemoComponent {
25
25
  this.settingsStateService.getEnum_1().subscribe(data => console.log('DUMP:', data));
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StoreStateManagerDemoComponent, selector: "app-store-state-manager-demo", ngImport: i0, template: "<div style=\"margin: 2rem;\">\n\n <h2>\n <span>Store State Manager</span>\n <span style=\"margin-left: .5rem;\">\n <mat-icon color=\"accent\">fiber_new</mat-icon>\n </span>\n </h2>\n\n {{ dataState$ | async | json}}\n\n <div style=\"display: flex; gap:.5rem; margin-top: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onUpdateEnum_1()\">Update Start</button>\n <button mat-stroked-button (click)=\"onUpdateEnum_2()\">Update End</button>\n <button mat-stroked-button (click)=\"onGetEnum_1()\">Dump</button>\n </div>\n\n <div>\n <h3 style=\"margin: 0;\">Enum 1</h3>\n {{ dataEnum$ | async | json}}\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StoreStateManagerDemoComponent, selector: "app-store-state-manager-demo", providers: [SettingsStateService], ngImport: i0, template: "<div style=\"margin: 2rem;\">\n\n <h2>\n <span>Store State Manager</span>\n <span style=\"margin-left: .5rem;\">\n <mat-icon color=\"accent\">fiber_new</mat-icon>\n </span>\n </h2>\n\n {{ dataState$ | async | json}}\n\n <div style=\"display: flex; gap:.5rem; margin-top: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onUpdateEnum_1()\">Update Start</button>\n <button mat-stroked-button (click)=\"onUpdateEnum_2()\">Update End</button>\n <button mat-stroked-button (click)=\"onGetEnum_1()\">Dump</button>\n </div>\n\n <div>\n <h3 style=\"margin: 0;\">Enum 1</h3>\n {{ dataEnum$ | async | json}}\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.JsonPipe, name: "json" }] }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StoreStateManagerDemoComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'app-store-state-manager-demo', template: "<div style=\"margin: 2rem;\">\n\n <h2>\n <span>Store State Manager</span>\n <span style=\"margin-left: .5rem;\">\n <mat-icon color=\"accent\">fiber_new</mat-icon>\n </span>\n </h2>\n\n {{ dataState$ | async | json}}\n\n <div style=\"display: flex; gap:.5rem; margin-top: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onUpdateEnum_1()\">Update Start</button>\n <button mat-stroked-button (click)=\"onUpdateEnum_2()\">Update End</button>\n <button mat-stroked-button (click)=\"onGetEnum_1()\">Dump</button>\n </div>\n\n <div>\n <h3 style=\"margin: 0;\">Enum 1</h3>\n {{ dataEnum$ | async | json}}\n </div>\n\n</div>\n" }]
32
+ args: [{ selector: 'app-store-state-manager-demo', providers: [SettingsStateService], template: "<div style=\"margin: 2rem;\">\n\n <h2>\n <span>Store State Manager</span>\n <span style=\"margin-left: .5rem;\">\n <mat-icon color=\"accent\">fiber_new</mat-icon>\n </span>\n </h2>\n\n {{ dataState$ | async | json}}\n\n <div style=\"display: flex; gap:.5rem; margin-top: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onUpdateEnum_1()\">Update Start</button>\n <button mat-stroked-button (click)=\"onUpdateEnum_2()\">Update End</button>\n <button mat-stroked-button (click)=\"onGetEnum_1()\">Dump</button>\n </div>\n\n <div>\n <h3 style=\"margin: 0;\">Enum 1</h3>\n {{ dataEnum$ | async | json}}\n </div>\n\n</div>\n" }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby9zdG9yZS1zdGF0ZS1tYW5hZ2VyLWRlbW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU96RSxNQUFNLE9BQU8sOEJBQThCO0lBTDNDO1FBT0UseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDbkQsZUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUE7UUFFNUMsY0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtLQW1CbEQ7SUFqQkMsUUFBUTtJQUNSLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3JGLENBQUM7K0dBdEJVLDhCQUE4QjttR0FBOUIsOEJBQThCLG9FQ1QzQyxvcUJBdUJBOzs0RkRkYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmFuZG9tTnVtYmVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU2V0dGluZ3NTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NldHRpbmdzLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVTdGF0ZU1hbmFnZXJEZW1vQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBzZXR0aW5nc1N0YXRlU2VydmljZSA9IGluamVjdChTZXR0aW5nc1N0YXRlU2VydmljZSlcbiAgZGF0YVN0YXRlJCA9IHRoaXMuc2V0dGluZ3NTdGF0ZVNlcnZpY2UuZGF0YSRcblxuICBkYXRhRW51bSQgPSB0aGlzLnNldHRpbmdzU3RhdGVTZXJ2aWNlLmdldEVudW1fMSgpXG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBvblVwZGF0ZUVudW1fMSgpIHtcbiAgICBjb25zdCBybmQgPSBSYW5kb21OdW1iZXIoMTAwMCwgOTk5OSlcbiAgICB0aGlzLnNldHRpbmdzU3RhdGVTZXJ2aWNlLnVwZGF0ZUVudW1fMSh7ZW51bV8xOiBbeyB1c2VyczogWzEsMiwzLCBybmRdLCByYW5kb206IHJuZCB9XX0pXG4gIH1cblxuICBvblVwZGF0ZUVudW1fMigpIHtcbiAgICBjb25zdCBybmQgPSBSYW5kb21OdW1iZXIoMTAwMCwgOTk5OSlcbiAgICB0aGlzLnNldHRpbmdzU3RhdGVTZXJ2aWNlLnVwZGF0ZUVudW1fMih7ZW51bV8yOiBbeyB1c2VyczogWzEsMiwzLCBybmRdLCByYW5kb206IHJuZCB9XX0pXG4gIH1cblxuICBvbkdldEVudW1fMSgpIHtcbiAgICB0aGlzLnNldHRpbmdzU3RhdGVTZXJ2aWNlLmdldEVudW1fMSgpLnN1YnNjcmliZShkYXRhID0+IGNvbnNvbGUubG9nKCdEVU1QOicsIGRhdGEpKVxuICB9XG5cbn1cbiIsIjxkaXYgc3R5bGU9XCJtYXJnaW46IDJyZW07XCI+XG5cbiAgPGgyPlxuICAgIDxzcGFuPlN0b3JlIFN0YXRlIE1hbmFnZXI8L3NwYW4+XG4gICAgPHNwYW4gc3R5bGU9XCJtYXJnaW4tbGVmdDogLjVyZW07XCI+XG4gICAgICA8bWF0LWljb24gY29sb3I9XCJhY2NlbnRcIj5maWJlcl9uZXc8L21hdC1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9oMj5cblxuICB7eyBkYXRhU3RhdGUkIHwgYXN5bmMgfCBqc29ufX1cblxuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOi41cmVtOyBtYXJnaW4tdG9wOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvblVwZGF0ZUVudW1fMSgpXCI+VXBkYXRlIFN0YXJ0PC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9uVXBkYXRlRW51bV8yKClcIj5VcGRhdGUgRW5kPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9uR2V0RW51bV8xKClcIj5EdW1wPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGgzIHN0eWxlPVwibWFyZ2luOiAwO1wiPkVudW0gMTwvaDM+XG4gICAge3sgZGF0YUVudW0kIHwgYXN5bmMgfCBqc29ufX1cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby9zdG9yZS1zdGF0ZS1tYW5hZ2VyLWRlbW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQVF6RSxNQUFNLE9BQU8sOEJBQThCO0lBTjNDO1FBUUUseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDbkQsZUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUE7UUFFNUMsY0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtLQW1CbEQ7SUFqQkMsUUFBUTtJQUNSLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3JGLENBQUM7K0dBdEJVLDhCQUE4QjttR0FBOUIsOEJBQThCLHVEQUY5QixDQUFDLG9CQUFvQixDQUFDLDBCQ1JuQyxvcUJBdUJBOzs0RkRiYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UsOEJBQThCLGFBRzdCLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSYW5kb21OdW1iZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTZXR0aW5nc1N0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2V0dGluZ3Mtc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdG9yZS1zdGF0ZS1tYW5hZ2VyLWRlbW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2V0dGluZ3NTdGF0ZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JlU3RhdGVNYW5hZ2VyRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgc2V0dGluZ3NTdGF0ZVNlcnZpY2UgPSBpbmplY3QoU2V0dGluZ3NTdGF0ZVNlcnZpY2UpXG4gIGRhdGFTdGF0ZSQgPSB0aGlzLnNldHRpbmdzU3RhdGVTZXJ2aWNlLmRhdGEkXG5cbiAgZGF0YUVudW0kID0gdGhpcy5zZXR0aW5nc1N0YXRlU2VydmljZS5nZXRFbnVtXzEoKVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgb25VcGRhdGVFbnVtXzEoKSB7XG4gICAgY29uc3Qgcm5kID0gUmFuZG9tTnVtYmVyKDEwMDAsIDk5OTkpXG4gICAgdGhpcy5zZXR0aW5nc1N0YXRlU2VydmljZS51cGRhdGVFbnVtXzEoe2VudW1fMTogW3sgdXNlcnM6IFsxLDIsMywgcm5kXSwgcmFuZG9tOiBybmQgfV19KVxuICB9XG5cbiAgb25VcGRhdGVFbnVtXzIoKSB7XG4gICAgY29uc3Qgcm5kID0gUmFuZG9tTnVtYmVyKDEwMDAsIDk5OTkpXG4gICAgdGhpcy5zZXR0aW5nc1N0YXRlU2VydmljZS51cGRhdGVFbnVtXzIoe2VudW1fMjogW3sgdXNlcnM6IFsxLDIsMywgcm5kXSwgcmFuZG9tOiBybmQgfV19KVxuICB9XG5cbiAgb25HZXRFbnVtXzEoKSB7XG4gICAgdGhpcy5zZXR0aW5nc1N0YXRlU2VydmljZS5nZXRFbnVtXzEoKS5zdWJzY3JpYmUoZGF0YSA9PiBjb25zb2xlLmxvZygnRFVNUDonLCBkYXRhKSlcbiAgfVxuXG59XG4iLCI8ZGl2IHN0eWxlPVwibWFyZ2luOiAycmVtO1wiPlxuXG4gIDxoMj5cbiAgICA8c3Bhbj5TdG9yZSBTdGF0ZSBNYW5hZ2VyPC9zcGFuPlxuICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC41cmVtO1wiPlxuICAgICAgPG1hdC1pY29uIGNvbG9yPVwiYWNjZW50XCI+ZmliZXJfbmV3PC9tYXQtaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvaDI+XG5cbiAge3sgZGF0YVN0YXRlJCB8IGFzeW5jIHwganNvbn19XG5cbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDouNXJlbTsgbWFyZ2luLXRvcDogMXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTtcIj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25VcGRhdGVFbnVtXzEoKVwiPlVwZGF0ZSBTdGFydDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvblVwZGF0ZUVudW1fMigpXCI+VXBkYXRlIEVuZDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJvbkdldEVudW1fMSgpXCI+RHVtcDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxoMyBzdHlsZT1cIm1hcmdpbjogMDtcIj5FbnVtIDE8L2gzPlxuICAgIHt7IGRhdGFFbnVtJCB8IGFzeW5jIHwganNvbn19XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,5 @@
1
- export * from "./models/error-settings.model";
1
+ export * from "./models/index";
2
2
  export * from "./credentials.interceptor";
3
3
  export * from "./request-header.interceptor";
4
4
  export * from "./request-error.interceptor";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvZXJyb3Itc2V0dGluZ3MubW9kZWxcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vY3JlZGVudGlhbHMuaW50ZXJjZXB0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcXVlc3QtaGVhZGVyLmludGVyY2VwdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1ZXN0LWVycm9yLmludGVyY2VwdG9yXCI7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvaW5kZXhcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vY3JlZGVudGlhbHMuaW50ZXJjZXB0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcXVlc3QtaGVhZGVyLmludGVyY2VwdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1ZXN0LWVycm9yLmludGVyY2VwdG9yXCI7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from "./error-settings.model";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2ludGVyY2VwdG9ycy9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3Itc2V0dGluZ3MubW9kZWxcIjtcbiJdfQ==
@@ -1,7 +1,8 @@
1
1
  export * from './database-storage.model';
2
2
  export * from './retry-options.model';
3
3
  export * from './data-type.enum';
4
+ export * from './config-token.model';
4
5
  export * from './config-http-options.model';
5
6
  export * from './config-local-storage-options.model';
6
7
  export * from './config-options.model';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUE7QUFFckMsY0FBYyxrQkFBa0IsQ0FBQTtBQUVoQyxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YWJhc2Utc3RvcmFnZS5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vcmV0cnktb3B0aW9ucy5tb2RlbCdcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXR5cGUuZW51bSdcblxuZXhwb3J0ICogZnJvbSAnLi9jb25maWctaHR0cC1vcHRpb25zLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctbG9jYWwtc3RvcmFnZS1vcHRpb25zLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctb3B0aW9ucy5tb2RlbCdcblxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUE7QUFFckMsY0FBYyxrQkFBa0IsQ0FBQTtBQUVoQyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhYmFzZS1zdG9yYWdlLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXRyeS1vcHRpb25zLm1vZGVsJ1xuXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdHlwZS5lbnVtJ1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy10b2tlbi5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLWh0dHAtb3B0aW9ucy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLWxvY2FsLXN0b3JhZ2Utb3B0aW9ucy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLW9wdGlvbnMubW9kZWwnXG5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from "./models/table-schema";
1
+ export * from "./models/index";
2
2
  export * from "./database.manager.service";
3
3
  export * from "./db.storage.service";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RhdGFiYXNlLW1hbmFnZXItc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL21vZGVscy90YWJsZS1zY2hlbWFcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UubWFuYWdlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYi5zdG9yYWdlLnNlcnZpY2VcIjtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RhdGFiYXNlLW1hbmFnZXItc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL21vZGVscy9pbmRleFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS5tYW5hZ2VyLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RiLnN0b3JhZ2Uuc2VydmljZVwiO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from "./table-schema";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2RhdGFiYXNlLW1hbmFnZXItc2VydmljZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3RhYmxlLXNjaGVtYVwiO1xuXG4iXX0=
@@ -3,5 +3,7 @@ export * from "./local-storage-manager-service/index";
3
3
  export * from "./request-manager-services/index";
4
4
  export * from "./request-manager-state-service/index";
5
5
  export * from "./ws-manager-service/index";
6
+ export * from "./store-state-manager-service/index";
7
+ export * from "./database-manager-service/index";
6
8
  export * from "./utils/index";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLHFEQUFxRDtBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBleHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZS1tYW5hZ2VyLXNlcnZpY2VzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbC1zdG9yYWdlLW1hbmFnZXItc2VydmljZS9pbmRleFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1ZXN0LW1hbmFnZXItc2VydmljZXMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93cy1tYW5hZ2VyLXNlcnZpY2UvaW5kZXhcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvaW5kZXhcIjtcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLHFEQUFxRDtBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UtbWFuYWdlci1zZXJ2aWNlcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWwtc3RvcmFnZS1tYW5hZ2VyLXNlcnZpY2UvaW5kZXhcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vcmVxdWVzdC1tYW5hZ2VyLXNlcnZpY2VzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtc2VydmljZS9pbmRleFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi93cy1tYW5hZ2VyLXNlcnZpY2UvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3JlLXN0YXRlLW1hbmFnZXItc2VydmljZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2UtbWFuYWdlci1zZXJ2aWNlL2luZGV4XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL2luZGV4XCI7XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export * from "./models/index";
2
- export { LocalStorageManagerService } from "./local-storage-manager.service";
2
+ export * from "./local-storage-manager.service";
3
3
  export { LocalStorageSignalsManagerService } from "./local-storage-signals-manager.service";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UtbWFuYWdlci1zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvaW5kZXhcIjtcbmV4cG9ydCB7IExvY2FsU3RvcmFnZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSBcIi4vbG9jYWwtc3RvcmFnZS1tYW5hZ2VyLnNlcnZpY2VcIjtcbmV4cG9ydCB7IExvY2FsU3RvcmFnZVNpZ25hbHNNYW5hZ2VyU2VydmljZSB9IGZyb20gXCIuL2xvY2FsLXN0b3JhZ2Utc2lnbmFscy1tYW5hZ2VyLnNlcnZpY2VcIjtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2UtbWFuYWdlci1zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL21vZGVscy9pbmRleFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbC1zdG9yYWdlLW1hbmFnZXIuc2VydmljZVwiO1xuZXhwb3J0IHsgTG9jYWxTdG9yYWdlU2lnbmFsc01hbmFnZXJTZXJ2aWNlIH0gZnJvbSBcIi4vbG9jYWwtc3RvcmFnZS1zaWduYWxzLW1hbmFnZXIuc2VydmljZVwiO1xuIl19
@@ -1,6 +1,7 @@
1
1
  export * from "./http-manager.service";
2
2
  export * from "./http-manager-signals.service";
3
- // export * from './request.service';
3
+ export * from './request.service';
4
+ export * from './request-signals.service';
4
5
  export * from "../../models/index";
5
6
  export * from "./rxjs-operators/index";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MscUNBQXFDO0FBRXJDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2h0dHAtbWFuYWdlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9odHRwLW1hbmFnZXItc2lnbmFscy5zZXJ2aWNlXCI7XG4vLyBleHBvcnQgKiBmcm9tICcuL3JlcXVlc3Quc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gXCIuLi8uLi9tb2RlbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3J4anMtb3BlcmF0b3JzL2luZGV4XCI7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2h0dHAtbWFuYWdlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9odHRwLW1hbmFnZXItc2lnbmFscy5zZXJ2aWNlXCI7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC1zaWduYWxzLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tIFwiLi4vLi4vbW9kZWxzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yeGpzLW9wZXJhdG9ycy9pbmRleFwiO1xuIl19
@@ -1,7 +1,7 @@
1
1
  import { HttpClient, HttpEventType, HttpHeaderResponse } from '@angular/common/http';
2
2
  import { Injectable, inject } from '@angular/core';
3
3
  import { BehaviorSubject, throwError } from 'rxjs';
4
- import { catchError, delay, finalize, map } from 'rxjs/operators';
4
+ import { catchError, finalize, map } from 'rxjs/operators';
5
5
  import { PathQueryService, HeadersService } from '../utils';
6
6
  import { requestStreaming } from './rxjs-operators/request-streaming';
7
7
  import { WebsocketService } from '../ws-manager-service';
@@ -13,7 +13,7 @@ export class RequestService extends WebsocketService {
13
13
  this.pathQueryService = inject(PathQueryService);
14
14
  this.headersService = inject(HeadersService);
15
15
  this.isPending = new BehaviorSubject(false);
16
- this.isPending$ = this.isPending.asObservable().pipe(delay(1));
16
+ this.isPending$ = this.isPending.asObservable();
17
17
  this.progress = new BehaviorSubject(0);
18
18
  this.progress$ = this.progress.asObservable();
19
19
  }
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
189
189
  providedIn: 'root'
190
190
  }]
191
191
  }] });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9yZXF1ZXN0LW1hbmFnZXItc2VydmljZXMvcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXpELE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBSHBEOztRQUtVLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFekIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDM0MsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFL0MsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFBO1FBQy9DLGVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV6RCxhQUFR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Ryx5RUFBeUUsQ0FBQTtRQUN0RixDQUFDO2FBQ0ksSUFBSSxHQUFHLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RELFFBQVEsR0FBRywwQkFBMEIsQ0FBQTtRQUN2QyxDQUFDO2FBQ0ksSUFBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsUUFBUSxHQUFHLG1FQUFtRSxDQUFBO1FBQ2hGLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQTtJQUVqQixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQVksRUFBRSxXQUFvQjtRQUV2RCxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN0QjtnQkFDRSxHQUFHLE9BQU87Z0JBQ1YsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFlBQVksRUFBRSxNQUFNO2dCQUNwQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsTUFBTSxFQUFFLG1CQUFtQjthQUM1QjtZQUNELENBQUMsQ0FBQyxPQUFPLENBQUE7SUFFWCxDQUFDOytHQXZQVSxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cEhlYWRlclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlbGF5LCBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcGlSZXF1ZXN0IH0gZnJvbSAnLi4vcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLXNlcnZpY2UvbW9kZWxzL2FwaS1yZXF1ZXN0Lm1vZGVsJztcbmltcG9ydCB7IFBhdGhRdWVyeVNlcnZpY2UsIEhlYWRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgcmVxdWVzdFN0cmVhbWluZyB9IGZyb20gJy4vcnhqcy1vcGVyYXRvcnMvcmVxdWVzdC1zdHJlYW1pbmcnO1xuaW1wb3J0IHsgV2Vic29ja2V0U2VydmljZSB9IGZyb20gJy4uL3dzLW1hbmFnZXItc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVxdWVzdFNlcnZpY2UgZXh0ZW5kcyBXZWJzb2NrZXRTZXJ2aWNlIHtcblxuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudClcblxuICBwcml2YXRlIHBhdGhRdWVyeVNlcnZpY2UgPSBpbmplY3QoUGF0aFF1ZXJ5U2VydmljZSlcbiAgcHJpdmF0ZSBoZWFkZXJzU2VydmljZSA9IGluamVjdChIZWFkZXJzU2VydmljZSlcblxuICBpc1BlbmRpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuICBpc1BlbmRpbmckID0gdGhpcy5pc1BlbmRpbmcuYXNPYnNlcnZhYmxlKCkucGlwZShkZWxheSgxKSlcblxuICBwcm9ncmVzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKVxuICBwcm9ncmVzcyQgPSB0aGlzLnByb2dyZXNzLmFzT2JzZXJ2YWJsZSgpXG5cbiAgZ2V0UmVjb3JkUmVxdWVzdDxUPihvcHRpb25zOiBBcGlSZXF1ZXN0KTogT2JzZXJ2YWJsZTxUPiB7XG5cbiAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5idWlsZFVybFBhdGgob3B0aW9ucyk7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuYnVpbGRDb21iaW5lZEhlYWRlcnMob3B0aW9ucyk7XG5cbiAgICB0aGlzLmlzUGVuZGluZy5uZXh0KHRydWUpO1xuXG4gICAgcmV0dXJuIChvcHRpb25zLnN0cmVhbSlcbiAgICAgICAgPyB0aGlzLmh0dHAuZ2V0PGFueT4odXJsUGF0aCwgaGVhZGVycykucGlwZShcbiAgICAgICAgICAgIHJlcXVlc3RTdHJlYW1pbmcoKSxcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRmluYWxpemUoKVxuICAgICAgICApXG4gICAgICAgIDogdGhpcy5odHRwLmdldDxUPih1cmxQYXRoLCBoZWFkZXJzKS5waXBlKFxuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0KG9wdGlvbnMpLFxuICAgICAgICApXG4gIH1cblxuICBjcmVhdGVSZWNvcmRSZXF1ZXN0PFQ+KG9wdGlvbnM6IEFwaVJlcXVlc3QsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8VD4ge1xuXG4gICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuYnVpbGRVcmxQYXRoKG9wdGlvbnMpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmJ1aWxkQ29tYmluZWRIZWFkZXJzKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5pc1BlbmRpbmcubmV4dCh0cnVlKTtcblxuICAgIHJldHVybiAob3B0aW9ucy5zdHJlYW0pXG4gICAgICAgID8gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmxQYXRoLCBkYXRhLCBoZWFkZXJzKS5waXBlKFxuICAgICAgICAgICAgcmVxdWVzdFN0cmVhbWluZygpLFxuICAgICAgICAgICAgdGhpcy5oYW5kbGVGaW5hbGl6ZSgpXG4gICAgICAgIClcbiAgICAgICAgOiB0aGlzLmh0dHAucG9zdDxUPih1cmxQYXRoLCBkYXRhLCBoZWFkZXJzKS5waXBlKFxuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0KG9wdGlvbnMpLFxuICAgICAgICApXG4gIH1cblxuICB1cGRhdGVSZWNvcmRSZXF1ZXN0PFQ+KG9wdGlvbnM6IEFwaVJlcXVlc3QsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHVybFBhdGggPSB0aGlzLmJ1aWxkVXJsUGF0aChvcHRpb25zKTtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMob3B0aW9ucyk7XG5cbiAgICB0aGlzLmlzUGVuZGluZy5uZXh0KHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmxQYXRoLCBkYXRhLCBoZWFkZXJzKS5waXBlKFxuICAgICAgICB0aGlzLnJlcXVlc3Qob3B0aW9ucyksXG4gICAgKVxuICB9XG5cbiAgZGVsZXRlUmVjb3JkUmVxdWVzdDxUPihvcHRpb25zOiBBcGlSZXF1ZXN0KTogT2JzZXJ2YWJsZTxUPiB7XG5cbiAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5idWlsZFVybFBhdGgob3B0aW9ucyk7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5pc1BlbmRpbmcubmV4dCh0cnVlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsUGF0aCwgaGVhZGVycykucGlwZShcbiAgICAgIHRoaXMucmVxdWVzdChvcHRpb25zKSxcbiAgICApXG4gIH1cblxuICAvLyBIZWxwZXIgZnVuY3Rpb25zXG4gIHByaXZhdGUgYnVpbGRVcmxQYXRoKG9wdGlvbnM6IEFwaVJlcXVlc3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhdGhRdWVyeVNlcnZpY2UuYnVpbGRBUElQYXRoKG9wdGlvbnMuc2VydmVyLCBvcHRpb25zLnBhdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEhlYWRlcnMob3B0aW9uczogQXBpUmVxdWVzdCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyc1NlcnZpY2UuZ2VuZXJhdGVIZWFkZXJzKG9wdGlvbnMuaGVhZGVycyk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ29tYmluZWRIZWFkZXJzKG9wdGlvbnM6IEFwaVJlcXVlc3QpOiBhbnkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnNTZXJ2aWNlLmdlbmVyYXRlSGVhZGVycyhvcHRpb25zLmhlYWRlcnMpXG4gICAgcmV0dXJuIHRoaXMuY29tYmluZUhlYWRlcnMoaGVhZGVycywgb3B0aW9ucy5zdHJlYW0gfHwgZmFsc2UpXG4gIH1cblxuICBwcml2YXRlIHJlcXVlc3Q8VD4ob3B0aW9uczogQXBpUmVxdWVzdCk6IChzb3VyY2U6IE9ic2VydmFibGU8YW55PikgPT4gT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPGFueT4pOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIG1hcChkYXRhID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9ucz8uYWRhcHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGF0YSlcbiAgICAgICAgICAgICAgPyBkYXRhLm1hcCgoaXRlbTogYW55KSA9PiBvcHRpb25zLmFkYXB0ZXIoaXRlbSkpXG4gICAgICAgICAgICAgIDogb3B0aW9ucy5hZGFwdGVyKGRhdGEpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBkYXRhXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgZG93bmxvYWRGaWxlUmVxdWVzdChvcHRpb25zOiBBcGlSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIHRoaXMuaXNQZW5kaW5nLm5leHQodHJ1ZSk7XG5cbiAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5idWlsZFVybFBhdGgob3B0aW9ucyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmxQYXRoLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InLCBvYnNlcnZlOiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M6IHRydWUgfSlcbiAgICAucGlwZShcbiAgICAgIG1hcCgoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XG5cbiAgICAgICAgdGhpcy5pc1BlbmRpbmcubmV4dCh0cnVlKVxuXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBIZWFkZXJSZXNwb25zZSkge1xuICAgICAgICAgIGlmKGV2ZW50LnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGVuZGluZy5uZXh0KGZhbHNlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEb3dubG9hZCBmYWlsZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAwXHRTZW50XHRSZXF1ZXN0IGhhcyBiZWVuIHNlbnQuXG4gICAgICAgIC8vIDFcdFVwbG9hZFByb2dyZXNzXHRVcGxvYWQgaXMgaW4gcHJvZ3Jlc3MuXG4gICAgICAgIC8vIDJcdFJlc3BvbnNlSGVhZGVyXHRSZXNwb25zZSBoZWFkZXJzIHJlY2VpdmVkLlxuICAgICAgICAvLyAzXHREb3dubG9hZFByb2dyZXNzXHREb3dubG9hZCBpcyBpbiBwcm9ncmVzcy5cbiAgICAgICAgLy8gNFx0UmVzcG9uc2VcdFJlc3BvbnNlIGlzIGZ1bGx5IHJlY2VpdmVkLlxuICAgICAgICAvLyA1XHRVc2VyXHRDdXN0b20gdXNlciBldmVudC5cblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcblxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzOlxuXG4gICAgICAgICAgY29uc3Qgc3RhdHVzID0gKGV2ZW50LnRvdGFsKSA/IE1hdGgucm91bmQoZXZlbnQubG9hZGVkIC8gKGV2ZW50LnRvdGFsIHx8IDEpICogMTAwKSA6IDEwMFxuICAgICAgICAgIHRoaXMucHJvZ3Jlc3MubmV4dChzdGF0dXMpXG4gICAgICAgICAgcmV0dXJuIHN0YXR1c1xuXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuXG4gICAgICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lUGF0aCA9IChvcHRpb25zPy5zYXZlQXMpID8gb3B0aW9ucy5zYXZlQXMgOiAob3B0aW9ucy5wYXRoKSA/IG9wdGlvbnMucGF0aFtvcHRpb25zLnBhdGgubGVuZ3RoIC0gMV0gOiBbXVxuICAgICAgICAgICAgICBjb25zdCBmaWxlQ29udGVudEhlYWRlciA9IG9wdGlvbnMuZmlsZUNvbnRlbnRIZWFkZXIgfHwgJ0NvbnRlbnQtRGlzcG9zaXRpb24nXG4gICAgICAgICAgICAgIGNvbnN0IGhlYWRlcl9jb250ZW50ID0gZXZlbnQuaGVhZGVycy5nZXQoZmlsZUNvbnRlbnRIZWFkZXIpO1xuXG4gICAgICAgICAgICAgIC8vIGNoZWNrcyBpZiBoZWFkZXJfY29udGVudCBpcyBub3QgZW1wdHkgYW5kIHNwbGl0cyB0aGUgaGVhZGVyX2NvbnRlbnQgdG8gZ2V0IHRoZSBmaWxlIG5hbWVcbiAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlLCBpdCB3aWxsIHVzZSB0aGUgZmlsZURvd25sb2FkIC0gY29udGFpbnMgdGhlIGZpbGUgbmFtZSBhbmQgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSAoaGVhZGVyX2NvbnRlbnQpID8gaGVhZGVyX2NvbnRlbnQuc3BsaXQoJz0nKVsxXS5zdWJzdHJpbmcoMCwgaGVhZGVyX2NvbnRlbnQuc3BsaXQoJz0nKVsxXS5sZW5ndGgpIDogJydcblxuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IChmaWxlKSA/IGZpbGUgOiBmaWxlTmFtZVBhdGhcblxuICAgICAgICAgICAgICBpZiAoZmlsZU5hbWUgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1BlbmRpbmcubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTYXZlIEZpbGU6IChmaWxlIG5hbWUgYW5kIGV4dGVuc2lvbikgbm90IGZvdW5kIGluIEhlYWRlcnMgb3IgUGF0aCcpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEZpbGUoZmlsZU5hbWUsIGV2ZW50LmJvZHkpXG4gICAgICAgICAgICAgIHRoaXMuaXNQZW5kaW5nLm5leHQoZmFsc2UpXG5cbiAgICAgICAgICAgICAgcmV0dXJuIDEwMFxuXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Rvd25sb2FkIGZhaWxlZCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB0aGlzLmlzUGVuZGluZy5uZXh0KGZhbHNlKVxuICAgICAgICAgICAgICByZXR1cm4gMFxuICAgICAgICB9XG5cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRmluYWxpemUoKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxhbnk+KSA9PiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzUGVuZGluZy5uZXh0KGZhbHNlKSk7XG4gIH1cblxuICBwcml2YXRlIGRvd25sb2FkRmlsZShmaWxlOnN0cmluZywgZmlsZURhdGE6IGFueSkge1xuXG4gICAgY29uc3QgbmF2aWdhdG9yQW55ID0gd2luZG93Lm5hdmlnYXRvciBhcyBhbnlcblxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUuc3BsaXQoJy4nKVsxXS50b0xvd2VyQ2FzZSgpXG5cbiAgICB2YXIgbmV3QmxvYiA9IG5ldyBCbG9iKFtmaWxlRGF0YV0sIHsgdHlwZTogdGhpcy5jcmVhdGVGaWxlVHlwZShleHRlbnNpb24pIH0pXG5cbiAgICBpZiAobmF2aWdhdG9yQW55Lm1zU2F2ZU9yT3BlbkJsb2IpIHtcbiAgICAgIG5hdmlnYXRvckFueS5tc1NhdmVPck9wZW5CbG9iKG5ld0Jsb2IsIGZpbGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ld0Jsb2IpXG4gICAgICBsaW5rLmhyZWYgPSB1cmxcbiAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlXG4gICAgICBsaW5rLmNsaWNrKClcbiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmlsZVR5cGUoZXh0OiBhbnkpOiBzdHJpbmcge1xuXG4gICAgbGV0IGZpbGVUeXBlOiBzdHJpbmcgPSBcIlwiXG5cbiAgICBpZiAoZXh0ID09ICdwZGYnIHx8IGV4dCA9PSAnY3N2Jykge1xuICAgICAgZmlsZVR5cGUgPSBgYXBwbGljYXRpb24vJHtleHR9YFxuICAgIH1cbiAgICBlbHNlIGlmIChleHQgPT0gJ2pwZWcnIHx8IGV4dCA9PSAnanBnJyB8fCBleHQgPT0gJ3BuZycpIHtcbiAgICAgIGZpbGVUeXBlID0gYGltYWdlLyR7ZXh0fWBcbiAgICB9XG4gICAgZWxzZSBpZiAoZXh0ID09ICd0eHQnKSB7XG4gICAgICBmaWxlVHlwZSA9ICd0ZXh0L3BsYWluJ1xuICAgIH1cblxuICAgIGVsc2UgaWYgKGV4dCA9PSAncHB0JyB8fCBleHQgPT0gJ3BvdCcgfHwgZXh0ID09ICdwcHMnIHx8IGV4dCA9PSAncHBhJykge1xuICAgICAgZmlsZVR5cGUgPSAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnXG4gICAgfVxuICAgIGVsc2UgaWYgKGV4dCA9PSAncHB0eCcpIHtcbiAgICAgIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nXG4gICAgfVxuICAgIGVsc2UgaWYgKGV4dCA9PSAnZG9jJyB8fCBleHQgPT0gJ2RvdCcpIHtcbiAgICAgIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL21zd29yZCdcbiAgICB9XG4gICAgZWxzZSBpZiAoZXh0ID09ICdkb2N4Jykge1xuICAgICAgZmlsZVR5cGUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnXG4gICAgfVxuICAgIGVsc2UgaWYgKGV4dCA9PSAneGxzJyB8fCBleHQgPT0gJ3hsdCcgfHwgZXh0ID09ICd4bGEnKSB7XG4gICAgICBmaWxlVHlwZSA9ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnXG4gICAgfVxuICAgIGVsc2UgaWYgKGV4dCA9PSAneGxzeCcpIHtcbiAgICAgIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0J1xuICAgIH1cblxuICAgIHJldHVybiBmaWxlVHlwZVxuXG4gIH1cblxuICBwcml2YXRlIGNvbWJpbmVIZWFkZXJzKGhlYWRlcnM6IGFueSwgaXNTdHJlYW1pbmc6IGJvb2xlYW4pIHtcblxuICAgIHJldHVybiAoaXNTdHJlYW1pbmcpID9cbiAgICB7XG4gICAgICAuLi5oZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXG4gICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgQWNjZXB0OiAndGV4dC9ldmVudC1zdHJlYW0nXG4gICAgfVxuICAgIDogaGVhZGVyc1xuXG4gIH1cblxufVxuIl19
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9yZXF1ZXN0LW1hbmFnZXItc2VydmljZXMvcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBUyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFIcEQ7O1FBS1UsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUV6QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUMzQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUUvQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUE7UUFDL0MsZUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFMUMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLGNBQVMsR0FB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SUFBSSxHQUFHLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0RCxRQUFRLEdBQUcsMEJBQTBCLENBQUE7UUFDdkMsQ0FBQzthQUNJLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLFFBQVEsR0FBRyxtRUFBbUUsQ0FBQTtRQUNoRixDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUE7SUFFakIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFZLEVBQUUsV0FBb0I7UUFFdkQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDdEI7Z0JBQ0UsR0FBRyxPQUFPO2dCQUNWLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixZQUFZLEVBQUUsTUFBTTtnQkFDcEIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLE1BQU0sRUFBRSxtQkFBbUI7YUFDNUI7WUFDRCxDQUFDLENBQUMsT0FBTyxDQUFBO0lBRVgsQ0FBQzsrR0F2UFUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUsIEh0dHBIZWFkZXJSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWxheSwgZmluYWxpemUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXBpUmVxdWVzdCB9IGZyb20gJy4uL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL21vZGVscy9hcGktcmVxdWVzdC5tb2RlbCc7XG5pbXBvcnQgeyBQYXRoUXVlcnlTZXJ2aWNlLCBIZWFkZXJzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHJlcXVlc3RTdHJlYW1pbmcgfSBmcm9tICcuL3J4anMtb3BlcmF0b3JzL3JlcXVlc3Qtc3RyZWFtaW5nJztcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tICcuLi93cy1tYW5hZ2VyLXNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RTZXJ2aWNlIGV4dGVuZHMgV2Vic29ja2V0U2VydmljZSB7XG5cbiAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpXG5cbiAgcHJpdmF0ZSBwYXRoUXVlcnlTZXJ2aWNlID0gaW5qZWN0KFBhdGhRdWVyeVNlcnZpY2UpXG4gIHByaXZhdGUgaGVhZGVyc1NlcnZpY2UgPSBpbmplY3QoSGVhZGVyc1NlcnZpY2UpXG5cbiAgaXNQZW5kaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcbiAgaXNQZW5kaW5nJCA9IHRoaXMuaXNQZW5kaW5nLmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHJvZ3Jlc3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMClcbiAgcHJvZ3Jlc3MkID0gdGhpcy5wcm9ncmVzcy5hc09ic2VydmFibGUoKVxuXG4gIGdldFJlY29yZFJlcXVlc3Q8VD4ob3B0aW9uczogQXBpUmVxdWVzdCk6IE9ic2VydmFibGU8VD4ge1xuXG4gICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuYnVpbGRVcmxQYXRoKG9wdGlvbnMpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmJ1aWxkQ29tYmluZWRIZWFkZXJzKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5pc1BlbmRpbmcubmV4dCh0cnVlKTtcblxuICAgIHJldHVybiAob3B0aW9ucy5zdHJlYW0pXG4gICAgICAgID8gdGhpcy5odHRwLmdldDxhbnk+KHVybFBhdGgsIGhlYWRlcnMpLnBpcGUoXG4gICAgICAgICAgICByZXF1ZXN0U3RyZWFtaW5nKCksXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUZpbmFsaXplKClcbiAgICAgICAgKVxuICAgICAgICA6IHRoaXMuaHR0cC5nZXQ8VD4odXJsUGF0aCwgaGVhZGVycykucGlwZShcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdChvcHRpb25zKSxcbiAgICAgICAgKVxuICB9XG5cbiAgY3JlYXRlUmVjb3JkUmVxdWVzdDxUPihvcHRpb25zOiBBcGlSZXF1ZXN0LCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcblxuICAgIGNvbnN0IHVybFBhdGggPSB0aGlzLmJ1aWxkVXJsUGF0aChvcHRpb25zKTtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5idWlsZENvbWJpbmVkSGVhZGVycyhvcHRpb25zKTtcblxuICAgIHRoaXMuaXNQZW5kaW5nLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gKG9wdGlvbnMuc3RyZWFtKVxuICAgICAgICA/IHRoaXMuaHR0cC5wb3N0PGFueT4odXJsUGF0aCwgZGF0YSwgaGVhZGVycykucGlwZShcbiAgICAgICAgICAgIHJlcXVlc3RTdHJlYW1pbmcoKSxcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRmluYWxpemUoKVxuICAgICAgICApXG4gICAgICAgIDogdGhpcy5odHRwLnBvc3Q8VD4odXJsUGF0aCwgZGF0YSwgaGVhZGVycykucGlwZShcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdChvcHRpb25zKSxcbiAgICAgICAgKVxuICB9XG5cbiAgdXBkYXRlUmVjb3JkUmVxdWVzdDxUPihvcHRpb25zOiBBcGlSZXF1ZXN0LCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCB1cmxQYXRoID0gdGhpcy5idWlsZFVybFBhdGgob3B0aW9ucyk7XG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5pc1BlbmRpbmcubmV4dCh0cnVlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odXJsUGF0aCwgZGF0YSwgaGVhZGVycykucGlwZShcbiAgICAgICAgdGhpcy5yZXF1ZXN0KG9wdGlvbnMpLFxuICAgIClcbiAgfVxuXG4gIGRlbGV0ZVJlY29yZFJlcXVlc3Q8VD4ob3B0aW9uczogQXBpUmVxdWVzdCk6IE9ic2VydmFibGU8VD4ge1xuXG4gICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuYnVpbGRVcmxQYXRoKG9wdGlvbnMpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmJ1aWxkSGVhZGVycyhvcHRpb25zKTtcblxuICAgIHRoaXMuaXNQZW5kaW5nLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybFBhdGgsIGhlYWRlcnMpLnBpcGUoXG4gICAgICB0aGlzLnJlcXVlc3Qob3B0aW9ucyksXG4gICAgKVxuICB9XG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uc1xuICBwcml2YXRlIGJ1aWxkVXJsUGF0aChvcHRpb25zOiBBcGlSZXF1ZXN0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXRoUXVlcnlTZXJ2aWNlLmJ1aWxkQVBJUGF0aChvcHRpb25zLnNlcnZlciwgb3B0aW9ucy5wYXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRIZWFkZXJzKG9wdGlvbnM6IEFwaVJlcXVlc3QpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmhlYWRlcnNTZXJ2aWNlLmdlbmVyYXRlSGVhZGVycyhvcHRpb25zLmhlYWRlcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbWJpbmVkSGVhZGVycyhvcHRpb25zOiBBcGlSZXF1ZXN0KTogYW55IHtcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzU2VydmljZS5nZW5lcmF0ZUhlYWRlcnMob3B0aW9ucy5oZWFkZXJzKVxuICAgIHJldHVybiB0aGlzLmNvbWJpbmVIZWFkZXJzKGhlYWRlcnMsIG9wdGlvbnMuc3RyZWFtIHx8IGZhbHNlKVxuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0PFQ+KG9wdGlvbnM6IEFwaVJlcXVlc3QpOiAoc291cmNlOiBPYnNlcnZhYmxlPGFueT4pID0+IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxhbnk+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBtYXAoZGF0YSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbnM/LmFkYXB0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGRhdGEpXG4gICAgICAgICAgICAgID8gZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gb3B0aW9ucy5hZGFwdGVyKGl0ZW0pKVxuICAgICAgICAgICAgICA6IG9wdGlvbnMuYWRhcHRlcihkYXRhKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZGF0YVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGRvd25sb2FkRmlsZVJlcXVlc3Qob3B0aW9uczogQXBpUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICB0aGlzLmlzUGVuZGluZy5uZXh0KHRydWUpO1xuXG4gICAgY29uc3QgdXJsUGF0aCA9IHRoaXMuYnVpbGRVcmxQYXRoKG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsUGF0aCwgeyByZXNwb25zZVR5cGU6ICdibG9iJywgb2JzZXJ2ZTogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzOiB0cnVlIH0pXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuXG4gICAgICAgIHRoaXMuaXNQZW5kaW5nLm5leHQodHJ1ZSlcblxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwSGVhZGVyUmVzcG9uc2UpIHtcbiAgICAgICAgICBpZihldmVudC5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgdGhpcy5pc1BlbmRpbmcubmV4dChmYWxzZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRG93bmxvYWQgZmFpbGVkJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMFx0U2VudFx0UmVxdWVzdCBoYXMgYmVlbiBzZW50LlxuICAgICAgICAvLyAxXHRVcGxvYWRQcm9ncmVzc1x0VXBsb2FkIGlzIGluIHByb2dyZXNzLlxuICAgICAgICAvLyAyXHRSZXNwb25zZUhlYWRlclx0UmVzcG9uc2UgaGVhZGVycyByZWNlaXZlZC5cbiAgICAgICAgLy8gM1x0RG93bmxvYWRQcm9ncmVzc1x0RG93bmxvYWQgaXMgaW4gcHJvZ3Jlc3MuXG4gICAgICAgIC8vIDRcdFJlc3BvbnNlXHRSZXNwb25zZSBpcyBmdWxseSByZWNlaXZlZC5cbiAgICAgICAgLy8gNVx0VXNlclx0Q3VzdG9tIHVzZXIgZXZlbnQuXG5cbiAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XG5cbiAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczpcblxuICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IChldmVudC50b3RhbCkgPyBNYXRoLnJvdW5kKGV2ZW50LmxvYWRlZCAvIChldmVudC50b3RhbCB8fCAxKSAqIDEwMCkgOiAxMDBcbiAgICAgICAgICB0aGlzLnByb2dyZXNzLm5leHQoc3RhdHVzKVxuICAgICAgICAgIHJldHVybiBzdGF0dXNcblxuICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcblxuICAgICAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZVBhdGggPSAob3B0aW9ucz8uc2F2ZUFzKSA/IG9wdGlvbnMuc2F2ZUFzIDogKG9wdGlvbnMucGF0aCkgPyBvcHRpb25zLnBhdGhbb3B0aW9ucy5wYXRoLmxlbmd0aCAtIDFdIDogW11cbiAgICAgICAgICAgICAgY29uc3QgZmlsZUNvbnRlbnRIZWFkZXIgPSBvcHRpb25zLmZpbGVDb250ZW50SGVhZGVyIHx8ICdDb250ZW50LURpc3Bvc2l0aW9uJ1xuICAgICAgICAgICAgICBjb25zdCBoZWFkZXJfY29udGVudCA9IGV2ZW50LmhlYWRlcnMuZ2V0KGZpbGVDb250ZW50SGVhZGVyKTtcblxuICAgICAgICAgICAgICAvLyBjaGVja3MgaWYgaGVhZGVyX2NvbnRlbnQgaXMgbm90IGVtcHR5IGFuZCBzcGxpdHMgdGhlIGhlYWRlcl9jb250ZW50IHRvIGdldCB0aGUgZmlsZSBuYW1lXG4gICAgICAgICAgICAgIC8vIG90aGVyd2lzZSwgaXQgd2lsbCB1c2UgdGhlIGZpbGVEb3dubG9hZCAtIGNvbnRhaW5zIHRoZSBmaWxlIG5hbWUgYW5kIGV4dGVuc2lvblxuICAgICAgICAgICAgICBjb25zdCBmaWxlID0gKGhlYWRlcl9jb250ZW50KSA/IGhlYWRlcl9jb250ZW50LnNwbGl0KCc9JylbMV0uc3Vic3RyaW5nKDAsIGhlYWRlcl9jb250ZW50LnNwbGl0KCc9JylbMV0ubGVuZ3RoKSA6ICcnXG5cbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWUgPSAoZmlsZSkgPyBmaWxlIDogZmlsZU5hbWVQYXRoXG5cbiAgICAgICAgICAgICAgaWYgKGZpbGVOYW1lID09PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQZW5kaW5nLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2F2ZSBGaWxlOiAoZmlsZSBuYW1lIGFuZCBleHRlbnNpb24pIG5vdCBmb3VuZCBpbiBIZWFkZXJzIG9yIFBhdGgnKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRoaXMuZG93bmxvYWRGaWxlKGZpbGVOYW1lLCBldmVudC5ib2R5KVxuICAgICAgICAgICAgICB0aGlzLmlzUGVuZGluZy5uZXh0KGZhbHNlKVxuXG4gICAgICAgICAgICAgIHJldHVybiAxMDBcblxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEb3dubG9hZCBmYWlsZWQnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgdGhpcy5pc1BlbmRpbmcubmV4dChmYWxzZSlcbiAgICAgICAgICAgICAgcmV0dXJuIDBcbiAgICAgICAgfVxuXG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUZpbmFsaXplKCk6IChzb3VyY2U6IE9ic2VydmFibGU8YW55PikgPT4gT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gZmluYWxpemUoKCkgPT4gdGhpcy5pc1BlbmRpbmcubmV4dChmYWxzZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBkb3dubG9hZEZpbGUoZmlsZTpzdHJpbmcsIGZpbGVEYXRhOiBhbnkpIHtcblxuICAgIGNvbnN0IG5hdmlnYXRvckFueSA9IHdpbmRvdy5uYXZpZ2F0b3IgYXMgYW55XG5cbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlLnNwbGl0KCcuJylbMV0udG9Mb3dlckNhc2UoKVxuXG4gICAgdmFyIG5ld0Jsb2IgPSBuZXcgQmxvYihbZmlsZURhdGFdLCB7IHR5cGU6IHRoaXMuY3JlYXRlRmlsZVR5cGUoZXh0ZW5zaW9uKSB9KVxuXG4gICAgaWYgKG5hdmlnYXRvckFueS5tc1NhdmVPck9wZW5CbG9iKSB7XG4gICAgICBuYXZpZ2F0b3JBbnkubXNTYXZlT3JPcGVuQmxvYihuZXdCbG9iLCBmaWxlKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXdCbG9iKVxuICAgICAgbGluay5ocmVmID0gdXJsXG4gICAgICBsaW5rLmRvd25sb2FkID0gZmlsZVxuICAgICAgbGluay5jbGljaygpXG4gICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpXG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZpbGVUeXBlKGV4dDogYW55KTogc3RyaW5nIHtcblxuICAgIGxldCBmaWxlVHlwZTogc3RyaW5nID0gXCJcIlxuXG4gICAgaWYgKGV4dCA9PSAncGRmJyB8fCBleHQgPT0gJ2NzdicpIHtcbiAgICAgIGZpbGVUeXBlID0gYGFwcGxpY2F0aW9uLyR7ZXh0fWBcbiAgICB9XG4gICAgZWxzZSBpZiAoZXh0ID09ICdqcGVnJyB8fCBleHQgPT0gJ2pwZycgfHwgZXh0ID09ICdwbmcnKSB7XG4gICAgICBmaWxlVHlwZSA9IGBpbWFnZS8ke2V4dH1gXG4gICAgfVxuICAgIGVsc2UgaWYgKGV4dCA9PSAndHh0Jykge1xuICAgICAgZmlsZVR5cGUgPSAndGV4dC9wbGFpbidcbiAgICB9XG5cbiAgICBlbHNlIGlmIChleHQgPT0gJ3BwdCcgfHwgZXh0ID09ICdwb3QnIHx8IGV4dCA9PSAncHBzJyB8fCBleHQgPT0gJ3BwYScpIHtcbiAgICAgIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50J1xuICAgIH1cbiAgICBlbHNlIGlmIChleHQgPT0gJ3BwdHgnKSB7XG4gICAgICBmaWxlVHlwZSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJ1xuICAgIH1cbiAgICBlbHNlIGlmIChleHQgPT0gJ2RvYycgfHwgZXh0ID09ICdkb3QnKSB7XG4gICAgICBmaWxlVHlwZSA9ICdhcHBsaWNhdGlvbi9tc3dvcmQnXG4gICAgfVxuICAgIGVsc2UgaWYgKGV4dCA9PSAnZG9jeCcpIHtcbiAgICAgIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50J1xuICAgIH1cbiAgICBlbHNlIGlmIChleHQgPT0gJ3hscycgfHwgZXh0ID09ICd4bHQnIHx8IGV4dCA9PSAneGxhJykge1xuICAgICAgZmlsZVR5cGUgPSAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJ1xuICAgIH1cbiAgICBlbHNlIGlmIChleHQgPT0gJ3hsc3gnKSB7XG4gICAgICBmaWxlVHlwZSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCdcbiAgICB9XG5cbiAgICByZXR1cm4gZmlsZVR5cGVcblxuICB9XG5cbiAgcHJpdmF0ZSBjb21iaW5lSGVhZGVycyhoZWFkZXJzOiBhbnksIGlzU3RyZWFtaW5nOiBib29sZWFuKSB7XG5cbiAgICByZXR1cm4gKGlzU3RyZWFtaW5nKSA/XG4gICAge1xuICAgICAgLi4uaGVhZGVycyxcbiAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgIEFjY2VwdDogJ3RleHQvZXZlbnQtc3RyZWFtJ1xuICAgIH1cbiAgICA6IGhlYWRlcnNcblxuICB9XG5cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from "./api-request.model";
2
2
  export * from "./request-options.model";
3
3
  export * from "./ws-options.model";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FwaS1yZXF1ZXN0Lm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1ZXN0LW9wdGlvbnMubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dzLW9wdGlvbnMubW9kZWxcIjtcblxuIl19
4
+ export * from "./ws-user.model";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYXBpLXJlcXVlc3QubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcXVlc3Qtb3B0aW9ucy5tb2RlbFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi93cy1vcHRpb25zLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93cy11c2VyLm1vZGVsXCI7XG5cbiJdfQ==