sgh-navbar 0.0.40-patch.1.1 → 0.0.40-patch.1.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.
@@ -4,44 +4,64 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/dialog";
5
5
  import * as i2 from "../../sgh-navbar.service";
6
6
  import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/radio";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "@angular/material/radio";
8
9
  export class SubClientDialogComponent {
9
10
  constructor(data, dialogRef, sghNavbarService) {
10
11
  this.data = data;
11
12
  this.dialogRef = dialogRef;
12
13
  this.sghNavbarService = sghNavbarService;
13
14
  this.subClient = new EventEmitter();
15
+ this.tempSelectedSubClient = null;
16
+ this.orginalSubClient = null;
17
+ this.selectedSubClientValue = undefined;
14
18
  this.client = data.client;
15
19
  this.subClientList = data.client.subClientList;
16
- // find the selected sub client
17
- let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);
18
- this.selectedSubClient = this.subClientList[selectedSubClientIndex];
20
+ // find the selected sub client (the one with checked = true)
21
+ let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked === true);
22
+ // Only set if a checked subclient is found, otherwise keep as null
23
+ if (selectedSubClientIndex !== -1) {
24
+ this.tempSelectedSubClient = this.subClientList[selectedSubClientIndex];
25
+ this.orginalSubClient = this.subClientList[selectedSubClientIndex];
26
+ this.selectedSubClientValue = this.tempSelectedSubClient.value;
27
+ }
28
+ else {
29
+ // Explicitly ensure all values are null/undefined when no checked subclient exists
30
+ this.tempSelectedSubClient = null;
31
+ this.orginalSubClient = null;
32
+ this.selectedSubClientValue = undefined;
33
+ }
34
+ this.orginalClient = data.client;
19
35
  }
20
- onSubClientSelect(item) {
36
+ onSubClientChange(item) {
37
+ this.tempSelectedSubClient = item;
38
+ }
39
+ onSelectBtnClick() {
40
+ this.orginalSubClient = this.tempSelectedSubClient;
41
+ this.dialogRef.close({ data: { selectedSubClient: this.tempSelectedSubClient, cancelled: false } });
21
42
  // update the sub client list with newly selected values
22
43
  this.subClientList.forEach((subClient) => {
23
- if (subClient == item) {
44
+ if (subClient == this.tempSelectedSubClient) {
24
45
  subClient.checked = true;
25
46
  }
26
47
  else {
27
48
  subClient.checked = false;
28
49
  }
29
50
  });
30
- this.selectedSubClient = item;
31
51
  }
32
- onSelectBtnClick() {
33
- this.dialogRef.close({ data: { selectedSubClient: this.selectedSubClient } });
52
+ onCloseBtnClick() {
53
+ this.dialogRef.close({ data: { selectedSubClient: this.orginalSubClient, cancelled: true } });
34
54
  }
35
55
  }
36
56
  SubClientDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubClientDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.SghNavbarService }], target: i0.ɵɵFactoryTarget.Component });
37
- SubClientDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SubClientDialogComponent, selector: "lib-subclient-dialog", outputs: { subClient: "subClient" }, ngImport: i0, template: "<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <div class=\"modal-header-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <button type=\"button\" mat-dialog-close class=\"close-round-btn\">\r\n <i class=\"fa fa-times-circle\"></i>\r\n </button>\r\n </div>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".subclientlist-wrapper .subclientlist-header{font-weight:500;line-height:48px;display:flex;justify-content:center;align-items:center;padding-bottom:0;margin:0}.subclientlist-wrapper .subclientlist-body{font-weight:400;text-align:center;color:#000;padding:0 15px 15px}.subclientlist-wrapper .subclientlist-body .subclientlist-radiogrp{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.subclientlist-wrapper .subclientlist-btns{padding:0;min-height:48px}.subclientlist-wrapper button{width:100%;margin-bottom:0}.subclientlist-wrapper .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0}.modal-header-wrapper{display:flex;justify-content:space-between;margin:0 10px}.modal-header-wrapper .close-round-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.modal-header-wrapper .close-round-btn i{font-size:25px;color:#006068}.modal-header-wrapper .close-round-btn:hover{background:#f3f3f3}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] });
57
+ SubClientDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SubClientDialogComponent, selector: "lib-subclient-dialog", outputs: { subClient: "subClient" }, ngImport: i0, template: "<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <div class=\"modal-header-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <button type=\"button\" (click)=\"onCloseBtnClick()\" class=\"close-round-btn\">\r\n <i class=\"fa fa-times-circle\"></i>\r\n </button>\r\n </div>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\" [(ngModel)]=\"selectedSubClientValue\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (change)=\"onSubClientChange(item)\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".subclientlist-wrapper .subclientlist-header{font-weight:500;line-height:48px;display:flex;justify-content:center;align-items:center;padding-bottom:0;margin:0}.subclientlist-wrapper .subclientlist-body{font-weight:400;text-align:center;color:#000;padding:0 15px 15px}.subclientlist-wrapper .subclientlist-body .subclientlist-radiogrp{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.subclientlist-wrapper .subclientlist-btns{padding:0;min-height:48px}.subclientlist-wrapper button{width:100%;margin-bottom:0}.subclientlist-wrapper .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0}.modal-header-wrapper{display:flex;justify-content:space-between;margin:0 10px}.modal-header-wrapper .close-round-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.modal-header-wrapper .close-round-btn i{font-size:25px;color:#006068}.modal-header-wrapper .close-round-btn:hover{background:#f3f3f3}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] });
38
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubClientDialogComponent, decorators: [{
39
59
  type: Component,
40
- args: [{ selector: 'lib-subclient-dialog', template: "<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <div class=\"modal-header-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <button type=\"button\" mat-dialog-close class=\"close-round-btn\">\r\n <i class=\"fa fa-times-circle\"></i>\r\n </button>\r\n </div>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".subclientlist-wrapper .subclientlist-header{font-weight:500;line-height:48px;display:flex;justify-content:center;align-items:center;padding-bottom:0;margin:0}.subclientlist-wrapper .subclientlist-body{font-weight:400;text-align:center;color:#000;padding:0 15px 15px}.subclientlist-wrapper .subclientlist-body .subclientlist-radiogrp{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.subclientlist-wrapper .subclientlist-btns{padding:0;min-height:48px}.subclientlist-wrapper button{width:100%;margin-bottom:0}.subclientlist-wrapper .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0}.modal-header-wrapper{display:flex;justify-content:space-between;margin:0 10px}.modal-header-wrapper .close-round-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.modal-header-wrapper .close-round-btn i{font-size:25px;color:#006068}.modal-header-wrapper .close-round-btn:hover{background:#f3f3f3}\n"] }]
60
+ args: [{ selector: 'lib-subclient-dialog', template: "<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <div class=\"modal-header-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <button type=\"button\" (click)=\"onCloseBtnClick()\" class=\"close-round-btn\">\r\n <i class=\"fa fa-times-circle\"></i>\r\n </button>\r\n </div>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\" [(ngModel)]=\"selectedSubClientValue\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (change)=\"onSubClientChange(item)\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".subclientlist-wrapper .subclientlist-header{font-weight:500;line-height:48px;display:flex;justify-content:center;align-items:center;padding-bottom:0;margin:0}.subclientlist-wrapper .subclientlist-body{font-weight:400;text-align:center;color:#000;padding:0 15px 15px}.subclientlist-wrapper .subclientlist-body .subclientlist-radiogrp{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.subclientlist-wrapper .subclientlist-btns{padding:0;min-height:48px}.subclientlist-wrapper button{width:100%;margin-bottom:0}.subclientlist-wrapper .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0}.modal-header-wrapper{display:flex;justify-content:space-between;margin:0 10px}.modal-header-wrapper .close-round-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.modal-header-wrapper .close-round-btn i{font-size:25px;color:#006068}.modal-header-wrapper .close-round-btn:hover{background:#f3f3f3}\n"] }]
41
61
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
42
62
  type: Inject,
43
63
  args: [MAT_DIALOG_DATA]
44
64
  }] }, { type: i1.MatDialogRef }, { type: i2.SghNavbarService }]; }, propDecorators: { subClient: [{
45
65
  type: Output
46
66
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2doLW5hdmJhci9zcmMvbGliL3Rvb2xiYXIvc3ViLWNsaWVudC1kaWFsb2cvc3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2doLW5hdmJhci9zcmMvbGliL3Rvb2xiYXIvc3ViLWNsaWVudC1kaWFsb2cvc3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQVN2RSxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQTRDLElBQVMsRUFBVSxTQUFpRCxFQUFVLGdCQUFrQztRQUFoSCxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSGxKLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSTVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQy9DLCtCQUErQjtRQUMvQixJQUFJLHNCQUFzQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQXVCO1FBRXZDLHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtnQkFDckIsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7YUFDekI7aUJBQU07Z0JBQ0wsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxFQUFFLEVBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7O3FIQTdCVSx3QkFBd0Isa0JBTWYsZUFBZTt5R0FOeEIsd0JBQXdCLGlHQ1ZyQyw0MUJBbUJBOzJGRFRhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7OzBCQVVuQixNQUFNOzJCQUFDLGVBQWU7c0dBSHpCLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtDbGllbnRMaXN0SXRlbSwgU3ViQ2xpZW50TGlzdEl0ZW19IGZyb20gXCIuLi90b29sYmFyLWRhdGFcIjtcclxuaW1wb3J0IHtTZ2hOYXZiYXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2doLW5hdmJhci5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zdWJjbGllbnQtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N1Yi1jbGllbnQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YkNsaWVudERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgY2xpZW50OiBDbGllbnRMaXN0SXRlbTtcclxuICBzdWJDbGllbnRMaXN0OiBTdWJDbGllbnRMaXN0SXRlbVtdO1xyXG4gIEBPdXRwdXQoKSBzdWJDbGllbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBzZWxlY3RlZFN1YkNsaWVudDogU3ViQ2xpZW50TGlzdEl0ZW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LCBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFN1YkNsaWVudERpYWxvZ0NvbXBvbmVudD4sIHByaXZhdGUgc2doTmF2YmFyU2VydmljZTogU2doTmF2YmFyU2VydmljZSkge1xyXG4gICAgdGhpcy5jbGllbnQgPSBkYXRhLmNsaWVudDtcclxuICAgIHRoaXMuc3ViQ2xpZW50TGlzdCA9IGRhdGEuY2xpZW50LnN1YkNsaWVudExpc3Q7XHJcbiAgICAvLyBmaW5kIHRoZSBzZWxlY3RlZCBzdWIgY2xpZW50XHJcbiAgICBsZXQgc2VsZWN0ZWRTdWJDbGllbnRJbmRleCA9IHRoaXMuc3ViQ2xpZW50TGlzdC5maW5kSW5kZXgoKHN1YkNsaWVudCkgPT4gc3ViQ2xpZW50LmNoZWNrZWQgPT0gdHJ1ZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3ViQ2xpZW50ID0gdGhpcy5zdWJDbGllbnRMaXN0W3NlbGVjdGVkU3ViQ2xpZW50SW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgb25TdWJDbGllbnRTZWxlY3QoaXRlbTogU3ViQ2xpZW50TGlzdEl0ZW0pIHtcclxuXHJcbiAgICAvLyB1cGRhdGUgdGhlIHN1YiBjbGllbnQgbGlzdCB3aXRoIG5ld2x5IHNlbGVjdGVkIHZhbHVlc1xyXG4gICAgdGhpcy5zdWJDbGllbnRMaXN0LmZvckVhY2goKHN1YkNsaWVudCkgPT4ge1xyXG4gICAgICBpZiAoc3ViQ2xpZW50ID09IGl0ZW0pIHtcclxuICAgICAgICBzdWJDbGllbnQuY2hlY2tlZCA9IHRydWVcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzdWJDbGllbnQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdWJDbGllbnQgPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RCdG5DbGljaygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtkYXRhOiB7c2VsZWN0ZWRTdWJDbGllbnQ6IHRoaXMuc2VsZWN0ZWRTdWJDbGllbnR9fSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzdWJjbGllbnRsaXN0LXdyYXBwZXIgZGlhbG9nLXdyYXBwZXJcIj5cclxuIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXItd3JhcHBlclwiPlxyXG4gICA8aDQgY2xhc3M9XCJzdWJjbGllbnRsaXN0LWhlYWRlclwiPlNlbGVjdCBTdWIgQ2xpZW50PC9oND5cclxuICAgPGJ1dHRvbiAgdHlwZT1cImJ1dHRvblwiIG1hdC1kaWFsb2ctY2xvc2UgY2xhc3M9XCJjbG9zZS1yb3VuZC1idG5cIj5cclxuICAgICA8aSBjbGFzcz1cImZhICBmYS10aW1lcy1jaXJjbGVcIj48L2k+XHJcbiAgIDwvYnV0dG9uPlxyXG4gPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN1YmNsaWVudGxpc3QtYm9keVwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cInN1YmNsaWVudGxpc3QtcmFkaW9ncnBcIiBhcmlhLWxhYmVsPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxyXG4gICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3ViQ2xpZW50TGlzdDtpbmRleCBhcyBpXCIgKGNsaWNrKT1cIm9uU3ViQ2xpZW50U2VsZWN0KGl0ZW0pXCIgW2NoZWNrZWRdPVwiaXRlbS5jaGVja2VkXCI+e3tpdGVtLnRleHR9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic3ViY2xpZW50bGlzdC1idG5zXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwic2doLWJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9uU2VsZWN0QnRuQ2xpY2soKVwiPlNlbGVjdDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2doLW5hdmJhci9zcmMvbGliL3Rvb2xiYXIvc3ViLWNsaWVudC1kaWFsb2cvc3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2doLW5hdmJhci9zcmMvbGliL3Rvb2xiYXIvc3ViLWNsaWVudC1kaWFsb2cvc3ViLWNsaWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFTdkUsTUFBTSxPQUFPLHdCQUF3QjtJQVNuQyxZQUE0QyxJQUFTLEVBQVUsU0FBaUQsRUFBVSxnQkFBa0M7UUFBaEgsU0FBSSxHQUFKLElBQUksQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQXdDO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQU5sSixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM5QywwQkFBcUIsR0FBNkIsSUFBSSxDQUFDO1FBQ3ZELHFCQUFnQixHQUE2QixJQUFJLENBQUM7UUFFbEQsMkJBQXNCLEdBQXVCLFNBQVMsQ0FBQztRQUdyRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUUvQyw2REFBNkQ7UUFDN0QsSUFBSSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQztRQUVyRyxtRUFBbUU7UUFDbkUsSUFBSSxzQkFBc0IsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7U0FDaEU7YUFBTTtZQUNMLG1GQUFtRjtZQUNuRixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBdUI7UUFDdkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFDLElBQUksRUFBRSxFQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDO1FBRWhHLHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDM0MsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7YUFDekI7aUJBQU07Z0JBQ0wsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxFQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOztxSEFsRFUsd0JBQXdCLGtCQVNmLGVBQWU7eUdBVHhCLHdCQUF3QixpR0NWckMsczNCQW1CQTsyRkRUYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzswQkFhbkIsTUFBTTsyQkFBQyxlQUFlO3NHQU56QixTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7Q2xpZW50TGlzdEl0ZW0sIFN1YkNsaWVudExpc3RJdGVtfSBmcm9tIFwiLi4vdG9vbGJhci1kYXRhXCI7XHJcbmltcG9ydCB7U2doTmF2YmFyU2VydmljZX0gZnJvbSBcIi4uLy4uL3NnaC1uYXZiYXIuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3ViY2xpZW50LWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N1Yi1jbGllbnQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdWItY2xpZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdWJDbGllbnREaWFsb2dDb21wb25lbnQge1xyXG4gIGNsaWVudDogQ2xpZW50TGlzdEl0ZW07XHJcbiAgc3ViQ2xpZW50TGlzdDogU3ViQ2xpZW50TGlzdEl0ZW1bXTtcclxuICBAT3V0cHV0KCkgc3ViQ2xpZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgdGVtcFNlbGVjdGVkU3ViQ2xpZW50OiBTdWJDbGllbnRMaXN0SXRlbSB8IG51bGwgPSBudWxsO1xyXG4gIG9yZ2luYWxTdWJDbGllbnQ6IFN1YkNsaWVudExpc3RJdGVtIHwgbnVsbCA9IG51bGw7XHJcbiAgb3JnaW5hbENsaWVudDogQ2xpZW50TGlzdEl0ZW07XHJcbiAgc2VsZWN0ZWRTdWJDbGllbnRWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTdWJDbGllbnREaWFsb2dDb21wb25lbnQ+LCBwcml2YXRlIHNnaE5hdmJhclNlcnZpY2U6IFNnaE5hdmJhclNlcnZpY2UpIHtcclxuICAgIHRoaXMuY2xpZW50ID0gZGF0YS5jbGllbnQ7XHJcbiAgICB0aGlzLnN1YkNsaWVudExpc3QgPSBkYXRhLmNsaWVudC5zdWJDbGllbnRMaXN0O1xyXG5cclxuICAgIC8vIGZpbmQgdGhlIHNlbGVjdGVkIHN1YiBjbGllbnQgKHRoZSBvbmUgd2l0aCBjaGVja2VkID0gdHJ1ZSlcclxuICAgIGxldCBzZWxlY3RlZFN1YkNsaWVudEluZGV4ID0gdGhpcy5zdWJDbGllbnRMaXN0LmZpbmRJbmRleCgoc3ViQ2xpZW50KSA9PiBzdWJDbGllbnQuY2hlY2tlZCA9PT0gdHJ1ZSk7XHJcblxyXG4gICAgLy8gT25seSBzZXQgaWYgYSBjaGVja2VkIHN1YmNsaWVudCBpcyBmb3VuZCwgb3RoZXJ3aXNlIGtlZXAgYXMgbnVsbFxyXG4gICAgaWYgKHNlbGVjdGVkU3ViQ2xpZW50SW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkU3ViQ2xpZW50ID0gdGhpcy5zdWJDbGllbnRMaXN0W3NlbGVjdGVkU3ViQ2xpZW50SW5kZXhdO1xyXG4gICAgICB0aGlzLm9yZ2luYWxTdWJDbGllbnQgPSB0aGlzLnN1YkNsaWVudExpc3Rbc2VsZWN0ZWRTdWJDbGllbnRJbmRleF07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdWJDbGllbnRWYWx1ZSA9IHRoaXMudGVtcFNlbGVjdGVkU3ViQ2xpZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gRXhwbGljaXRseSBlbnN1cmUgYWxsIHZhbHVlcyBhcmUgbnVsbC91bmRlZmluZWQgd2hlbiBubyBjaGVja2VkIHN1YmNsaWVudCBleGlzdHNcclxuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRTdWJDbGllbnQgPSBudWxsO1xyXG4gICAgICB0aGlzLm9yZ2luYWxTdWJDbGllbnQgPSBudWxsO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkU3ViQ2xpZW50VmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9yZ2luYWxDbGllbnQgPSBkYXRhLmNsaWVudDtcclxuICB9XHJcblxyXG4gIG9uU3ViQ2xpZW50Q2hhbmdlKGl0ZW06IFN1YkNsaWVudExpc3RJdGVtKSB7XHJcbiAgICB0aGlzLnRlbXBTZWxlY3RlZFN1YkNsaWVudCA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEJ0bkNsaWNrKCkge1xyXG4gICAgdGhpcy5vcmdpbmFsU3ViQ2xpZW50ID0gdGhpcy50ZW1wU2VsZWN0ZWRTdWJDbGllbnQ7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7ZGF0YToge3NlbGVjdGVkU3ViQ2xpZW50OiB0aGlzLnRlbXBTZWxlY3RlZFN1YkNsaWVudCwgY2FuY2VsbGVkOiBmYWxzZX19KTtcclxuXHJcbiAgICAvLyB1cGRhdGUgdGhlIHN1YiBjbGllbnQgbGlzdCB3aXRoIG5ld2x5IHNlbGVjdGVkIHZhbHVlc1xyXG4gICAgdGhpcy5zdWJDbGllbnRMaXN0LmZvckVhY2goKHN1YkNsaWVudCkgPT4ge1xyXG4gICAgICBpZiAoc3ViQ2xpZW50ID09IHRoaXMudGVtcFNlbGVjdGVkU3ViQ2xpZW50KSB7XHJcbiAgICAgICAgc3ViQ2xpZW50LmNoZWNrZWQgPSB0cnVlXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3ViQ2xpZW50LmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlQnRuQ2xpY2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7ZGF0YToge3NlbGVjdGVkU3ViQ2xpZW50OiB0aGlzLm9yZ2luYWxTdWJDbGllbnQsIGNhbmNlbGxlZDogdHJ1ZX19KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN1YmNsaWVudGxpc3Qtd3JhcHBlciBkaWFsb2ctd3JhcHBlclwiPlxyXG4gPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlci13cmFwcGVyXCI+XHJcbiAgIDxoNCBjbGFzcz1cInN1YmNsaWVudGxpc3QtaGVhZGVyXCI+U2VsZWN0IFN1YiBDbGllbnQ8L2g0PlxyXG4gICA8YnV0dG9uICB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xvc2VCdG5DbGljaygpXCIgY2xhc3M9XCJjbG9zZS1yb3VuZC1idG5cIj5cclxuICAgICA8aSBjbGFzcz1cImZhICBmYS10aW1lcy1jaXJjbGVcIj48L2k+XHJcbiAgIDwvYnV0dG9uPlxyXG4gPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN1YmNsaWVudGxpc3QtYm9keVwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cInN1YmNsaWVudGxpc3QtcmFkaW9ncnBcIiBhcmlhLWxhYmVsPVwiU2VsZWN0IGFuIG9wdGlvblwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdWJDbGllbnRWYWx1ZVwiPlxyXG4gICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3ViQ2xpZW50TGlzdDtpbmRleCBhcyBpXCIgKGNoYW5nZSk9XCJvblN1YkNsaWVudENoYW5nZShpdGVtKVwiPnt7aXRlbS50ZXh0fX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN1YmNsaWVudGxpc3QtYnRuc1wiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cInNnaC1idG4tcHJpbWFyeVwiIChjbGljayk9XCJvblNlbGVjdEJ0bkNsaWNrKClcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -52,16 +52,16 @@ export class ToolbarComponent {
52
52
  clientList: [{
53
53
  text: 'Client 1',
54
54
  value: 'CLIENT_1',
55
- selected: true,
55
+ selected: false,
56
56
  subClientList: [
57
- { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },
57
+ { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: false },
58
58
  { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false },
59
59
  { text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false }
60
60
  ]
61
61
  }, {
62
62
  text: 'Client 2',
63
63
  value: 'CLIENT_2',
64
- selected: false,
64
+ selected: true,
65
65
  subClientList: [
66
66
  { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },
67
67
  { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false }
@@ -100,19 +100,18 @@ export class ToolbarComponent {
100
100
  ngAfterViewInit() {
101
101
  // initially set client and subclients
102
102
  setTimeout(() => {
103
- this.toolbarData.clientList?.forEach((client, index) => {
104
- // select the first client
105
- if (this.sghNavbarSvc.getClientIndexCache() == index) {
106
- client.selected = true;
107
- this.sghNavbarSvc.setClient(client);
108
- this.sghNavbarSvc.setClientIndexCache(index, this.toolbarData.activeClientCache);
109
- this.selectedClient = client;
110
- }
111
- else {
112
- client.selected = false;
113
- }
114
- this.initSelectedSubClient(client);
115
- });
103
+ const clientList = this.toolbarData?.clientList ?? [];
104
+ const selectedClientIndex = clientList.findIndex(c => c.selected === true);
105
+ if (selectedClientIndex === -1) {
106
+ this.sghNavbarSvc.setClient(null);
107
+ this.sghNavbarSvc.setSubclient(null);
108
+ return;
109
+ }
110
+ const orgClient = clientList[selectedClientIndex];
111
+ const orgSubClient = orgClient?.subClientList?.find(c => c.checked === true) ?? null;
112
+ this.sghNavbarSvc.setClient(orgClient);
113
+ this.sghNavbarSvc.setSubclient(orgSubClient);
114
+ this.selectedClient = orgClient;
116
115
  }, 100);
117
116
  }
118
117
  setClass(selected) {
@@ -126,13 +125,8 @@ export class ToolbarComponent {
126
125
  this.setClass(themeValue);
127
126
  }
128
127
  toggleSelect(event, clientItem, index) {
129
- this.selectedClient = clientItem;
130
- // unselect current selected client
131
- this.unselectClientItems();
132
- // select current client
133
- clientItem.selected = true;
134
- this.sghNavbarSvc.setClient(clientItem);
135
- this.sghNavbarSvc.setClientIndexCache(index, this.toolbarData?.activeClientCache);
128
+ this.previousClient = this.selectedClient;
129
+ // event on client selection
136
130
  // at least one subclient should exist
137
131
  if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog
138
132
  const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {
@@ -143,15 +137,28 @@ export class ToolbarComponent {
143
137
  disableClose: true
144
138
  });
145
139
  // select first item of each subclient
146
- this.selectFirstSubclient();
147
140
  subClientDialogRef.afterClosed().subscribe((event) => {
148
- this.clientMenuTrigger.focus();
149
- this.sghNavbarSvc.setSubclient(event?.data?.selectedSubClient);
150
- this.sghNavbarSvc.setSubClientIndexCache(clientItem?.subClientList?.indexOf(event?.data?.selectedSubClient) ?? 0, this.toolbarData?.activeClientCache);
151
- // set the selected subclient item as checked, search by name comparison
152
- let selectedObj = clientItem?.subClientList?.find((scItem) => scItem.text == event?.data?.selectedSubClient?.text);
153
- if (selectedObj) {
154
- selectedObj.checked = true;
141
+ if (!event?.data?.cancelled) {
142
+ this.selectedClient = clientItem;
143
+ // unselect current selected client
144
+ this.unselectClientItems();
145
+ // select current client
146
+ clientItem.selected = true;
147
+ this.sghNavbarSvc.setClient(clientItem);
148
+ // this.sghNavbarSvc.setClientIndexCache(index,this.toolbarData?.activeClientCache);
149
+ this.clientMenuTrigger.focus();
150
+ this.sghNavbarSvc.setSubclient(event?.data?.selectedSubClient);
151
+ // this.sghNavbarSvc.setSubClientIndexCache(clientItem?.subClientList?.indexOf(event?.data?.selectedSubClient) ?? 0, this.toolbarData?.activeClientCache)
152
+ // set the selected subclient item as checked, search by name comparison
153
+ let selectedObj = clientItem?.subClientList?.find((scItem) => scItem.text == event?.data?.selectedSubClient?.text);
154
+ if (selectedObj) {
155
+ selectedObj.checked = true;
156
+ }
157
+ if (this.previousClient.text !== this.selectedClient.text) {
158
+ this.previousClient?.subClientList?.forEach((subClient) => {
159
+ subClient.checked = false;
160
+ });
161
+ }
155
162
  }
156
163
  });
157
164
  }
@@ -218,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
218
225
  type: HostListener,
219
226
  args: ['document:click']
220
227
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NnaC1uYXZiYXIvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUk1QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7OztBQVd6RixNQUFNLE9BQU8sZ0JBQWdCO0lBa0UzQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBb0IsTUFBaUIsRUFBVSxZQUE4QjtRQUF6RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBOUVuRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELGdCQUFXLEdBQWdCO1lBQ2xDLFlBQVks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bmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmYWRlSW5PdXR9IGZyb20gJy4uL3NpZGVuYXYvaGVscGVyJztcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtNYXRNZW51VHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuaW1wb3J0IHtDbGllbnRMaXN0SXRlbSwgU3ViQ2xpZW50TGlzdEl0ZW0sIFRvb2xiYXJEYXRhfSBmcm9tIFwiLi90b29sYmFyLWRhdGFcIjtcclxuaW1wb3J0IHtTdWJDbGllbnREaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL3N1Yi1jbGllbnQtZGlhbG9nL3N1Yi1jbGllbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NnaE5hdmJhclNlcnZpY2V9IGZyb20gXCIuLi9zZ2gtbmF2YmFyLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZmFkZUluT3V0XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVTaWRlYmFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgdG9vbGJhckRhdGE6IFRvb2xiYXJEYXRhID0ge1xyXG4gICAgdGhlbWVPcHRpb25zOiBbe1xyXG4gICAgICBuYW1lOiAnU2doLWRlZmF1bHQtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1kZWZhdWx0LXRoZW1lJyxcclxuICAgICAgY2hlY2tlZDogdHJ1ZVxyXG4gICAgfSwge1xyXG4gICAgICBuYW1lOiAnU2doLWxpZ2h0LXRoZW1lJyxcclxuICAgICAgdmFsdWU6ICdzZ2gtbGlnaHQtdGhlbWUnLFxyXG4gICAgICBjaGVja2VkOiBmYWxzZVxyXG4gICAgfSwge1xyXG4gICAgICBuYW1lOiAnU2doLWJsdWUtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1ibHVlLXRoZW1lJyxcclxuICAgICAgY2hlY2tlZDogZmFsc2VcclxuICAgIH1dLFxyXG4gICAgYmdDb2xvcjogJyNmZmYnLFxyXG4gICAgaW1nOiAnLi4vYXNzZXRzL2ltYWdlcy9TeW5lcmdlbl9Mb2dvLW5ldy5zdmcnLFxyXG4gICAgcHJvZmlsZVZpZXc6IGZhbHNlLFxyXG4gICAgaXNOb3RpZk5hdkNvbGxhcHNlZDogZmFsc2UsXHJcbiAgICBzZWFyY2hFbmFibGU6IHRydWUsXHJcbiAgICBub3RpZmljYXRpb25FbmFibGU6IHRydWUsXHJcbiAgICBwcm9maWxlRW5hYmxlOiB0cnVlLFxyXG4gICAgc2V0dGluZ3NFbmFibGU6IHRydWUsXHJcbiAgICBhY3RpdmVDbGllbnRDYWNoZTogdHJ1ZSxcclxuICAgIGNsaWVudExpc3Q6IFt7XHJcbiAgICAgIHRleHQ6ICdDbGllbnQgMScsXHJcbiAgICAgIHZhbHVlOiAnQ0xJRU5UXzEnLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgc3ViQ2xpZW50TGlzdDogW1xyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAxJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzEnLCBjaGVja2VkOiB0cnVlfSxcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMicsIHZhbHVlOiAnU1VCX0NMSUVOVF8yJywgY2hlY2tlZDogZmFsc2V9LFxyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAzJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzMnLCBjaGVja2VkOiBmYWxzZX1cclxuICAgICAgXVxyXG4gICAgfSwge1xyXG4gICAgICB0ZXh0OiAnQ2xpZW50IDInLFxyXG4gICAgICB2YWx1ZTogJ0NMSUVOVF8yJyxcclxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxyXG4gICAgICBzdWJDbGllbnRMaXN0OiBbXHJcbiAgICAgICAge3RleHQ6ICdTdWIgQ2xpZW50IDEnLCB2YWx1ZTogJ1NVQl9DTElFTlRfMScsIGNoZWNrZWQ6IHRydWV9LFxyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAyJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzInLCBjaGVja2VkOiBmYWxzZX1cclxuICAgICAgXVxyXG4gICAgfSwge1xyXG4gICAgICB0ZXh0OiAnQ2xpZW50IDMnLFxyXG4gICAgICB2YWx1ZTogJ0NMSUVOVF8zJyxcclxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlXHJcbiAgICB9XSxcclxuICAgIHByb2ZpbGVDb250ZW50OiAnPGRpdj5wcm9maWxlIGNvbnRlbnQ8L2Rpdj4nLFxyXG4gICAgY2xpZW50Q29uZmlndXJhdGlvbkVuYWJsZTogdHJ1ZSxcclxuICAgIGFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkVuYWJsZTogdHJ1ZSxcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hJbnB1dEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGNsaWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzdWJDbGllbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgc2VhcmNoSW5wdXQgPSBcIlwiO1xyXG4gIHByaXZhdGUgcHJldjogYW55O1xyXG4gIHNlbGVjdGVkOiBhbnkgPSAnc2doLWRlZmF1bHQtdGhlbWUnO1xyXG4gIHByaXZhdGUgd2FzSW5zaWRlID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRDbGllbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NsaWVudE1lbnVUcmlnZ2VyJykgY2xpZW50TWVudVRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xyXG5cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIGNsaWNrSW5zaWRlKCkge1xyXG4gICAgdGhpcy53YXNJbnNpZGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snKVxyXG4gIGNsaWNrT3V0KCkge1xyXG4gICAgaWYgKCF0aGlzLndhc0luc2lkZSkge1xyXG4gICAgICB0aGlzLnRvb2xiYXJEYXRhLnByb2ZpbGVWaWV3ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9vbGJhckRhdGEuaXNUaGVtZUNvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRvb2xiYXJEYXRhLmlzTm90aWZOYXZDb2xsYXBzZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMud2FzSW5zaWRlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIHNnaE5hdmJhclN2YzogU2doTmF2YmFyU2VydmljZSkge1xyXG4gIH1cclxuXHJcblxyXG4gIHRvZ2dsZVNpZGViYXIoKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLnRvZ2dsZVNpZGViYXJFdmVudC5lbWl0KHRoaXMuZXhwYW5kZWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kZWQ7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVOb3RpZmljYXRpb25MaXN0KCkge1xyXG4gICAgdGhpcy50b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkID0gIXRoaXMudG9vbGJhckRhdGEuaXNOb3RpZk5hdkNvbGxhcHNlZFxyXG4gIH1cclxuXHJcbiAgY2xpY2tQcm9maWxlKCkge1xyXG4gICAgdGhpcy50b29sYmFyRGF0YS5wcm9maWxlVmlldyA9ICF0aGlzLnRvb2xiYXJEYXRhLnByb2ZpbGVWaWV3XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaElucHV0KCkge1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dEV2ZW50LmVtaXQodGhpcy5zZWFyY2hJbnB1dCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpbml0aWFsbHkgc2V0IGNsaWVudCBhbmQgc3ViY2xpZW50c1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudG9vbGJhckRhdGEuY2xpZW50TGlzdD8uZm9yRWFjaCgoY2xpZW50OiBDbGllbnRMaXN0SXRlbSxpbmRleCkgPT4ge1xyXG4gICAgICAgIC8vIHNlbGVjdCB0aGUgZmlyc3QgY2xpZW50XHJcbiAgICAgICAgaWYodGhpcy5zZ2hOYXZiYXJTdmMuZ2V0Q2xpZW50SW5kZXhDYWNoZSgpPT1pbmRleCl7XHJcbiAgICAgICAgICBjbGllbnQuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0Q2xpZW50KGNsaWVudCk7XHJcbiAgICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRDbGllbnRJbmRleENhY2hlKGluZGV4LHRoaXMudG9vbGJhckRhdGEuYWN0aXZlQ2xpZW50Q2FjaGUpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IGNsaWVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY2xpZW50LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW5pdFNlbGVjdGVkU3ViQ2xpZW50KGNsaWVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSwxMDApXHJcbiAgfVxyXG5cclxuICBzZXRDbGFzcyhzZWxlY3RlZDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMucHJldik7XHJcbiAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHNlbGVjdGVkKTtcclxuICAgIHRoaXMucHJldiA9IHNlbGVjdGVkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV2ZW50ID0gZXZlbnQ7XHJcbiAgc2VsZWN0ZWRUaGVtZTogc3RyaW5nID0gJyc7IC8vIFRvIHN0b3JlIHRoZSBzZWxlY3RlZCByYWRpbyBidXR0b24gdmFsdWVcclxuICBzZWFyY2hUZXh0OiBhbnk7XHJcblxyXG4gIG9uUmFkaW9DbGljayh0aGVtZVZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGVtZVZhbHVlO1xyXG4gICAgdGhpcy5zZXRDbGFzcyh0aGVtZVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNlbGVjdChldmVudCwgY2xpZW50SXRlbTogQ2xpZW50TGlzdEl0ZW0sIGluZGV4OiBudW1iZXIpIHsgLy8gZXZlbnQgb24gY2xpZW50IHNlbGVjdGlvblxyXG4gICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IGNsaWVudEl0ZW07XHJcbiAgICAvLyB1bnNlbGVjdCBjdXJyZW50IHNlbGVjdGVkIGNsaWVudFxyXG4gICAgdGhpcy51bnNlbGVjdENsaWVudEl0ZW1zKCk7XHJcbiAgICAvLyBzZWxlY3QgY3VycmVudCBjbGllbnRcclxuICAgIGNsaWVudEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0Q2xpZW50KGNsaWVudEl0ZW0pO1xyXG4gICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0Q2xpZW50SW5kZXhDYWNoZShpbmRleCx0aGlzLnRvb2xiYXJEYXRhPy5hY3RpdmVDbGllbnRDYWNoZSk7XHJcbiAgICAvLyBhdCBsZWFzdCBvbmUgc3ViY2xpZW50IHNob3VsZCBleGlzdFxyXG4gICAgaWYgKGNsaWVudEl0ZW0uc3ViQ2xpZW50TGlzdCAmJiBjbGllbnRJdGVtLnN1YkNsaWVudExpc3QubGVuZ3RoID4gMCkgeyAvLyBpZiBzdWIgY2xpZW50cyBleGlzdCBvcGVuIHN1YiBjbGllbnQgZGlhbG9nXHJcbiAgICAgIGNvbnN0IHN1YkNsaWVudERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU3ViQ2xpZW50RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgY2xpZW50OiBjbGllbnRJdGVtXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaW5XaWR0aDogNDAwLFxyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgICB9KTtcclxuICAgICAgLy8gc2VsZWN0IGZpcnN0IGl0ZW0gb2YgZWFjaCBzdWJjbGllbnRcclxuICAgICAgdGhpcy5zZWxlY3RGaXJzdFN1YmNsaWVudCgpO1xyXG5cclxuICAgICAgc3ViQ2xpZW50RGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xpZW50TWVudVRyaWdnZXIuZm9jdXMoKTtcclxuICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJjbGllbnQoZXZlbnQ/LmRhdGE/LnNlbGVjdGVkU3ViQ2xpZW50KTtcclxuICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJDbGllbnRJbmRleENhY2hlKGNsaWVudEl0ZW0/LnN1YkNsaWVudExpc3Q/LmluZGV4T2YoZXZlbnQ/LmRhdGE/LnNlbGVjdGVkU3ViQ2xpZW50KSA/PyAwLCB0aGlzLnRvb2xiYXJEYXRhPy5hY3RpdmVDbGllbnRDYWNoZSlcclxuXHJcbiAgICAgICAgLy8gc2V0IHRoZSBzZWxlY3RlZCBzdWJjbGllbnQgaXRlbSBhcyBjaGVja2VkLCBzZWFyY2ggYnkgbmFtZSBjb21wYXJpc29uXHJcbiAgICAgICAgbGV0IHNlbGVjdGVkT2JqID0gY2xpZW50SXRlbT8uc3ViQ2xpZW50TGlzdD8uZmluZCgoc2NJdGVtKSA9PiBzY0l0ZW0udGV4dCA9PSBldmVudD8uZGF0YT8uc2VsZWN0ZWRTdWJDbGllbnQ/LnRleHQpO1xyXG4gICAgICAgIGlmIChzZWxlY3RlZE9iaikge1xyXG4gICAgICAgICAgc2VsZWN0ZWRPYmouY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXRTZWxlY3RlZFN1YkNsaWVudChjbGllbnQ6IENsaWVudExpc3RJdGVtKSB7XHJcbiAgICBjbGllbnQuc3ViQ2xpZW50TGlzdD8uZm9yRWFjaCgoc3ViY2xpZW50OiBTdWJDbGllbnRMaXN0SXRlbSxpbmRleCkgPT4ge1xyXG4gICAgICBpZih0aGlzLnNnaE5hdmJhclN2Yy5nZXRTdWJDbGllbnRJbmRleENhY2hlKCk9PWluZGV4KSB7XHJcbiAgICAgICAgc3ViY2xpZW50LmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgIGlmIChjbGllbnQuc2VsZWN0ZWQpIHsgLy8gc2V0IHRoZSBmaXJzdCBzdWJjbGllbnQgb2YgdGhlIGZpcnN0IGNsaWVudCBhcyBzZWxlY3RlZFxyXG4gICAgICAgICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0U3ViY2xpZW50KHN1YmNsaWVudCk7XHJcbiAgICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJDbGllbnRJbmRleENhY2hlKGluZGV4LCB0aGlzLnRvb2xiYXJEYXRhLmFjdGl2ZUNsaWVudENhY2hlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7IHN1YmNsaWVudC5jaGVja2VkID0gZmFsc2U7IH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5zZWxlY3RDbGllbnRJdGVtcygpIHtcclxuICAgIHRoaXMudG9vbGJhckRhdGEuY2xpZW50TGlzdD8uZm9yRWFjaCgoY2xpZW50OiBDbGllbnRMaXN0SXRlbSkgPT4ge1xyXG4gICAgICBpZiAoY2xpZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgICAgY2xpZW50LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Rmlyc3RTdWJjbGllbnQoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLmNsaWVudExpc3Q/LmZvckVhY2goKGNsaWVudCkgPT4ge1xyXG4gICAgICBpZihjbGllbnQgIT09IHRoaXMuc2VsZWN0ZWRDbGllbnQpIHtcclxuICAgICAgICBjbGllbnQuc3ViQ2xpZW50TGlzdD8uZm9yRWFjaCgoc2NJdGVtLGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBpbmRleCA9PSAwID8gc2NJdGVtLmNoZWNrZWQgPSB0cnVlOiBzY0l0ZW0uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8bmF2IGNsYXNzPVwidG9vbGJhci1tYWluLXdyYXBwZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ0b29sYmFyRGF0YS5iZ0NvbG9yXCIgaWQ9XCJ0b29sQmFyV3JhcHBlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJsb2dvLXdyYXBwZXJcIj5cclxuICAgIDxpbWcgY2xhc3M9XCJsb2dvXCIgW3NyY109XCJ0b29sYmFyRGF0YS5pbWdcIi8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVNpZGViYXIoKVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImZhIGZhLWxnIGZhLWJhcnNcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiICpuZ0lmPVwidG9vbGJhckRhdGEuc2VhcmNoRW5hYmxlXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJ0ZXh0XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcmVxdWlyZWQvPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbC1uYW1lXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImNvbnRlbnQtbmFtZVwiPlxyXG4gICAgICBTZWFyY2hcclxuICAgIDwvc3Bhbj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2hcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInRvb2xiYXJEYXRhLm5vdGlmaWNhdGlvbkVuYWJsZVwiIGNsYXNzPVwiaWNvblwiIGlkPVwiYmVsbFwiIChjbGljayk9XCJ0b2dnbGVOb3RpZmljYXRpb25MaXN0KClcIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtYmVsbFwiPjwvaT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwidG9vbGJhckRhdGEucHJvZmlsZUVuYWJsZVwiIGNsYXNzPVwiaWNvblwiIGlkPVwiYmVsbDNcIiAoY2xpY2spPVwiY2xpY2tQcm9maWxlKClcIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtdXNlclwiPjwvaT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwidG9vbGJhckRhdGEuc2V0dGluZ3NFbmFibGVcIiBjbGFzcz1cImljb25cIiBpZD1cImJlbGwyXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNldHRpbmdzTWVudVwiPlxyXG4gICAgPGkgY2xhc3M9XCJmYSBmYS1nZWFyXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0b29sYmFyRGF0YS5wcm9maWxlVmlld1wiIGNsYXNzPVwibm90aWZpY2F0aW9uc1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3Qtd3JhcHBlciBwcm9maWxlLWxpc3Qtd3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtbGlzdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1saXN0LWl0ZW1cIj5cclxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwidG9vbGJhckRhdGEucHJvZmlsZUNvbnRlbnRcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tU2V0dGluZ3MgcmVsYXRlZCBtZW51cyBzdGFydC0tPlxyXG48bWF0LW1lbnUgI3NldHRpbmdzTWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFwcENvbmZpZ1wiICpuZ0lmPVwidG9vbGJhckRhdGEuYXBwbGljYXRpb25Db25maWd1cmF0aW9uRW5hYmxlXCI+QXBwbGljYXRpb24gU2V0dGluZ3M8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNsaWVudENvbmZpZ1wiICpuZ0lmPVwidG9vbGJhckRhdGEuY2xpZW50Q29uZmlndXJhdGlvbkVuYWJsZVwiICNjbGllbnRNZW51VHJpZ2dlcj5DbGllbnQgU2V0dGluZ3M8L2J1dHRvbj5cclxuPC9tYXQtbWVudT5cclxuPG1hdC1tZW51ICNhcHBDb25maWc9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYWZ0ZXJcIj5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCB0aGVtZW9wdGlvbiBvZiB0b29sYmFyRGF0YS50aGVtZU9wdGlvbnNcIj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBjbGFzcz1cInJhZGlvXCIgKGNsaWNrKT1cIm9uUmFkaW9DbGljayh0aGVtZW9wdGlvbi52YWx1ZSlcIj5cclxuICAgICAgPGlucHV0IHZhbHVlPVwie3t0aGVtZW9wdGlvbi52YWx1ZX19XCIgbmFtZT1cInJhZGlvXCIgdHlwZT1cInJhZGlvXCIgY2hlY2tlZCBbbmdNb2RlbF09XCJzZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRDbGFzcygkZXZlbnQpXCI+XHJcbiAgICAgIDxzcGFuPnt7dGhlbWVvcHRpb24ubmFtZX19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LW1lbnU+XHJcbjxtYXQtbWVudSAjY2xpZW50Q29uZmlnPVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImFmdGVyXCI+XHJcbiAgPGRpdiBzdHlsZT1cIndpZHRoOiAyNTBweFwiIGNsYXNzPVwiY2xpZW50LW1lbnUtd3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIENsaWVudFwiIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBsaXN0LWl0ZW0tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gdGV4dC10cnVuY2F0ZVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRvb2xiYXJEYXRhLmNsaWVudExpc3QgfCBzZWFyY2ggOiBzZWFyY2hUZXh0O2xldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2xpZW50LXNlbGVjdGVkJzogaXRlbS5zZWxlY3RlZH1cIlxyXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50LCBpdGVtLCBpKTtcIiBtYXQtcmlwcGxlPnt7aXRlbS50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L21hdC1tZW51PlxyXG5cclxuPCEtLVNldHRpbmdzIHJlbGF0ZWQgbWVudXMgZW5kLS0+XHJcblxyXG48YXBwLW5vZnRpZmljYXRpb24tbGlzdCAqbmdJZj1cInRvb2xiYXJEYXRhLmlzTm90aWZOYXZDb2xsYXBzZWRcIj48L2FwcC1ub2Z0aWZpY2F0aW9uLWxpc3Q+XHJcbiJdfQ==
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NnaC1uYXZiYXIvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUk1QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7Ozs7OztBQVd6RixNQUFNLE9BQU8sZ0JBQWdCO0lBbUUzQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBb0IsTUFBaUIsRUFBVSxZQUE4QjtRQUF6RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBL0VuRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELGdCQUFXLEdBQWdCO1lBQ2xDLFlBQVks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QU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBU3lCLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBSTlCLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPO2dCQU1yQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtmYWRlSW5PdXR9IGZyb20gJy4uL3NpZGVuYXYvaGVscGVyJztcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtNYXRNZW51VHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuaW1wb3J0IHtDbGllbnRMaXN0SXRlbSwgU3ViQ2xpZW50TGlzdEl0ZW0sIFRvb2xiYXJEYXRhfSBmcm9tIFwiLi90b29sYmFyLWRhdGFcIjtcclxuaW1wb3J0IHtTdWJDbGllbnREaWFsb2dDb21wb25lbnR9IGZyb20gXCIuL3N1Yi1jbGllbnQtZGlhbG9nL3N1Yi1jbGllbnQtZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NnaE5hdmJhclNlcnZpY2V9IGZyb20gXCIuLi9zZ2gtbmF2YmFyLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRvb2xiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZmFkZUluT3V0XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVTaWRlYmFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgdG9vbGJhckRhdGE6IFRvb2xiYXJEYXRhID0ge1xyXG4gICAgdGhlbWVPcHRpb25zOiBbe1xyXG4gICAgICBuYW1lOiAnU2doLWRlZmF1bHQtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1kZWZhdWx0LXRoZW1lJyxcclxuICAgICAgY2hlY2tlZDogdHJ1ZVxyXG4gICAgfSwge1xyXG4gICAgICBuYW1lOiAnU2doLWxpZ2h0LXRoZW1lJyxcclxuICAgICAgdmFsdWU6ICdzZ2gtbGlnaHQtdGhlbWUnLFxyXG4gICAgICBjaGVja2VkOiBmYWxzZVxyXG4gICAgfSwge1xyXG4gICAgICBuYW1lOiAnU2doLWJsdWUtdGhlbWUnLFxyXG4gICAgICB2YWx1ZTogJ3NnaC1ibHVlLXRoZW1lJyxcclxuICAgICAgY2hlY2tlZDogZmFsc2VcclxuICAgIH1dLFxyXG4gICAgYmdDb2xvcjogJyNmZmYnLFxyXG4gICAgaW1nOiAnLi4vYXNzZXRzL2ltYWdlcy9TeW5lcmdlbl9Mb2dvLW5ldy5zdmcnLFxyXG4gICAgcHJvZmlsZVZpZXc6IGZhbHNlLFxyXG4gICAgaXNOb3RpZk5hdkNvbGxhcHNlZDogZmFsc2UsXHJcbiAgICBzZWFyY2hFbmFibGU6IHRydWUsXHJcbiAgICBub3RpZmljYXRpb25FbmFibGU6IHRydWUsXHJcbiAgICBwcm9maWxlRW5hYmxlOiB0cnVlLFxyXG4gICAgc2V0dGluZ3NFbmFibGU6IHRydWUsXHJcbiAgICBhY3RpdmVDbGllbnRDYWNoZTogdHJ1ZSxcclxuICAgIGNsaWVudExpc3Q6IFt7XHJcbiAgICAgIHRleHQ6ICdDbGllbnQgMScsXHJcbiAgICAgIHZhbHVlOiAnQ0xJRU5UXzEnLFxyXG4gICAgICBzZWxlY3RlZDogZmFsc2UsXHJcbiAgICAgIHN1YkNsaWVudExpc3Q6IFtcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMScsIHZhbHVlOiAnU1VCX0NMSUVOVF8xJywgY2hlY2tlZDogZmFsc2V9LFxyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAyJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzInLCBjaGVja2VkOiBmYWxzZX0sXHJcbiAgICAgICAge3RleHQ6ICdTdWIgQ2xpZW50IDMnLCB2YWx1ZTogJ1NVQl9DTElFTlRfMycsIGNoZWNrZWQ6IGZhbHNlfVxyXG4gICAgICBdXHJcbiAgICB9LCB7XHJcbiAgICAgIHRleHQ6ICdDbGllbnQgMicsXHJcbiAgICAgIHZhbHVlOiAnQ0xJRU5UXzInLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgc3ViQ2xpZW50TGlzdDogW1xyXG4gICAgICAgIHt0ZXh0OiAnU3ViIENsaWVudCAxJywgdmFsdWU6ICdTVUJfQ0xJRU5UXzEnLCBjaGVja2VkOiB0cnVlfSxcclxuICAgICAgICB7dGV4dDogJ1N1YiBDbGllbnQgMicsIHZhbHVlOiAnU1VCX0NMSUVOVF8yJywgY2hlY2tlZDogZmFsc2V9XHJcbiAgICAgIF1cclxuICAgIH0sIHtcclxuICAgICAgdGV4dDogJ0NsaWVudCAzJyxcclxuICAgICAgdmFsdWU6ICdDTElFTlRfMycsXHJcbiAgICAgIHNlbGVjdGVkOiBmYWxzZVxyXG4gICAgfV0sXHJcbiAgICBwcm9maWxlQ29udGVudDogJzxkaXY+cHJvZmlsZSBjb250ZW50PC9kaXY+JyxcclxuICAgIGNsaWVudENvbmZpZ3VyYXRpb25FbmFibGU6IHRydWUsXHJcbiAgICBhcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25FbmFibGU6IHRydWUsXHJcbiAgfTtcclxuICBAT3V0cHV0KCkgc2VhcmNoSW5wdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBjbGllbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgc3ViQ2xpZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHNlYXJjaElucHV0ID0gXCJcIjtcclxuICBwcml2YXRlIHByZXY6IGFueTtcclxuICBzZWxlY3RlZDogYW55ID0gJ3NnaC1kZWZhdWx0LXRoZW1lJztcclxuICBwcml2YXRlIHdhc0luc2lkZSA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkQ2xpZW50O1xyXG4gIHByZXZpb3VzQ2xpZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdjbGllbnRNZW51VHJpZ2dlcicpIGNsaWVudE1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcclxuXHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBjbGlja0luc2lkZSgpIHtcclxuICAgIHRoaXMud2FzSW5zaWRlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJylcclxuICBjbGlja091dCgpIHtcclxuICAgIGlmICghdGhpcy53YXNJbnNpZGUpIHtcclxuICAgICAgdGhpcy50b29sYmFyRGF0YS5wcm9maWxlVmlldyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnRvb2xiYXJEYXRhLmlzVGhlbWVDb2xsYXBzZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy50b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLndhc0luc2lkZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBzZ2hOYXZiYXJTdmM6IFNnaE5hdmJhclNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgdG9nZ2xlU2lkZWJhcigpOiBib29sZWFuIHtcclxuICAgIHRoaXMudG9nZ2xlU2lkZWJhckV2ZW50LmVtaXQodGhpcy5leHBhbmRlZCk7XHJcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZU5vdGlmaWNhdGlvbkxpc3QoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLmlzTm90aWZOYXZDb2xsYXBzZWQgPSAhdGhpcy50b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkXHJcbiAgfVxyXG5cclxuICBjbGlja1Byb2ZpbGUoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLnByb2ZpbGVWaWV3ID0gIXRoaXMudG9vbGJhckRhdGEucHJvZmlsZVZpZXdcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoSW5wdXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaElucHV0RXZlbnQuZW1pdCh0aGlzLnNlYXJjaElucHV0KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGluaXRpYWxseSBzZXQgY2xpZW50IGFuZCBzdWJjbGllbnRzXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgY2xpZW50TGlzdCA9IHRoaXMudG9vbGJhckRhdGE/LmNsaWVudExpc3QgPz8gW107XHJcblxyXG4gICAgICBjb25zdCBzZWxlY3RlZENsaWVudEluZGV4ID0gY2xpZW50TGlzdC5maW5kSW5kZXgoYyA9PiBjLnNlbGVjdGVkID09PSB0cnVlKTtcclxuXHJcbiAgICAgIGlmIChzZWxlY3RlZENsaWVudEluZGV4ID09PSAtMSkge1xyXG4gICAgICAgIHRoaXMuc2doTmF2YmFyU3ZjLnNldENsaWVudChudWxsKTtcclxuICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJjbGllbnQobnVsbCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBvcmdDbGllbnQgPSBjbGllbnRMaXN0W3NlbGVjdGVkQ2xpZW50SW5kZXhdO1xyXG5cclxuICAgICAgY29uc3Qgb3JnU3ViQ2xpZW50ID0gb3JnQ2xpZW50Py5zdWJDbGllbnRMaXN0Py5maW5kKGMgPT4gYy5jaGVja2VkID09PSB0cnVlKSA/PyBudWxsO1xyXG5cclxuICAgICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0Q2xpZW50KG9yZ0NsaWVudCk7XHJcbiAgICAgIHRoaXMuc2doTmF2YmFyU3ZjLnNldFN1YmNsaWVudChvcmdTdWJDbGllbnQpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gb3JnQ2xpZW50O1xyXG5cclxuICAgIH0sMTAwKVxyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3Moc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnByZXYpO1xyXG4gICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChzZWxlY3RlZCk7XHJcbiAgICB0aGlzLnByZXYgPSBzZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBldmVudCA9IGV2ZW50O1xyXG4gIHNlbGVjdGVkVGhlbWU6IHN0cmluZyA9ICcnOyAvLyBUbyBzdG9yZSB0aGUgc2VsZWN0ZWQgcmFkaW8gYnV0dG9uIHZhbHVlXHJcbiAgc2VhcmNoVGV4dDogYW55O1xyXG5cclxuICBvblJhZGlvQ2xpY2sodGhlbWVWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdGhlbWVWYWx1ZTtcclxuICAgIHRoaXMuc2V0Q2xhc3ModGhlbWVWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWxlY3QoZXZlbnQsIGNsaWVudEl0ZW06IENsaWVudExpc3RJdGVtLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnByZXZpb3VzQ2xpZW50ID0gdGhpcy5zZWxlY3RlZENsaWVudDtcclxuICAgIC8vIGV2ZW50IG9uIGNsaWVudCBzZWxlY3Rpb25cclxuICAgIC8vIGF0IGxlYXN0IG9uZSBzdWJjbGllbnQgc2hvdWxkIGV4aXN0XHJcbiAgICBpZiAoY2xpZW50SXRlbS5zdWJDbGllbnRMaXN0ICYmIGNsaWVudEl0ZW0uc3ViQ2xpZW50TGlzdC5sZW5ndGggPiAwKSB7IC8vIGlmIHN1YiBjbGllbnRzIGV4aXN0IG9wZW4gc3ViIGNsaWVudCBkaWFsb2dcclxuICAgICAgY29uc3Qgc3ViQ2xpZW50RGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihTdWJDbGllbnREaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBjbGllbnQ6IGNsaWVudEl0ZW1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG1pbldpZHRoOiA0MDAsXHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyBzZWxlY3QgZmlyc3QgaXRlbSBvZiBlYWNoIHN1YmNsaWVudFxyXG5cclxuICAgICAgc3ViQ2xpZW50RGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmICghZXZlbnQ/LmRhdGE/LmNhbmNlbGxlZCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENsaWVudCA9IGNsaWVudEl0ZW07XHJcbiAgICAgICAgICAvLyB1bnNlbGVjdCBjdXJyZW50IHNlbGVjdGVkIGNsaWVudFxyXG4gICAgICAgICAgdGhpcy51bnNlbGVjdENsaWVudEl0ZW1zKCk7XHJcbiAgICAgICAgICAvLyBzZWxlY3QgY3VycmVudCBjbGllbnRcclxuICAgICAgICAgIGNsaWVudEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0Q2xpZW50KGNsaWVudEl0ZW0pO1xyXG4gICAgICAgICAgLy8gdGhpcy5zZ2hOYXZiYXJTdmMuc2V0Q2xpZW50SW5kZXhDYWNoZShpbmRleCx0aGlzLnRvb2xiYXJEYXRhPy5hY3RpdmVDbGllbnRDYWNoZSk7XHJcbiAgICAgICAgICB0aGlzLmNsaWVudE1lbnVUcmlnZ2VyLmZvY3VzKCk7XHJcbiAgICAgICAgICB0aGlzLnNnaE5hdmJhclN2Yy5zZXRTdWJjbGllbnQoZXZlbnQ/LmRhdGE/LnNlbGVjdGVkU3ViQ2xpZW50KTtcclxuICAgICAgICAgIC8vIHRoaXMuc2doTmF2YmFyU3ZjLnNldFN1YkNsaWVudEluZGV4Q2FjaGUoY2xpZW50SXRlbT8uc3ViQ2xpZW50TGlzdD8uaW5kZXhPZihldmVudD8uZGF0YT8uc2VsZWN0ZWRTdWJDbGllbnQpID8/IDAsIHRoaXMudG9vbGJhckRhdGE/LmFjdGl2ZUNsaWVudENhY2hlKVxyXG5cclxuICAgICAgICAgIC8vIHNldCB0aGUgc2VsZWN0ZWQgc3ViY2xpZW50IGl0ZW0gYXMgY2hlY2tlZCwgc2VhcmNoIGJ5IG5hbWUgY29tcGFyaXNvblxyXG4gICAgICAgICAgbGV0IHNlbGVjdGVkT2JqID0gY2xpZW50SXRlbT8uc3ViQ2xpZW50TGlzdD8uZmluZCgoc2NJdGVtKSA9PiBzY0l0ZW0udGV4dCA9PSBldmVudD8uZGF0YT8uc2VsZWN0ZWRTdWJDbGllbnQ/LnRleHQpO1xyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkT2JqKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkT2JqLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmKHRoaXMucHJldmlvdXNDbGllbnQudGV4dCAhPT0gdGhpcy5zZWxlY3RlZENsaWVudC50ZXh0KXtcclxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c0NsaWVudD8uc3ViQ2xpZW50TGlzdD8uZm9yRWFjaCgoc3ViQ2xpZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgc3ViQ2xpZW50LmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0U2VsZWN0ZWRTdWJDbGllbnQoY2xpZW50OiBDbGllbnRMaXN0SXRlbSkge1xyXG4gICAgY2xpZW50LnN1YkNsaWVudExpc3Q/LmZvckVhY2goKHN1YmNsaWVudDogU3ViQ2xpZW50TGlzdEl0ZW0saW5kZXgpID0+IHtcclxuICAgICAgaWYodGhpcy5zZ2hOYXZiYXJTdmMuZ2V0U3ViQ2xpZW50SW5kZXhDYWNoZSgpPT1pbmRleCkge1xyXG4gICAgICAgIHN1YmNsaWVudC5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICBpZiAoY2xpZW50LnNlbGVjdGVkKSB7IC8vIHNldCB0aGUgZmlyc3Qgc3ViY2xpZW50IG9mIHRoZSBmaXJzdCBjbGllbnQgYXMgc2VsZWN0ZWRcclxuICAgICAgICAgIHRoaXMuc2doTmF2YmFyU3ZjLnNldFN1YmNsaWVudChzdWJjbGllbnQpO1xyXG4gICAgICAgICAgdGhpcy5zZ2hOYXZiYXJTdmMuc2V0U3ViQ2xpZW50SW5kZXhDYWNoZShpbmRleCwgdGhpcy50b29sYmFyRGF0YS5hY3RpdmVDbGllbnRDYWNoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgeyBzdWJjbGllbnQuY2hlY2tlZCA9IGZhbHNlOyB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVuc2VsZWN0Q2xpZW50SXRlbXMoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJEYXRhLmNsaWVudExpc3Q/LmZvckVhY2goKGNsaWVudDogQ2xpZW50TGlzdEl0ZW0pID0+IHtcclxuICAgICAgaWYgKGNsaWVudC5zZWxlY3RlZCkge1xyXG4gICAgICAgIGNsaWVudC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEZpcnN0U3ViY2xpZW50KCkge1xyXG4gICAgdGhpcy50b29sYmFyRGF0YS5jbGllbnRMaXN0Py5mb3JFYWNoKChjbGllbnQpID0+IHtcclxuICAgICAgaWYoY2xpZW50ICE9PSB0aGlzLnNlbGVjdGVkQ2xpZW50KSB7XHJcbiAgICAgICAgY2xpZW50LnN1YkNsaWVudExpc3Q/LmZvckVhY2goKHNjSXRlbSxpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaW5kZXggPT0gMCA/IHNjSXRlbS5jaGVja2VkID0gdHJ1ZTogc2NJdGVtLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPG5hdiBjbGFzcz1cInRvb2xiYXItbWFpbi13cmFwcGVyXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwidG9vbGJhckRhdGEuYmdDb2xvclwiIGlkPVwidG9vbEJhcldyYXBwZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwibG9nby13cmFwcGVyXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwibG9nb1wiIFtzcmNdPVwidG9vbGJhckRhdGEuaW1nXCIvPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVTaWRlYmFyKClcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1sZyBmYS1iYXJzXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm1cIiAqbmdJZj1cInRvb2xiYXJEYXRhLnNlYXJjaEVuYWJsZVwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkLz5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwtbmFtZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJjb250ZW50LW5hbWVcIj5cclxuICAgICAgU2VhcmNoXHJcbiAgICA8L3NwYW4+XHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJzZWFyY2gtd3JhcHBlclwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoXCI+PC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ0b29sYmFyRGF0YS5ub3RpZmljYXRpb25FbmFibGVcIiBjbGFzcz1cImljb25cIiBpZD1cImJlbGxcIiAoY2xpY2spPVwidG9nZ2xlTm90aWZpY2F0aW9uTGlzdCgpXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhIGZhLWJlbGxcIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInRvb2xiYXJEYXRhLnByb2ZpbGVFbmFibGVcIiBjbGFzcz1cImljb25cIiBpZD1cImJlbGwzXCIgKGNsaWNrKT1cImNsaWNrUHJvZmlsZSgpXCI+XHJcbiAgICA8aSBjbGFzcz1cImZhIGZhLXVzZXJcIj48L2k+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInRvb2xiYXJEYXRhLnNldHRpbmdzRW5hYmxlXCIgY2xhc3M9XCJpY29uXCIgaWQ9XCJiZWxsMlwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZXR0aW5nc01lbnVcIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgZmEtZ2VhclwiPjwvaT5cclxuICA8L2Rpdj5cclxuPC9uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidG9vbGJhckRhdGEucHJvZmlsZVZpZXdcIiBjbGFzcz1cIm5vdGlmaWNhdGlvbnNcIj5cclxuICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1saXN0LXdyYXBwZXIgcHJvZmlsZS1saXN0LXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3RcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInRvb2xiYXJEYXRhLnByb2ZpbGVDb250ZW50XCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLVNldHRpbmdzIHJlbGF0ZWQgbWVudXMgc3RhcnQtLT5cclxuPG1hdC1tZW51ICNzZXR0aW5nc01lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJhcHBDb25maWdcIiAqbmdJZj1cInRvb2xiYXJEYXRhLmFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbkVuYWJsZVwiPkFwcGxpY2F0aW9uIFNldHRpbmdzPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJjbGllbnRDb25maWdcIiAqbmdJZj1cInRvb2xiYXJEYXRhLmNsaWVudENvbmZpZ3VyYXRpb25FbmFibGVcIiAjY2xpZW50TWVudVRyaWdnZXI+Q2xpZW50IFNldHRpbmdzPC9idXR0b24+XHJcbjwvbWF0LW1lbnU+XHJcbjxtYXQtbWVudSAjYXBwQ29uZmlnPVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImFmdGVyXCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgdGhlbWVvcHRpb24gb2YgdG9vbGJhckRhdGEudGhlbWVPcHRpb25zXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJyYWRpb1wiIChjbGljayk9XCJvblJhZGlvQ2xpY2sodGhlbWVvcHRpb24udmFsdWUpXCI+XHJcbiAgICAgIDxpbnB1dCB2YWx1ZT1cInt7dGhlbWVvcHRpb24udmFsdWV9fVwiIG5hbWU9XCJyYWRpb1wiIHR5cGU9XCJyYWRpb1wiIGNoZWNrZWQgW25nTW9kZWxdPVwic2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q2xhc3MoJGV2ZW50KVwiPlxyXG4gICAgICA8c3Bhbj57e3RoZW1lb3B0aW9uLm5hbWV9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L21hdC1tZW51PlxyXG48bWF0LW1lbnUgI2NsaWVudENvbmZpZz1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJhZnRlclwiPlxyXG4gIDxkaXYgc3R5bGU9XCJ3aWR0aDogMjUwcHhcIiBjbGFzcz1cImNsaWVudC1tZW51LXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBDbGllbnRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIi8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgbGlzdC1pdGVtLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtIHRleHQtdHJ1bmNhdGVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0b29sYmFyRGF0YS5jbGllbnRMaXN0IHwgc2VhcmNoIDogc2VhcmNoVGV4dDtsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NsaWVudC1zZWxlY3RlZCc6IGl0ZW0uc2VsZWN0ZWR9XCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VsZWN0KCRldmVudCwgaXRlbSwgaSk7XCIgbWF0LXJpcHBsZT57e2l0ZW0udGV4dH19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9tYXQtbWVudT5cclxuXHJcbjwhLS1TZXR0aW5ncyByZWxhdGVkIG1lbnVzIGVuZC0tPlxyXG5cclxuPGFwcC1ub2Z0aWZpY2F0aW9uLWxpc3QgKm5nSWY9XCJ0b29sYmFyRGF0YS5pc05vdGlmTmF2Q29sbGFwc2VkXCI+PC9hcHAtbm9mdGlmaWNhdGlvbi1saXN0PlxyXG4iXX0=