nira-falcon 0.1.64 → 0.1.66
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.
- package/esm2022/lib/core-select/core-select.component.mjs +3 -3
- package/esm2022/lib/core-table/core-table/core-table.component.mjs +58 -4
- package/fesm2022/nira-falcon.mjs +59 -5
- package/fesm2022/nira-falcon.mjs.map +1 -1
- package/lib/core-table/core-table/core-table.component.d.ts +11 -2
- package/package.json +1 -1
- package/styles copy.css +0 -1
|
@@ -106,11 +106,11 @@ export class CoreSelectComponent {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectComponent, selector: "core-select", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, viewQueries: [{ propertyName: "focusableElements", predicate: ["focusable"], descendants: true }], ngImport: i0, template: "<div class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick(false)\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid rgba(19,92,175,.397);outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu li:focus{outline:none}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open{display:flex!important;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WarningIconComponent, selector: "warning-icon" }, { kind: "component", type: i3.ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreSelectComponent, selector: "core-select", inputs: { titleKey: "titleKey", valueKey: "valueKey", size: "size", canHighlightBackground: "canHighlightBackground", items: "items", defaultValue: "defaultValue", label: "label", disabled: "disabled", inputFormControl: "inputFormControl" }, outputs: { onItemSelected: "onItemSelected" }, viewQueries: [{ propertyName: "focusableElements", predicate: ["focusable"], descendants: true }], ngImport: i0, template: "<div class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick(false)\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid rgba(19,92,175,.397);outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu li:focus{outline:none}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open-no-data{display:flex!important;opacity:1}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WarningIconComponent, selector: "warning-icon" }, { kind: "component", type: i3.ArrowDownIconComponent, selector: "arrow-down-icon" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
110
110
|
}
|
|
111
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreSelectComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
|
-
args: [{ selector: 'core-select', template: "<div class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick(false)\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid rgba(19,92,175,.397);outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu li:focus{outline:none}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open{display:flex!important;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"] }]
|
|
113
|
+
args: [{ selector: 'core-select', template: "<div class=\"dropdown\" (focusout)=\"focusOut($event)\">\r\n <div\r\n class=\"select\"\r\n [ngClass]=\"{\r\n 'select-clicked': isOpenMenu,\r\n 'highlight-background':\r\n canHighlightBackground &&\r\n (selectedItem | json) === ({} | json) &&\r\n !(inputFormControl.touched && inputFormControl.errors),\r\n selectError: inputFormControl.touched && inputFormControl.errors ,\r\n 'disable-selector': disabled,\r\n\r\n }\"\r\n tabindex=\"0\"\r\n (keypress)=\"onEnterPress($event)\"\r\n (click)=\"openMenuClick(false)\"\r\n >\r\n <span\r\n class=\"placeholder-top\"\r\n *ngIf=\"(selectedItem | json) != ({} | json)\"\r\n >{{ label }}</span\r\n >\r\n <arrow-down-icon\r\n class=\"caret fill-secondary-text-color h-6\"\r\n [ngClass]=\"{ 'caret-rotate': isOpenMenu }\"\r\n ></arrow-down-icon>\r\n\r\n <span\r\n [ngClass]=\"[\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? 'placeholder'\r\n : 'selected'\r\n ]\"\r\n >{{\r\n label.length > 0 && (selectedItem | json) == ({} | json)\r\n ? label\r\n : selectedItem.title\r\n }}</span\r\n >\r\n </div>\r\n <div\r\n class=\"no-data\"\r\n *ngIf=\"newItems.length === 0\"\r\n [ngClass]=\"{ 'menu-open-no-data': isOpenMenu }\"\r\n >\r\n <warning-icon class=\"icon-color inline-block w-6\"></warning-icon>\r\n <b class=\"content block\">\u0645\u0648\u0631\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F</b>\r\n </div>\r\n <ul\r\n class=\"menu dropdown\"\r\n (keydown)=\"handleKey($event)\"\r\n [ngClass]=\"{ 'menu-open': isOpenMenu }\"\r\n >\r\n <li\r\n *ngFor=\"let item of newItems\"\r\n class=\"dropdown-item\"\r\n #focusable\r\n [ngClass]=\"{ active: item == selectedItem }\"\r\n (click)=\"onItemSelect(item, true)\"\r\n (keypress)=\"dropdownItemKeypress($event, item)\"\r\n tabindex=\"0\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ul>\r\n <div class=\"label-error overflow-hidden\">\r\n <span\r\n *ngIf=\"\r\n inputFormControl.touched &&\r\n inputFormControl.errors?.['required']\"\r\n >\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u062E\u0627\u0644\u06CC \u0627\u0633\u062A</span\r\n >\r\n </div>\r\n</div>\r\n", styles: [".dropdown{min-width:15em;position:relative;width:100%;min-width:120px}.dropdown .disable-selector{background-color:#f7f7f7!important;border:1px dashed #ced4da!important;cursor:no-drop!important}.dropdown .highlight-background{background-color:#dcf6ff!important}.dropdown .select{background:#fff;color:#304050;display:flex;height:42px;justify-content:space-between;flex-direction:row-reverse;align-items:center;border:1px solid #ced4da;border-radius:4px;padding:8px;cursor:pointer;transition:background .3s;font-size:12px;-webkit-user-select:none;user-select:none}.dropdown .select:hover{background:#fbfbfb}.dropdown .select:focus{border:1px solid rgba(19,92,175,.397);outline:none}.dropdown .select .selected{padding-inline:12px;font-size:14px;color:#000000b3;-webkit-user-select:none;user-select:none}.dropdown .select .placeholder-top{position:absolute;right:13px;background:#fff;top:-8px;padding-inline:6px;font-size:11px;color:#888}.dropdown .select .caret{color:#595c5f;-webkit-user-select:none;user-select:none}.dropdown .select .caret-rotate{transform:rotate(180deg)}.dropdown .select .placeholder{color:#888;padding-inline:16px}.dropdown .select-clicked{border:1px solid rgba(19,92,175,.397)}.dropdown .no-data{display:none;justify-content:center;align-items:center;font-size:small;flex-direction:column;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);transition:0,2s;z-index:10;height:120px;overflow:auto}.dropdown .no-data .icon-color{fill:var(--default-table-warning-icon-color)}.dropdown .no-data .content{color:var(--default-table-warning-color)}.dropdown .menu{list-style:none;padding-inline:0px;background:#fff;border:1px #e3e8f1 solid;box-shadow:0 .5em 1em #0003;border-radius:.5em;color:#595c5f;position:absolute;top:40px;left:50%;width:100%;transform:translate(-50%);display:none;transition:0,2s;z-index:10;max-height:200px;overflow:auto}.dropdown .menu li{padding:.7em .5em;margin:.3em 0;border-radius:.5em;font-size:14px;text-align:start;cursor:pointer}.dropdown .menu li:hover{background:#f6f6f6;box-shadow:0 1px 2px #00000021,0 4px 4px #0000001a}.dropdown .menu li:focus{outline:none}.dropdown .menu .active{background:#ced4da!important}.dropdown .menu-open-no-data{display:flex!important;opacity:1}.dropdown .menu-open{display:block;opacity:1}.dropdown .label-error{color:red;font-size:13px;margin-block-start:4px;min-height:21px;width:100%;display:inline-block!important;text-align:start}.dropdown .selectError{border:1px solid #fe5f5f!important}\n"] }]
|
|
114
114
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { titleKey: [{
|
|
115
115
|
type: Input
|
|
116
116
|
}], valueKey: [{
|
|
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
135
135
|
type: ViewChildren,
|
|
136
136
|
args: ['focusable']
|
|
137
137
|
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtc2VsZWN0L2NvcmUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC9jb3JlLXNlbGVjdC1mYWxjb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFVN0QsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixJQUFhLEtBQUssQ0FBQyxJQUFTO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFhLFlBQVksQ0FBQyxJQUFPO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFRRCxZQUFvQixHQUFzQixFQUFVLEtBQWlCO1FBQWpELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQTFCckUsaUJBQVksR0FBZ0IsRUFBaUIsQ0FBQztRQUc5QyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFJUixTQUFJLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLDJCQUFzQixHQUFH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YUFBYSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0RDtZQUNBLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7K0dBbkhVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHViQ3RCaEMsb3pFQTBFQTs7NEZEcERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO2lJQVlkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDcUIsaUJBQWlCO3NCQUEzQyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XHJcbnR5cGUgTWVudUl0ZW08VD4gPSB7XHJcbiAgdGl0bGU6IFQ7XHJcbiAgdmFsdWU6IFQ7XHJcbn07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXNlbGVjdCcgKyBlbnZpcm9ubWVudC50ZW1wTmFtZSxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXNlbGVjdCcgKyBlbnZpcm9ubWVudC5zdHlsZU5hbWVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVNlbGVjdENvbXBvbmVudDxUPiB7XHJcbiAgc2VsZWN0ZWRJdGVtOiBNZW51SXRlbTxUPiA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gIHRpdGxlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHZhbHVlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIG5ld0l0ZW1zOiBNZW51SXRlbTxUPltdID0gW107XHJcbiAgaXNPcGVuTWVudSA9IGZhbHNlO1xyXG4gIF9pdGVtczogYW55ID0gW107XHJcbiAgX2RlZmF1bHRWYWx1ZSE6IFQ7XHJcbiAgQElucHV0KCkgdGl0bGVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nID0gJ3NtYWxsJztcclxuICBASW5wdXQoKSBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5faXRlbXMgPSBkYXRhO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNldCBkZWZhdWx0VmFsdWUoZGF0YTogVCkge1xyXG4gICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gZGF0YTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBpbnB1dEZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgW10pO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZvY3VzYWJsZScpIGZvY3VzYWJsZUVsZW1lbnRzITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gIGN1cnJlbnRJbmRleCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge31cclxuICBpbml0KCkge1xyXG4gICAgdHlwZSBPYmplY3RLZXkgPSAodHlwZW9mIHRoaXMuX2l0ZW1zKVswXTtcclxuICAgIHRoaXMudGl0bGVLZXlPYmplY3QgPSB0aGlzLnRpdGxlS2V5IGFzIE9iamVjdEtleTtcclxuICAgIHRoaXMudmFsdWVLZXlPYmplY3QgPSB0aGlzLnZhbHVlS2V5IGFzIE9iamVjdEtleTtcclxuICAgIHRoaXMubmV3SXRlbXMgPSB0aGlzLmNoYW5nZUl0ZW1zVHlwZSh0aGlzLl9pdGVtcyk7XHJcbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fZGVmYXVsdFZhbHVlKTtcclxuICAgIHRoaXMub25JdGVtU2VsZWN0KFxyXG4gICAgICB0aGlzLm5ld0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT0gdGhpcy5fZGVmYXVsdFZhbHVlKSxcclxuICAgICAgZmFsc2VcclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VJdGVtc1R5cGUoaXRlbXM6IGFueVtdKTogTWVudUl0ZW08VD5bXSB7XHJcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdGl0bGU6IGl0ZW1bdGhpcy50aXRsZUtleU9iamVjdF0sXHJcbiAgICAgICAgdmFsdWU6IGl0ZW1bdGhpcy52YWx1ZUtleU9iamVjdF0sXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5NZW51Q2xpY2soY2FuRm9jdXM6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSAhdGhpcy5pc09wZW5NZW51O1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuTWVudSAmJiBjYW5Gb2N1cykge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50cy50b0FycmF5KCk7XHJcbiAgICAgICAgZWxlbWVudFswXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH0sIDUwKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZm9jdXNhYmxlRWxlbWVudHMudG9BcnJheSgpO1xyXG5cclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gKHRoaXMuY3VycmVudEluZGV4ICsgMSkgJSBlbGVtZW50cy5sZW5ndGg7XHJcbiAgICAgIGVsZW1lbnRzW3RoaXMuY3VycmVudEluZGV4XS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID1cclxuICAgICAgICAodGhpcy5jdXJyZW50SW5kZXggLSAxICsgZWxlbWVudHMubGVuZ3RoKSAlIGVsZW1lbnRzLmxlbmd0aDtcclxuICAgICAgZWxlbWVudHNbdGhpcy5jdXJyZW50SW5kZXhdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3Bkb3duSXRlbUtleXByZXNzKGV2ZW50OiBhbnksIGl0ZW06IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdChpdGVtLCB0cnVlKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSXRlbVNlbGVjdChzZWxlY3RlZEl0ZW06IE1lbnVJdGVtPFQ+IHwgdW5kZWZpbmVkLCBpc0Zyb21VaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGlzRnJvbVVpKSB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBzZWxlY3RlZEl0ZW07XHJcbiAgICBjb25zdCBtYWluSXRlbSA9IHRoaXMuX2l0ZW1zLmZpbmQoXHJcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW1bdGhpcy52YWx1ZUtleU9iamVjdF0gPT09IHNlbGVjdGVkSXRlbS52YWx1ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZEl0ZW0udmFsdWUpO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KG1haW5JdGVtKTtcclxuICB9XHJcbiAgb25FbnRlclByZXNzKGU6IGFueSkge1xyXG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMub3Blbk1lbnVDbGljayh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZm9jdXNPdXQoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcclxuICAgIGNvbnN0IG5leHRGb2N1c2VkRWxlbWVudCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhbmV4dEZvY3VzZWRFbGVtZW50IHx8XHJcbiAgICAgICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobmV4dEZvY3VzZWRFbGVtZW50KVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNPcGVuTWVudSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAoZm9jdXNvdXQpPVwiZm9jdXNPdXQoJGV2ZW50KVwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwic2VsZWN0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ3NlbGVjdC1jbGlja2VkJzogaXNPcGVuTWVudSxcclxuICAgICAgJ2hpZ2hsaWdodC1iYWNrZ3JvdW5kJzpcclxuICAgICAgICBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kICYmXHJcbiAgICAgICAgKHNlbGVjdGVkSXRlbSB8IGpzb24pID09PSAoe30gfCBqc29uKSAmJlxyXG4gICAgICAgICEoaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICYmIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKSxcclxuICAgICAgc2VsZWN0RXJyb3I6IGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAmJiBpbnB1dEZvcm1Db250cm9sLmVycm9ycyAsXHJcbiAgICAgICdkaXNhYmxlLXNlbGVjdG9yJzogZGlzYWJsZWQsXHJcblxyXG4gICAgfVwiXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKGtleXByZXNzKT1cIm9uRW50ZXJQcmVzcygkZXZlbnQpXCJcclxuICAgIChjbGljayk9XCJvcGVuTWVudUNsaWNrKGZhbHNlKVwiXHJcbiAgPlxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci10b3BcIlxyXG4gICAgICAqbmdJZj1cIihzZWxlY3RlZEl0ZW0gfCBqc29uKSAhPSAoe30gfCBqc29uKVwiXHJcbiAgICAgID57eyBsYWJlbCB9fTwvc3BhblxyXG4gICAgPlxyXG4gICAgPGFycm93LWRvd24taWNvblxyXG4gICAgICBjbGFzcz1cImNhcmV0IGZpbGwtc2Vjb25kYXJ5LXRleHQtY29sb3IgaC02XCJcclxuICAgICAgW25nQ2xhc3NdPVwieyAnY2FyZXQtcm90YXRlJzogaXNPcGVuTWVudSB9XCJcclxuICAgID48L2Fycm93LWRvd24taWNvbj5cclxuXHJcbiAgICA8c3BhblxyXG4gICAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgICAgbGFiZWwubGVuZ3RoID4gMCAmJiAoc2VsZWN0ZWRJdGVtIHwganNvbikgPT0gKHt9IHwganNvbilcclxuICAgICAgICAgID8gJ3BsYWNlaG9sZGVyJ1xyXG4gICAgICAgICAgOiAnc2VsZWN0ZWQnXHJcbiAgICAgIF1cIlxyXG4gICAgICA+e3tcclxuICAgICAgICBsYWJlbC5sZW5ndGggPiAwICYmIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PSAoe30gfCBqc29uKVxyXG4gICAgICAgICAgPyBsYWJlbFxyXG4gICAgICAgICAgOiBzZWxlY3RlZEl0ZW0udGl0bGVcclxuICAgICAgfX08L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIm5vLWRhdGFcIlxyXG4gICAgKm5nSWY9XCJuZXdJdGVtcy5sZW5ndGggPT09IDBcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnbWVudS1vcGVuJzogaXNPcGVuTWVudSB9XCJcclxuICA+XHJcbiAgICA8d2FybmluZy1pY29uIGNsYXNzPVwiaWNvbi1jb2xvciBpbmxpbmUtYmxvY2sgdy02XCI+PC93YXJuaW5nLWljb24+XHJcbiAgICA8YiBjbGFzcz1cImNvbnRlbnQgYmxvY2tcIj7ZhdmI2LHYr9uMINuM2KfZgdiqINmG2LTYrzwvYj5cclxuICA8L2Rpdj5cclxuICA8dWxcclxuICAgIGNsYXNzPVwibWVudSBkcm9wZG93blwiXHJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXkoJGV2ZW50KVwiXHJcbiAgICBbbmdDbGFzc109XCJ7ICdtZW51LW9wZW4nOiBpc09wZW5NZW51IH1cIlxyXG4gID5cclxuICAgIDxsaVxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuZXdJdGVtc1wiXHJcbiAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXHJcbiAgICAgICNmb2N1c2FibGVcclxuICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGl0ZW0gPT0gc2VsZWN0ZWRJdGVtIH1cIlxyXG4gICAgICAoY2xpY2spPVwib25JdGVtU2VsZWN0KGl0ZW0sIHRydWUpXCJcclxuICAgICAgKGtleXByZXNzKT1cImRyb3Bkb3duSXRlbUtleXByZXNzKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgPlxyXG4gICAgICB7eyBpdGVtLnRpdGxlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbiAgPGRpdiBjbGFzcz1cImxhYmVsLWVycm9yIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgPHNwYW5cclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgIGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAgJiZcclxuICAgICAgaW5wdXRGb3JtQ29udHJvbC5lcnJvcnM/LlsncmVxdWlyZWQnXVwiXHJcbiAgICAgID7Yp9uM2YYg2YHbjNmE2K8g2K7Yp9mE24wg2KfYs9iqPC9zcGFuXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtc2VsZWN0L2NvcmUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1saWIvc3JjL2xpYi9jb3JlLXNlbGVjdC9jb3JlLXNlbGVjdC1mYWxjb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFVN0QsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixJQUFhLEtBQUssQ0FBQyxJQUFTO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFhLFlBQVksQ0FBQyxJQUFPO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFRRCxZQUFvQixHQUFzQixFQUFVLEtBQWlCO1FBQWpELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQTFCckUsaUJBQVksR0FBZ0IsRUFBaUIsQ0FBQztRQUc5QyxhQUFRLEdBQWtCLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFJUixTQUFJLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLDJCQUFzQixHQUFH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YUFBYSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0RDtZQUNBLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7K0dBbkhVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHViQ3RCaEMsNHpFQTBFQTs7NEZEcERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO2lJQVlkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDcUIsaUJBQWlCO3NCQUEzQyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XHJcbnR5cGUgTWVudUl0ZW08VD4gPSB7XHJcbiAgdGl0bGU6IFQ7XHJcbiAgdmFsdWU6IFQ7XHJcbn07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXNlbGVjdCcgKyBlbnZpcm9ubWVudC50ZW1wTmFtZSxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXNlbGVjdCcgKyBlbnZpcm9ubWVudC5zdHlsZU5hbWVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVNlbGVjdENvbXBvbmVudDxUPiB7XHJcbiAgc2VsZWN0ZWRJdGVtOiBNZW51SXRlbTxUPiA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gIHRpdGxlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHZhbHVlS2V5T2JqZWN0IToga2V5b2Ygc3RyaW5nIHwgbnVtYmVyO1xyXG4gIG5ld0l0ZW1zOiBNZW51SXRlbTxUPltdID0gW107XHJcbiAgaXNPcGVuTWVudSA9IGZhbHNlO1xyXG4gIF9pdGVtczogYW55ID0gW107XHJcbiAgX2RlZmF1bHRWYWx1ZSE6IFQ7XHJcbiAgQElucHV0KCkgdGl0bGVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWVLZXkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nID0gJ3NtYWxsJztcclxuICBASW5wdXQoKSBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5faXRlbXMgPSBkYXRhO1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNldCBkZWZhdWx0VmFsdWUoZGF0YTogVCkge1xyXG4gICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gZGF0YTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBpbnB1dEZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgW10pO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZvY3VzYWJsZScpIGZvY3VzYWJsZUVsZW1lbnRzITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gIGN1cnJlbnRJbmRleCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge31cclxuICBpbml0KCkge1xyXG4gICAgdHlwZSBPYmplY3RLZXkgPSAodHlwZW9mIHRoaXMuX2l0ZW1zKVswXTtcclxuICAgIHRoaXMudGl0bGVLZXlPYmplY3QgPSB0aGlzLnRpdGxlS2V5IGFzIE9iamVjdEtleTtcclxuICAgIHRoaXMudmFsdWVLZXlPYmplY3QgPSB0aGlzLnZhbHVlS2V5IGFzIE9iamVjdEtleTtcclxuICAgIHRoaXMubmV3SXRlbXMgPSB0aGlzLmNoYW5nZUl0ZW1zVHlwZSh0aGlzLl9pdGVtcyk7XHJcbiAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fZGVmYXVsdFZhbHVlKTtcclxuICAgIHRoaXMub25JdGVtU2VsZWN0KFxyXG4gICAgICB0aGlzLm5ld0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT0gdGhpcy5fZGVmYXVsdFZhbHVlKSxcclxuICAgICAgZmFsc2VcclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VJdGVtc1R5cGUoaXRlbXM6IGFueVtdKTogTWVudUl0ZW08VD5bXSB7XHJcbiAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdGl0bGU6IGl0ZW1bdGhpcy50aXRsZUtleU9iamVjdF0sXHJcbiAgICAgICAgdmFsdWU6IGl0ZW1bdGhpcy52YWx1ZUtleU9iamVjdF0sXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5NZW51Q2xpY2soY2FuRm9jdXM6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmlzT3Blbk1lbnUgPSAhdGhpcy5pc09wZW5NZW51O1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuTWVudSAmJiBjYW5Gb2N1cykge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50cy50b0FycmF5KCk7XHJcbiAgICAgICAgZWxlbWVudFswXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgIH0sIDUwKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZm9jdXNhYmxlRWxlbWVudHMudG9BcnJheSgpO1xyXG5cclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID0gKHRoaXMuY3VycmVudEluZGV4ICsgMSkgJSBlbGVtZW50cy5sZW5ndGg7XHJcbiAgICAgIGVsZW1lbnRzW3RoaXMuY3VycmVudEluZGV4XS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEluZGV4ID1cclxuICAgICAgICAodGhpcy5jdXJyZW50SW5kZXggLSAxICsgZWxlbWVudHMubGVuZ3RoKSAlIGVsZW1lbnRzLmxlbmd0aDtcclxuICAgICAgZWxlbWVudHNbdGhpcy5jdXJyZW50SW5kZXhdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3Bkb3duSXRlbUtleXByZXNzKGV2ZW50OiBhbnksIGl0ZW06IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdChpdGVtLCB0cnVlKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICB0aGlzLmlzT3Blbk1lbnUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSXRlbVNlbGVjdChzZWxlY3RlZEl0ZW06IE1lbnVJdGVtPFQ+IHwgdW5kZWZpbmVkLCBpc0Zyb21VaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGlzRnJvbVVpKSB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgdGhpcy5pc09wZW5NZW51ID0gZmFsc2U7XHJcbiAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHt9IGFzIE1lbnVJdGVtPFQ+O1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBzZWxlY3RlZEl0ZW07XHJcbiAgICBjb25zdCBtYWluSXRlbSA9IHRoaXMuX2l0ZW1zLmZpbmQoXHJcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW1bdGhpcy52YWx1ZUtleU9iamVjdF0gPT09IHNlbGVjdGVkSXRlbS52YWx1ZVxyXG4gICAgKTtcclxuICAgIHRoaXMuaW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZEl0ZW0udmFsdWUpO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KG1haW5JdGVtKTtcclxuICB9XHJcbiAgb25FbnRlclByZXNzKGU6IGFueSkge1xyXG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMub3Blbk1lbnVDbGljayh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZm9jdXNPdXQoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcclxuICAgIGNvbnN0IG5leHRGb2N1c2VkRWxlbWVudCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhbmV4dEZvY3VzZWRFbGVtZW50IHx8XHJcbiAgICAgICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobmV4dEZvY3VzZWRFbGVtZW50KVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNPcGVuTWVudSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlucHV0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiAoZm9jdXNvdXQpPVwiZm9jdXNPdXQoJGV2ZW50KVwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwic2VsZWN0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ3NlbGVjdC1jbGlja2VkJzogaXNPcGVuTWVudSxcclxuICAgICAgJ2hpZ2hsaWdodC1iYWNrZ3JvdW5kJzpcclxuICAgICAgICBjYW5IaWdobGlnaHRCYWNrZ3JvdW5kICYmXHJcbiAgICAgICAgKHNlbGVjdGVkSXRlbSB8IGpzb24pID09PSAoe30gfCBqc29uKSAmJlxyXG4gICAgICAgICEoaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICYmIGlucHV0Rm9ybUNvbnRyb2wuZXJyb3JzKSxcclxuICAgICAgc2VsZWN0RXJyb3I6IGlucHV0Rm9ybUNvbnRyb2wudG91Y2hlZCAmJiBpbnB1dEZvcm1Db250cm9sLmVycm9ycyAsXHJcbiAgICAgICdkaXNhYmxlLXNlbGVjdG9yJzogZGlzYWJsZWQsXHJcblxyXG4gICAgfVwiXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKGtleXByZXNzKT1cIm9uRW50ZXJQcmVzcygkZXZlbnQpXCJcclxuICAgIChjbGljayk9XCJvcGVuTWVudUNsaWNrKGZhbHNlKVwiXHJcbiAgPlxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci10b3BcIlxyXG4gICAgICAqbmdJZj1cIihzZWxlY3RlZEl0ZW0gfCBqc29uKSAhPSAoe30gfCBqc29uKVwiXHJcbiAgICAgID57eyBsYWJlbCB9fTwvc3BhblxyXG4gICAgPlxyXG4gICAgPGFycm93LWRvd24taWNvblxyXG4gICAgICBjbGFzcz1cImNhcmV0IGZpbGwtc2Vjb25kYXJ5LXRleHQtY29sb3IgaC02XCJcclxuICAgICAgW25nQ2xhc3NdPVwieyAnY2FyZXQtcm90YXRlJzogaXNPcGVuTWVudSB9XCJcclxuICAgID48L2Fycm93LWRvd24taWNvbj5cclxuXHJcbiAgICA8c3BhblxyXG4gICAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgICAgbGFiZWwubGVuZ3RoID4gMCAmJiAoc2VsZWN0ZWRJdGVtIHwganNvbikgPT0gKHt9IHwganNvbilcclxuICAgICAgICAgID8gJ3BsYWNlaG9sZGVyJ1xyXG4gICAgICAgICAgOiAnc2VsZWN0ZWQnXHJcbiAgICAgIF1cIlxyXG4gICAgICA+e3tcclxuICAgICAgICBsYWJlbC5sZW5ndGggPiAwICYmIChzZWxlY3RlZEl0ZW0gfCBqc29uKSA9PSAoe30gfCBqc29uKVxyXG4gICAgICAgICAgPyBsYWJlbFxyXG4gICAgICAgICAgOiBzZWxlY3RlZEl0ZW0udGl0bGVcclxuICAgICAgfX08L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIm5vLWRhdGFcIlxyXG4gICAgKm5nSWY9XCJuZXdJdGVtcy5sZW5ndGggPT09IDBcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnbWVudS1vcGVuLW5vLWRhdGEnOiBpc09wZW5NZW51IH1cIlxyXG4gID5cclxuICAgIDx3YXJuaW5nLWljb24gY2xhc3M9XCJpY29uLWNvbG9yIGlubGluZS1ibG9jayB3LTZcIj48L3dhcm5pbmctaWNvbj5cclxuICAgIDxiIGNsYXNzPVwiY29udGVudCBibG9ja1wiPtmF2YjYsdiv24wg24zYp9mB2Kog2YbYtNivPC9iPlxyXG4gIDwvZGl2PlxyXG4gIDx1bFxyXG4gICAgY2xhc3M9XCJtZW51IGRyb3Bkb3duXCJcclxuICAgIChrZXlkb3duKT1cImhhbmRsZUtleSgkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ21lbnUtb3Blbic6IGlzT3Blbk1lbnUgfVwiXHJcbiAgPlxyXG4gICAgPGxpXHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5ld0l0ZW1zXCJcclxuICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCJcclxuICAgICAgI2ZvY3VzYWJsZVxyXG4gICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbSA9PSBzZWxlY3RlZEl0ZW0gfVwiXHJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1TZWxlY3QoaXRlbSwgdHJ1ZSlcIlxyXG4gICAgICAoa2V5cHJlc3MpPVwiZHJvcGRvd25JdGVtS2V5cHJlc3MoJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGl0ZW0udGl0bGUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuICA8ZGl2IGNsYXNzPVwibGFiZWwtZXJyb3Igb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICA8c3BhblxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgaW5wdXRGb3JtQ29udHJvbC50b3VjaGVkICAmJlxyXG4gICAgICBpbnB1dEZvcm1Db250cm9sLmVycm9ycz8uWydyZXF1aXJlZCddXCJcclxuICAgICAgPtin24zZhiDZgduM2YTYryDYrtin2YTbjCDYp9iz2Ko8L3NwYW5cclxuICAgID5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { orderBy } from 'lodash';
|
|
4
4
|
import { ACTIVE_OPTIONS, YES_NO_OPTIONS } from '../../../utils/constants';
|
|
@@ -29,13 +29,17 @@ export class CoreTableComponent {
|
|
|
29
29
|
this.columnsSchema = [];
|
|
30
30
|
this.tableData = new BehaviorSubject([]);
|
|
31
31
|
this.responsive = true;
|
|
32
|
+
this.canSelectFirstItem = false;
|
|
32
33
|
this.canFilter = false;
|
|
33
34
|
this.rowSelector = undefined;
|
|
34
35
|
this.onColumnClicked = new EventEmitter();
|
|
35
36
|
this.onColumnValueChanged = new EventEmitter();
|
|
37
|
+
this.onItemSelected = new EventEmitter();
|
|
36
38
|
this.ACTIVE_OPTIONS = ACTIVE_OPTIONS;
|
|
37
39
|
this.YES_NO_OPTIONS = YES_NO_OPTIONS;
|
|
38
40
|
this.sortedTableData = [];
|
|
41
|
+
this.index = 0;
|
|
42
|
+
this.selectedItemIndex = 0;
|
|
39
43
|
}
|
|
40
44
|
ngOnInit() {
|
|
41
45
|
this.tableData.subscribe((val) => {
|
|
@@ -52,6 +56,12 @@ export class CoreTableComponent {
|
|
|
52
56
|
});
|
|
53
57
|
}
|
|
54
58
|
}
|
|
59
|
+
ngAfterViewInit() {
|
|
60
|
+
if (this.canSelectFirstItem && this.sortedTableData.length > 0) {
|
|
61
|
+
this.selectedItem = this.sortedTableData[0];
|
|
62
|
+
this.table.nativeElement.focus();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
55
65
|
setTableFilter() {
|
|
56
66
|
this.columnsSchema.map((column) => {
|
|
57
67
|
JSON.parse(this.dbTableFilter.columnsSchema).forEach((dbColumnsSchema) => {
|
|
@@ -62,6 +72,39 @@ export class CoreTableComponent {
|
|
|
62
72
|
return column;
|
|
63
73
|
});
|
|
64
74
|
}
|
|
75
|
+
handleEnter(event) {
|
|
76
|
+
const ke = event;
|
|
77
|
+
if (document.activeElement === this.table.nativeElement) {
|
|
78
|
+
if (ke.key === 'ArrowDown') {
|
|
79
|
+
if (this.selectedItemIndex === this.sortedTableData.length - 1)
|
|
80
|
+
return;
|
|
81
|
+
if (this.selectedItemIndex < this.sortedTableData.length - 1) {
|
|
82
|
+
this.selectedItemIndex++;
|
|
83
|
+
this.selectedItem = this.sortedTableData[this.selectedItemIndex];
|
|
84
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
85
|
+
}
|
|
86
|
+
event.preventDefault();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
else if (ke.key === 'ArrowUp') {
|
|
90
|
+
if (this.selectedItemIndex === 0)
|
|
91
|
+
return;
|
|
92
|
+
if (this.selectedItemIndex > 0) {
|
|
93
|
+
this.selectedItemIndex--;
|
|
94
|
+
this.selectedItem = this.sortedTableData[this.selectedItemIndex];
|
|
95
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
96
|
+
}
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
onItemSelect(data, index, event) {
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
this.selectedItemIndex = index;
|
|
105
|
+
this.selectedItem = data;
|
|
106
|
+
this.onItemSelected.emit(this.selectedItem);
|
|
107
|
+
}
|
|
65
108
|
columnClicked(val) {
|
|
66
109
|
this.onColumnClicked.emit(val);
|
|
67
110
|
}
|
|
@@ -154,11 +197,11 @@ export class CoreTableComponent {
|
|
|
154
197
|
});
|
|
155
198
|
}
|
|
156
199
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, deps: [{ token: i1.NgxIndexedDBService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", tableData: "tableData", responsive: "responsive", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged" }, ngImport: i0, template: "<div class=\"p-2 overflow-x-auto\">\r\n <table *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\">\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr *ngFor=\"let data of sortedTableData\">\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.CoreCardComponent, selector: "core-card", inputs: ["cardClass"] }, { kind: "component", type: i4.CoreColumnDatePickerComponent, selector: "core-column-date-picker", inputs: ["canSelectToday", "defaultDate", "inputFormControl"], outputs: ["onChange"] }, { kind: "component", type: i5.CoreColumnInputComponent, selector: "core-column-input", inputs: ["showRemoveIcon", "placeholder", "value", "type", "isDatePicker", "maxLength"], outputs: ["onChange"] }, { kind: "component", type: i6.CoreColumnSelectorComponent, selector: "core-column-selector", inputs: ["items", "titleKey", "valueKey", "label", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i7.CoreTableCardManagerComponent, selector: "app-core-table-card-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: i8.CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked", "onColumnValueChanged"] }, { kind: "component", type: i9.CoreTableNoContentComponent, selector: "core-table-no-content", inputs: ["tableData", "loading"] }, { kind: "component", type: i10.SortDownIconComponent, selector: "app-sort-down-icon" }, { kind: "component", type: i11.SortSolidIconComponent, selector: "app-sort-solid-icon" }, { kind: "component", type: i12.SortUpIconComponent, selector: "app-sort-up-icon" }] }); }
|
|
200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CoreTableComponent, selector: "core-table", inputs: { key: "key", columnsSchema: "columnsSchema", tableData: "tableData", responsive: "responsive", canSelectFirstItem: "canSelectFirstItem", loading: "loading", canFilter: "canFilter", styleFilter: "styleFilter", rowSelector: "rowSelector" }, outputs: { onColumnClicked: "onColumnClicked", onColumnValueChanged: "onColumnValueChanged", onItemSelected: "onItemSelected" }, host: { listeners: { "document:keydown": "handleEnter($event)" } }, viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, index, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table:focus{outline:none}.select-item{background-color:#e3f2fd!important}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.CoreCardComponent, selector: "core-card", inputs: ["cardClass"] }, { kind: "component", type: i4.CoreColumnDatePickerComponent, selector: "core-column-date-picker", inputs: ["canSelectToday", "defaultDate", "inputFormControl"], outputs: ["onChange"] }, { kind: "component", type: i5.CoreColumnInputComponent, selector: "core-column-input", inputs: ["showRemoveIcon", "placeholder", "value", "type", "isDatePicker", "maxLength"], outputs: ["onChange"] }, { kind: "component", type: i6.CoreColumnSelectorComponent, selector: "core-column-selector", inputs: ["items", "titleKey", "valueKey", "label", "inputFormControl"], outputs: ["onItemSelected"] }, { kind: "component", type: i7.CoreTableCardManagerComponent, selector: "app-core-table-card-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked"] }, { kind: "component", type: i8.CoreTableColumnManagerComponent, selector: "app-core-table-column-manager", inputs: ["data", "column", "allTableData", "rowSelector"], outputs: ["onColumnClicked", "onColumnValueChanged"] }, { kind: "component", type: i9.CoreTableNoContentComponent, selector: "core-table-no-content", inputs: ["tableData", "loading"] }, { kind: "component", type: i10.SortDownIconComponent, selector: "app-sort-down-icon" }, { kind: "component", type: i11.SortSolidIconComponent, selector: "app-sort-solid-icon" }, { kind: "component", type: i12.SortUpIconComponent, selector: "app-sort-up-icon" }] }); }
|
|
158
201
|
}
|
|
159
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CoreTableComponent, decorators: [{
|
|
160
203
|
type: Component,
|
|
161
|
-
args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto\">\r\n <table
|
|
204
|
+
args: [{ selector: 'core-table', template: "<div class=\"p-2 overflow-x-auto\">\r\n <table\r\n #table\r\n tabindex=\"0\"\r\n *ngIf=\"!isRunningOnSmallScreen || !responsive; else smallDeviceCard\"\r\n >\r\n <tr>\r\n <th\r\n class=\"cursor-pointer text-center\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [ngStyle]=\"{ width: column?.width + 'px' }\"\r\n >\r\n <div\r\n class=\"grid\"\r\n [ngClass]=\"[canFilter ? 'grid-rows-2' : 'grid-rows-1']\"\r\n >\r\n <span\r\n class=\"p-2 relative\"\r\n (click)=\"sortByHeader(column)\"\r\n [ngStyle]=\"{\r\n minWidth:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? column.data.length * 30 + 'px'\r\n : '',\r\n display:\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'inline-block'\r\n : ''\r\n }\"\r\n >{{ column.label }}\r\n <app-sort-down-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'asc'\r\n \"\r\n ></app-sort-down-icon>\r\n <app-sort-up-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"\r\n sortDetail?.key == column.key && sortDetail?.sort === 'desc'\r\n \"\r\n ></app-sort-up-icon>\r\n <app-sort-solid-icon\r\n class=\"sort-icon w-2 h-2 inline-block absolute top-3 right-[-3px]\"\r\n *ngIf=\"sortDetail?.key !== column.key\"\r\n ></app-sort-solid-icon>\r\n </span>\r\n <core-column-date-picker\r\n *ngIf=\"canFilter && column.type == columnsTypes.SHAMSI_DATE\"\r\n [canSelectToday]=\"true\"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n >\r\n </core-column-date-picker>\r\n <core-column-input\r\n *ngIf=\"\r\n canFilter &&\r\n column.type !== columnsTypes.ACTION &&\r\n column.type !== columnsTypes.COLOR &&\r\n column.type !== columnsTypes.STATUS &&\r\n column.type !== columnsTypes.SHAMSI_DATE &&\r\n column.type !== columnsTypes.ROW_SELECTOR &&\r\n column.type !== columnsTypes.STATUS_ACTIVE &&\r\n column.type !== columnsTypes.ACTION_BUTTONS\r\n \"\r\n (onChange)=\"tableDataFiltered($event, column)\"\r\n ></core-column-input>\r\n <core-column-selector\r\n *ngIf=\"\r\n (canFilter && column.type == columnsTypes.STATUS) ||\r\n (canFilter && column.type == columnsTypes.STATUS_ACTIVE)\r\n \"\r\n [titleKey]=\"'title'\"\r\n [valueKey]=\"'value'\"\r\n [items]=\"\r\n column.type == columnsTypes.STATUS\r\n ? ACTIVE_OPTIONS\r\n : YES_NO_OPTIONS\r\n \"\r\n (onItemSelected)=\"tableDataFiltered($event, column)\"\r\n ></core-column-selector>\r\n </div>\r\n </th>\r\n </tr>\r\n <tr\r\n *ngFor=\"let data of sortedTableData; let i = index\"\r\n [ngClass]=\"{ 'select-item': data.id === selectedItem?.id }\"\r\n (click)=\"onItemSelect(data, index, $event)\"\r\n >\r\n <td\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"styleFilter ? styleFilter(data) : ''\"\r\n >\r\n <app-core-table-column-manager\r\n *ngIf=\"column.type != columnsTypes.MULTI_COLUMN; else elseBlock\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n (onColumnValueChanged)=\"columnValueChanged($event)\"\r\n [allTableData]=\"sortedTableData\"\r\n [data]=\"data\"\r\n [column]=\"column\"\r\n ></app-core-table-column-manager>\r\n <ng-template #elseBlock>\r\n <app-core-table-column-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-column-manager>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n <ng-template #smallDeviceCard>\r\n <div>\r\n <core-card\r\n *ngFor=\"let data of sortedTableData\"\r\n [cardClass]=\"'background-card m-4 p-4 relative'\"\r\n >\r\n <div\r\n class=\"leading-8\"\r\n *ngFor=\"let column of activeColumnsSchema()\"\r\n [class]=\"\r\n column.type === columnsTypes.ACTION_BUTTONS\r\n ? 'actionButtons'\r\n : column.type === columnsTypes.ROW_SELECTOR\r\n ? 'selectRow'\r\n : ''\r\n \"\r\n >\r\n <span\r\n *ngIf=\"\r\n column.type !== columnsTypes.ACTION_BUTTONS &&\r\n column.type !== columnsTypes.ROW_SELECTOR\r\n \"\r\n class=\"secondary-text-color\"\r\n >\r\n {{ column.label }} :\r\n </span>\r\n <span class=\"primary-text-color font-semibold\">\r\n <app-core-table-card-manager\r\n *ngIf=\"\r\n column.type != columnsTypes.MULTI_COLUMN;\r\n else cardManagerElseBlock\r\n \"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"column\"\r\n >\r\n </app-core-table-card-manager>\r\n\r\n <ng-template #cardManagerElseBlock>\r\n <app-core-table-card-manager\r\n *ngFor=\"let childColumn of column.columns; let i = index\"\r\n [rowSelector]=\"rowSelector\"\r\n (onColumnClicked)=\"columnClicked($event)\"\r\n [data]=\"data\"\r\n [allTableData]=\"sortedTableData\"\r\n [column]=\"childColumn\"\r\n >\r\n <span *ngIf=\"i > 0\">-</span>\r\n </app-core-table-card-manager>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </core-card>\r\n </div>\r\n </ng-template>\r\n <core-table-no-content\r\n *ngIf=\"!loading\"\r\n [tableData]=\"sortedTableData\"\r\n [loading]=\"loading\"\r\n ></core-table-no-content>\r\n</div>\r\n", styles: ["table{border-collapse:collapse;width:100%;text-align:start}table:focus{outline:none}.select-item{background-color:#e3f2fd!important}table td,table th{padding-top:12px;padding-bottom:12px;padding-inline-start:8px}table td{font-size:small;color:var(--default-table-td-text-color)}table tr:nth-child(2n){background-color:var(--default-table-tr-child-background-color)}table tr:hover{background-color:var(--default-table-tr-hover-background-color)}table th{background-color:var(--default-table-th-background-color);text-align:start;color:#1d1d1d}.actionButtons{position:absolute;bottom:0;background:var(--default-table-action-buttons-background-color);left:0;right:0;text-align:left;border-radius:.5rem;border-top-right-radius:0;border-top-left-radius:0;padding-top:4px;padding-left:16px}.selectRow{position:absolute;left:0;top:18px}.desc-sort-icon{transform:rotate(180deg)}.sort-icon{fill:var(--default-table-sort-icon-color)}.background-card{background-color:var(--default-table-background-card-color)}.secondary-text-color{color:var(--default-table-secondary-text-color)}.primary-text-color{color:var(--default-table-primary-text-color)}\n"] }]
|
|
162
205
|
}], ctorParameters: function () { return [{ type: i1.NgxIndexedDBService }]; }, propDecorators: { key: [{
|
|
163
206
|
type: Input,
|
|
164
207
|
args: [{ required: false }]
|
|
@@ -171,6 +214,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
171
214
|
}], responsive: [{
|
|
172
215
|
type: Input,
|
|
173
216
|
args: [{ required: false }]
|
|
217
|
+
}], canSelectFirstItem: [{
|
|
218
|
+
type: Input,
|
|
219
|
+
args: [{ required: false }]
|
|
174
220
|
}], loading: [{
|
|
175
221
|
type: Input,
|
|
176
222
|
args: [{ required: true }]
|
|
@@ -186,5 +232,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
186
232
|
type: Output
|
|
187
233
|
}], onColumnValueChanged: [{
|
|
188
234
|
type: Output
|
|
235
|
+
}], onItemSelected: [{
|
|
236
|
+
type: Output
|
|
237
|
+
}], table: [{
|
|
238
|
+
type: ViewChild,
|
|
239
|
+
args: ['table']
|
|
240
|
+
}], handleEnter: [{
|
|
241
|
+
type: HostListener,
|
|
242
|
+
args: ['document:keydown', ['$event']]
|
|
189
243
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlL2NvcmUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPbEQsTUFBTSxPQUFPLGtCQUFrQjtJQWtCN0IsSUFBSSxZQUFZO1FBQ2QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELFlBQW9CLFNBQThCO1FBQTlCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBdEJ2QixrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFDcEMsY0FBUyxHQUNsQyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUNMLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFOUMsY0FBUyxHQUFZLEtBQUssQ0FBQztR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QUFsQixrQkFBa0IsK1ZDckIvQiwrak5BMktBOzs0RkR0SmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVk7MEdBS00sR0FBRztzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ0MsYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRUcsVUFBVTtzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ0MsT0FBTztzQkFBakMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ3NCLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNFLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUVoQixlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBOZ3hJbmRleGVkREJTZXJ2aWNlIH0gZnJvbSAnbmd4LWluZGV4ZWQtZGInO1xyXG5pbXBvcnQgeyBvcmRlckJ5IH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQUNUSVZFX09QVElPTlMsIFlFU19OT19PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xyXG5pbXBvcnQgeyBDb2x1bW5zU2NoZW1hIH0gZnJvbSAnLi9jb3JlLXRhYmxlLnR5cGUnO1xyXG5pbXBvcnQgeyBDT0xVTU5TX1RZUEVTIH0gZnJvbSAnLi4vLi4vZmFsY29uVHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb3JlLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZVRhYmxlQ29tcG9uZW50IHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkga2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29sdW1uc1NjaGVtYTogQ29sdW1uc1NjaGVtYVtdID0gW107XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdGFibGVEYXRhOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID1cclxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgcmVzcG9uc2l2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbG9hZGluZzogYW55O1xyXG4gIEBJbnB1dCgpIGNhbkZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBzdHlsZUZpbHRlcjogKChkYXRhOiBhbnkpID0+IHN0cmluZykgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHJvd1NlbGVjdG9yOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCA9XHJcbiAgICB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBBQ1RJVkVfT1BUSU9OUyA9IEFDVElWRV9PUFRJT05TO1xyXG4gIFlFU19OT19PUFRJT05TID0gWUVTX05PX09QVElPTlM7XHJcbiAgc29ydERldGFpbDogeyBrZXk6IHN0cmluZzsgc29ydDogJ2FzYycgfCAnZGVzYycgfSB8IHVuZGVmaW5lZDtcclxuICBzb3J0ZWRUYWJsZURhdGE6IGFueVtdID0gW107XHJcbiAgZGJUYWJsZUZpbHRlcjogYW55O1xyXG4gIGdldCBjb2x1bW5zVHlwZXMoKSB7XHJcbiAgICByZXR1cm4gQ09MVU1OU19UWVBFUztcclxuICB9XHJcbiAgZ2V0IGlzUnVubmluZ09uU21hbGxTY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gVXRpbC5pc1J1bm5pbmdPblNtYWxsU2NyZWVuKCk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGJTZXJ2aWNlOiBOZ3hJbmRleGVkREJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGVEYXRhLnN1YnNjcmliZSgodmFsOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSB2YWw7XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmtleSkge1xyXG4gICAgICB0aGlzLmRiU2VydmljZVxyXG4gICAgICAgIC5nZXRCeUluZGV4KCd0YWJsZUZpbHRlcicsICdrZXknLCB0aGlzLmtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGJUYWJsZUZpbHRlciA9IGRhdGE7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYlRhYmxlRmlsdGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVGaWx0ZXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0VGFibGVGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLmNvbHVtbnNTY2hlbWEubWFwKChjb2x1bW46IGFueSkgPT4ge1xyXG4gICAgICBKU09OLnBhcnNlKHRoaXMuZGJUYWJsZUZpbHRlci5jb2x1bW5zU2NoZW1hKS5mb3JFYWNoKFxyXG4gICAgICAgIChkYkNvbHVtbnNTY2hlbWE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRiQ29sdW1uc1NjaGVtYS5rZXkgPT09IGNvbHVtbi5rZXkpIHtcclxuICAgICAgICAgICAgY29sdW1uLmFjdGl2ZSA9IGRiQ29sdW1uc1NjaGVtYS5hY3RpdmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gY29sdW1uO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb2x1bW5DbGlja2VkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29sdW1uQ2xpY2tlZC5lbWl0KHZhbCk7XHJcbiAgfVxyXG4gIGNvbHVtblZhbHVlQ2hhbmdlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5vbkNvbHVtblZhbHVlQ2hhbmdlZC5lbWl0KHZhbCk7XHJcbiAgfVxyXG4gIHNvcnRCeUhlYWRlcihjb2x1bW46IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc29ydERldGFpbCAmJiB0aGlzLnNvcnREZXRhaWwua2V5ID09IGNvbHVtbi5rZXkpIHtcclxuICAgICAgaWYgKHRoaXMuc29ydERldGFpbC5zb3J0ID09ICdkZXNjJykge1xyXG4gICAgICAgIHRoaXMuc29ydERldGFpbCA9IHsga2V5OiBjb2x1bW4ua2V5LCBzb3J0OiAnYXNjJyB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc29ydERldGFpbCA9IHsga2V5OiBjb2x1bW4ua2V5LCBzb3J0OiAnZGVzYycgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0RGV0YWlsID0geyBrZXk6IGNvbHVtbi5rZXksIHNvcnQ6ICdhc2MnIH07XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuVEVYVCB8fFxyXG4gICAgICBjb2x1bW4udHlwZSA9PSBDT0xVTU5TX1RZUEVTLk5VTUJFUlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gb3JkZXJCeShcclxuICAgICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSxcclxuICAgICAgICBbY29sdW1uLmtleV0sXHJcbiAgICAgICAgW3RoaXMuc29ydERldGFpbC5zb3J0XVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChjb2x1bW4udHlwZSA9PSBDT0xVTU5TX1RZUEVTLlNFTEVDVE9SKSB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gb3JkZXJCeShcclxuICAgICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSxcclxuICAgICAgICBbKGMpID0+IGNbY29sdW1uLmtleV1bY29sdW1uLmRhdGEua2V5XV0sXHJcbiAgICAgICAgW3RoaXMuc29ydERldGFpbC5zb3J0XVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChjb2x1bW4udHlwZSA9PSBDT0xVTU5TX1RZUEVTLlNIQU1TSV9EQVRFKSB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gb3JkZXJCeShcclxuICAgICAgICB0aGlzLnNvcnRlZFRhYmxlRGF0YSxcclxuICAgICAgICBbKGMpID0+IG5ldyBEYXRlKGNbY29sdW1uLmtleV0pLmdldFRpbWUoKV0sXHJcbiAgICAgICAgW3RoaXMuc29ydERldGFpbC5zb3J0XVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlQ29sdW1uc1NjaGVtYSgpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zU2NoZW1hLmZpbHRlcihcclxuICAgICAgKGNvbHVtbjogYW55KSA9PiBjb2x1bW4uYWN0aXZlID09PSB1bmRlZmluZWQgfHwgY29sdW1uLmFjdGl2ZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHRhYmxlRGF0YUZpbHRlcmVkKHRleHQ6IFN0cmluZyB8IGJvb2xlYW4sIGNvbHVtbjogYW55KSB7XHJcbiAgICB0aGlzLmNvbHVtbnNTY2hlbWEubWFwKChjb2x1bW5TY2hlbWE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoY29sdW1uU2NoZW1hLmtleSA9PT0gY29sdW1uLmtleSkge1xyXG4gICAgICAgIGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPSB0ZXh0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBjb2x1bW5TY2hlbWE7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFibGVEYXRhLnN1YnNjcmliZSgodGFibGVEYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gdGFibGVEYXRhLmZpbHRlcigoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zU2NoZW1hLmZvckVhY2goKGNvbHVtblNjaGVtYTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1IgfHxcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLkFDVElPTiB8fFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuQUNUSU9OX0JVVFRPTlMgfHxcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgICAgICFyZXN1bHRcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlNFTEVDVE9SKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGRhdGFbY29sdW1uU2NoZW1hLmtleV1bY29sdW1uU2NoZW1hLmRhdGEua2V5XVxyXG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgLmluY2x1ZGVzKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlNIQU1TSV9EQVRFKSB7XHJcbiAgICAgICAgICAgIGlmIChjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID09PSAnJykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gZGF0YVtjb2x1bW5TY2hlbWEua2V5XVxyXG4gICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyhcclxuICAgICAgICAgICAgICAgICAgVXRpbC5zaGFtc2lUb01pbGFkaShcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ1lZWVktTU0tREQnXHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTikge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBjb2x1bW5TY2hlbWEuY29sdW1ucy5zb21lKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gZGF0YVtpdGVtLmtleV1baXRlbS5kYXRhLmtleV1cclxuICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlcj8udG9TdHJpbmcoKT8udG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuU1RBVFVTKSB7XHJcbiAgICAgICAgICAgIGlmIChjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID09PSAnJykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gZGF0YVtjb2x1bW5TY2hlbWEua2V5XSA9PT0gY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gZGF0YVtjb2x1bW5TY2hlbWEua2V5XVxyXG4gICAgICAgICAgICAgIC50b1N0cmluZygpXHJcbiAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAuaW5jbHVkZXMoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlcj8udG9TdHJpbmcoKT8udG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInAtMiBvdmVyZmxvdy14LWF1dG9cIj5cclxuICA8dGFibGUgKm5nSWY9XCIhaXNSdW5uaW5nT25TbWFsbFNjcmVlbiB8fCAhcmVzcG9uc2l2ZTsgZWxzZSBzbWFsbERldmljZUNhcmRcIj5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbj8ud2lkdGggKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltjYW5GaWx0ZXIgPyAnZ3JpZC1yb3dzLTInIDogJ2dyaWQtcm93cy0xJ11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0yIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeUhlYWRlcihjb2x1bW4pXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICAgICAgICA/IGNvbHVtbi5kYXRhLmxlbmd0aCAqIDMwICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgICAgID8gJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8YXBwLXNvcnQtZG93bi1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2FzYydcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9hcHAtc29ydC1kb3duLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtc29ydC11cC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2Rlc2MnXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtdXAtaWNvbj5cclxuICAgICAgICAgICAgPGFwcC1zb3J0LXNvbGlkLWljb25cclxuICAgICAgICAgICAgICBjbGFzcz1cInNvcnQtaWNvbiB3LTIgaC0yIGlubGluZS1ibG9jayBhYnNvbHV0ZSB0b3AtMyByaWdodC1bLTNweF1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic29ydERldGFpbD8ua2V5ICE9PSBjb2x1bW4ua2V5XCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtc29saWQtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1kYXRlLXBpY2tlclxyXG4gICAgICAgICAgICAqbmdJZj1cImNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEVcIlxyXG4gICAgICAgICAgICBbY2FuU2VsZWN0VG9kYXldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJ0YWJsZURhdGFGaWx0ZXJlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jb3JlLWNvbHVtbi1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1pbnB1dFxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNhbkZpbHRlciAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5DT0xPUiAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuU1RBVFVTICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TVEFUVVNfQUNUSVZFICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25DaGFuZ2UpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLWlucHV0PlxyXG4gICAgICAgICAgPGNvcmUtY29sdW1uLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgKGNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU1RBVFVTKSB8fFxyXG4gICAgICAgICAgICAgIChjYW5GaWx0ZXIgJiYgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU1xyXG4gICAgICAgICAgICAgICAgPyBBQ1RJVkVfT1BUSU9OU1xyXG4gICAgICAgICAgICAgICAgOiBZRVNfTk9fT1BUSU9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25JdGVtU2VsZWN0ZWQpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLXNlbGVjdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGFcIj5cclxuICAgICAgPHRkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtjbGFzc109XCJzdHlsZUZpbHRlciA/IHN0eWxlRmlsdGVyKGRhdGEpIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyXHJcbiAgICAgICAgICAqbmdJZj1cImNvbHVtbi50eXBlICE9IGNvbHVtbnNUeXBlcy5NVUxUSV9DT0xVTU47IGVsc2UgZWxzZUJsb2NrXCJcclxuICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25Db2x1bW5WYWx1ZUNoYW5nZWQpPVwiY29sdW1uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgPjwvYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XHJcbiAgICAgICAgICA8YXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkQ29sdW1uIG9mIGNvbHVtbi5jb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpID4gMFwiPi08L3NwYW4+XHJcbiAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNvbHVtbi1tYW5hZ2VyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGFibGU+XHJcbiAgPG5nLXRlbXBsYXRlICNzbWFsbERldmljZUNhcmQ+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8Y29yZS1jYXJkXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICBbY2FyZENsYXNzXT1cIidiYWNrZ3JvdW5kLWNhcmQgbS00IHAtNCByZWxhdGl2ZSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLThcIlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cIlxyXG4gICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgPyAnYWN0aW9uQnV0dG9ucydcclxuICAgICAgICAgICAgICA6IGNvbHVtbi50eXBlID09PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SXHJcbiAgICAgICAgICAgICAgPyAnc2VsZWN0Um93J1xyXG4gICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZWNvbmRhcnktdGV4dC1jb2xvclwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fSA6XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktdGV4dC1jb2xvciBmb250LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT0gY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTjtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2FyZE1hbmFnZXJFbHNlQmxvY2tcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgIFthbGxUYWJsZURhdGFdPVwic29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9hcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmRNYW5hZ2VyRWxzZUJsb2NrPlxyXG4gICAgICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jYXJkLW1hbmFnZXJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZENvbHVtbiBvZiBjb2x1bW4uY29sdW1uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ29sdW1uQ2xpY2tlZCk9XCJjb2x1bW5DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNoaWxkQ29sdW1uXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImkgPiAwXCI+LTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlcj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9jb3JlLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxjb3JlLXRhYmxlLW5vLWNvbnRlbnRcclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gICAgW3RhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgPjwvY29yZS10YWJsZS1uby1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbGliL3NyYy9saWIvY29yZS10YWJsZS9jb3JlLXRhYmxlL2NvcmUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLWxpYi9zcmMvbGliL2NvcmUtdGFibGUvY29yZS10YWJsZS9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBd0I3QixJQUFJLFlBQVk7UUFDZCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsWUFBb0IsU0FBOEI7UUFBOUIsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUE1QnZCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUNwQyxjQUFTLEdBQ2xDLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ0wsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQix1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QUUsS0FBSyxFQUFFO2dCQUNDLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNzQixXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDRSxXQUFXO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFFaEIsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDYSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBc0RsQixXQUFXO3NCQURWLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE5neEluZGV4ZWREQlNlcnZpY2UgfSBmcm9tICduZ3gtaW5kZXhlZC1kYic7XHJcbmltcG9ydCB7IGZpbmQsIG9yZGVyQnkgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBQ1RJVkVfT1BUSU9OUywgWUVTX05PX09QVElPTlMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XHJcbmltcG9ydCB7IENvbHVtbnNTY2hlbWEgfSBmcm9tICcuL2NvcmUtdGFibGUudHlwZSc7XHJcbmltcG9ydCB7IENPTFVNTlNfVFlQRVMgfSBmcm9tICcuLi8uLi9mYWxjb25UeXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlVGFibGVDb21wb25lbnQge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb2x1bW5zU2NoZW1hOiBDb2x1bW5zU2NoZW1hW10gPSBbXTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJsZURhdGE6IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4gPVxyXG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSByZXNwb25zaXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogZmFsc2UgfSkgY2FuU2VsZWN0Rmlyc3RJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbG9hZGluZzogYW55O1xyXG4gIEBJbnB1dCgpIGNhbkZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiBmYWxzZSB9KSBzdHlsZUZpbHRlcjogKChkYXRhOiBhbnkpID0+IHN0cmluZykgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHJvd1NlbGVjdG9yOiBCZWhhdmlvclN1YmplY3Q8YW55PiB8IHVuZGVmaW5lZCA9XHJcbiAgICB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ29sdW1uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25JdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJykgdGFibGUhOiBFbGVtZW50UmVmPEhUTUxUYWJsZUVsZW1lbnQ+O1xyXG4gIEFDVElWRV9PUFRJT05TID0gQUNUSVZFX09QVElPTlM7XHJcbiAgWUVTX05PX09QVElPTlMgPSBZRVNfTk9fT1BUSU9OUztcclxuICBzb3J0RGV0YWlsOiB7IGtleTogc3RyaW5nOyBzb3J0OiAnYXNjJyB8ICdkZXNjJyB9IHwgdW5kZWZpbmVkO1xyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIHNvcnRlZFRhYmxlRGF0YTogYW55W10gPSBbXTtcclxuICBkYlRhYmxlRmlsdGVyOiBhbnk7XHJcbiAgaW5kZXggPSAwO1xyXG4gIHNlbGVjdGVkSXRlbUluZGV4ID0gMDtcclxuICBnZXQgY29sdW1uc1R5cGVzKCkge1xyXG4gICAgcmV0dXJuIENPTFVNTlNfVFlQRVM7XHJcbiAgfVxyXG4gIGdldCBpc1J1bm5pbmdPblNtYWxsU2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIFV0aWwuaXNSdW5uaW5nT25TbWFsbFNjcmVlbigpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRiU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5zdWJzY3JpYmUoKHZhbDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhID0gdmFsO1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5kYlNlcnZpY2VcclxuICAgICAgICAuZ2V0QnlJbmRleCgndGFibGVGaWx0ZXInLCAna2V5JywgdGhpcy5rZXkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRiVGFibGVGaWx0ZXIgPSBkYXRhO1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGJUYWJsZUZpbHRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlRmlsdGVyKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jYW5TZWxlY3RGaXJzdEl0ZW0gJiYgdGhpcy5zb3J0ZWRUYWJsZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhWzBdO1xyXG4gICAgICB0aGlzLnRhYmxlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYmxlRmlsdGVyKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zU2NoZW1hLm1hcCgoY29sdW1uOiBhbnkpID0+IHtcclxuICAgICAgSlNPTi5wYXJzZSh0aGlzLmRiVGFibGVGaWx0ZXIuY29sdW1uc1NjaGVtYSkuZm9yRWFjaChcclxuICAgICAgICAoZGJDb2x1bW5zU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYkNvbHVtbnNTY2hlbWEua2V5ID09PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgICAgICAgIGNvbHVtbi5hY3RpdmUgPSBkYkNvbHVtbnNTY2hlbWEuYWN0aXZlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGNvbHVtbjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBrZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XHJcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy50YWJsZS5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGlmIChrZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPT09IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA8IHRoaXMuc29ydGVkVGFibGVEYXRhLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXgrKztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5zb3J0ZWRUYWJsZURhdGFbdGhpcy5zZWxlY3RlZEl0ZW1JbmRleF07XHJcbiAgICAgICAgICB0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIGlmIChrZS5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbUluZGV4ID09PSAwKSByZXR1cm47XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtSW5kZXggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUluZGV4LS07XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuc29ydGVkVGFibGVEYXRhW3RoaXMuc2VsZWN0ZWRJdGVtSW5kZXhdO1xyXG4gICAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb25JdGVtU2VsZWN0KGRhdGE6IGFueSwgaW5kZXg6IG51bWJlciwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1JbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBkYXRhO1xyXG4gICAgdGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkNsaWNrZWQodmFsOiBhbnkpIHtcclxuICAgIHRoaXMub25Db2x1bW5DbGlja2VkLmVtaXQodmFsKTtcclxuICB9XHJcbiAgY29sdW1uVmFsdWVDaGFuZ2VkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLm9uQ29sdW1uVmFsdWVDaGFuZ2VkLmVtaXQodmFsKTtcclxuICB9XHJcbiAgc29ydEJ5SGVhZGVyKGNvbHVtbjogYW55KSB7XHJcbiAgICBpZiAodGhpcy5zb3J0RGV0YWlsICYmIHRoaXMuc29ydERldGFpbC5rZXkgPT0gY29sdW1uLmtleSkge1xyXG4gICAgICBpZiAodGhpcy5zb3J0RGV0YWlsLnNvcnQgPT0gJ2Rlc2MnKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0RGV0YWlsID0geyBrZXk6IGNvbHVtbi5rZXksIHNvcnQ6ICdhc2MnIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zb3J0RGV0YWlsID0geyBrZXk6IGNvbHVtbi5rZXksIHNvcnQ6ICdkZXNjJyB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNvcnREZXRhaWwgPSB7IGtleTogY29sdW1uLmtleSwgc29ydDogJ2FzYycgfTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY29sdW1uLnR5cGUgPT0gQ09MVU1OU19UWVBFUy5URVhUIHx8XHJcbiAgICAgIGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuTlVNQkVSXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSBvcmRlckJ5KFxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLFxyXG4gICAgICAgIFtjb2x1bW4ua2V5XSxcclxuICAgICAgICBbdGhpcy5zb3J0RGV0YWlsLnNvcnRdXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuU0VMRUNUT1IpIHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSBvcmRlckJ5KFxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLFxyXG4gICAgICAgIFsoYykgPT4gY1tjb2x1bW4ua2V5XVtjb2x1bW4uZGF0YS5rZXldXSxcclxuICAgICAgICBbdGhpcy5zb3J0RGV0YWlsLnNvcnRdXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbHVtbi50eXBlID09IENPTFVNTlNfVFlQRVMuU0hBTVNJX0RBVEUpIHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSBvcmRlckJ5KFxyXG4gICAgICAgIHRoaXMuc29ydGVkVGFibGVEYXRhLFxyXG4gICAgICAgIFsoYykgPT4gbmV3IERhdGUoY1tjb2x1bW4ua2V5XSkuZ2V0VGltZSgpXSxcclxuICAgICAgICBbdGhpcy5zb3J0RGV0YWlsLnNvcnRdXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmVDb2x1bW5zU2NoZW1hKCk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnNTY2hlbWEuZmlsdGVyKFxyXG4gICAgICAoY29sdW1uOiBhbnkpID0+IGNvbHVtbi5hY3RpdmUgPT09IHVuZGVmaW5lZCB8fCBjb2x1bW4uYWN0aXZlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdGFibGVEYXRhRmlsdGVyZWQodGV4dDogU3RyaW5nIHwgYm9vbGVhbiwgY29sdW1uOiBhbnkpIHtcclxuICAgIHRoaXMuY29sdW1uc1NjaGVtYS5tYXAoKGNvbHVtblNjaGVtYTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjb2x1bW5TY2hlbWEua2V5ID09PSBjb2x1bW4ua2V5KSB7XHJcbiAgICAgICAgY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlciA9IHRleHQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbHVtblNjaGVtYTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy50YWJsZURhdGEuc3Vic2NyaWJlKCh0YWJsZURhdGEpID0+IHtcclxuICAgICAgdGhpcy5zb3J0ZWRUYWJsZURhdGEgPSB0YWJsZURhdGEuZmlsdGVyKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNvbHVtbnNTY2hlbWEuZm9yRWFjaCgoY29sdW1uU2NoZW1hOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgY29sdW1uU2NoZW1hLnR5cGUgPT09IHRoaXMuY29sdW1uc1R5cGVzLlJPV19TRUxFQ1RPUiB8fFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuQUNUSU9OIHx8XHJcbiAgICAgICAgICAgIGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OUyB8fFxyXG4gICAgICAgICAgICBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgICAgICAgIXJlc3VsdFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuU0VMRUNUT1IpIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gZGF0YVtjb2x1bW5TY2hlbWEua2V5XVtjb2x1bW5TY2hlbWEuZGF0YS5rZXldXHJcbiAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAuaW5jbHVkZXMoY29sdW1uU2NoZW1hLmNvbHVtbkZpbHRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEUpIHtcclxuICAgICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldXHJcbiAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgICAgICBVdGlsLnNoYW1zaVRvTWlsYWRpKFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICAgICAgICAnWVlZWS1NTS1ERCdcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW5TY2hlbWEudHlwZSA9PT0gdGhpcy5jb2x1bW5zVHlwZXMuTVVMVElfQ09MVU1OKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGNvbHVtblNjaGVtYS5jb2x1bW5zLnNvbWUoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBkYXRhW2l0ZW0ua2V5XVtpdGVtLmRhdGEua2V5XVxyXG4gICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyPy50b1N0cmluZygpPy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbHVtblNjaGVtYS50eXBlID09PSB0aGlzLmNvbHVtbnNUeXBlcy5TVEFUVVMpIHtcclxuICAgICAgICAgICAgaWYgKGNvbHVtblNjaGVtYS5jb2x1bW5GaWx0ZXIgPT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldID09PSBjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBkYXRhW2NvbHVtblNjaGVtYS5rZXldXHJcbiAgICAgICAgICAgICAgLnRvU3RyaW5nKClcclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5pbmNsdWRlcyhjb2x1bW5TY2hlbWEuY29sdW1uRmlsdGVyPy50b1N0cmluZygpPy50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicC0yIG92ZXJmbG93LXgtYXV0b1wiPlxyXG4gIDx0YWJsZVxyXG4gICAgI3RhYmxlXHJcbiAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgKm5nSWY9XCIhaXNSdW5uaW5nT25TbWFsbFNjcmVlbiB8fCAhcmVzcG9uc2l2ZTsgZWxzZSBzbWFsbERldmljZUNhcmRcIlxyXG4gID5cclxuICAgIDx0cj5cclxuICAgICAgPHRoXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBhY3RpdmVDb2x1bW5zU2NoZW1hKClcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGNvbHVtbj8ud2lkdGggKyAncHgnIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJncmlkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltjYW5GaWx0ZXIgPyAnZ3JpZC1yb3dzLTInIDogJ2dyaWQtcm93cy0xJ11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicC0yIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeUhlYWRlcihjb2x1bW4pXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICAgICAgICA/IGNvbHVtbi5kYXRhLmxlbmd0aCAqIDMwICsgJ3B4J1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSA9PT0gY29sdW1uc1R5cGVzLkFDVElPTl9CVVRUT05TXHJcbiAgICAgICAgICAgICAgICAgID8gJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fVxyXG4gICAgICAgICAgICA8YXBwLXNvcnQtZG93bi1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2FzYydcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+PC9hcHAtc29ydC1kb3duLWljb24+XHJcbiAgICAgICAgICAgIDxhcHAtc29ydC11cC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWljb24gdy0yIGgtMiBpbmxpbmUtYmxvY2sgYWJzb2x1dGUgdG9wLTMgcmlnaHQtWy0zcHhdXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgc29ydERldGFpbD8ua2V5ID09IGNvbHVtbi5rZXkgJiYgc29ydERldGFpbD8uc29ydCA9PT0gJ2Rlc2MnXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtdXAtaWNvbj5cclxuICAgICAgICAgICAgPGFwcC1zb3J0LXNvbGlkLWljb25cclxuICAgICAgICAgICAgICBjbGFzcz1cInNvcnQtaWNvbiB3LTIgaC0yIGlubGluZS1ibG9jayBhYnNvbHV0ZSB0b3AtMyByaWdodC1bLTNweF1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwic29ydERldGFpbD8ua2V5ICE9PSBjb2x1bW4ua2V5XCJcclxuICAgICAgICAgICAgPjwvYXBwLXNvcnQtc29saWQtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1kYXRlLXBpY2tlclxyXG4gICAgICAgICAgICAqbmdJZj1cImNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU0hBTVNJX0RBVEVcIlxyXG4gICAgICAgICAgICBbY2FuU2VsZWN0VG9kYXldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJ0YWJsZURhdGFGaWx0ZXJlZCgkZXZlbnQsIGNvbHVtbilcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jb3JlLWNvbHVtbi1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgIDxjb3JlLWNvbHVtbi1pbnB1dFxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNhbkZpbHRlciAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5DT0xPUiAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuU1RBVFVTICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TSEFNU0lfREFURSAmJlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuUk9XX1NFTEVDVE9SICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5TVEFUVVNfQUNUSVZFICYmXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgIT09IGNvbHVtbnNUeXBlcy5BQ1RJT05fQlVUVE9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25DaGFuZ2UpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLWlucHV0PlxyXG4gICAgICAgICAgPGNvcmUtY29sdW1uLXNlbGVjdG9yXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgKGNhbkZpbHRlciAmJiBjb2x1bW4udHlwZSA9PSBjb2x1bW5zVHlwZXMuU1RBVFVTKSB8fFxyXG4gICAgICAgICAgICAgIChjYW5GaWx0ZXIgJiYgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU19BQ1RJVkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt0aXRsZUtleV09XCIndGl0bGUnXCJcclxuICAgICAgICAgICAgW3ZhbHVlS2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwiXHJcbiAgICAgICAgICAgICAgY29sdW1uLnR5cGUgPT0gY29sdW1uc1R5cGVzLlNUQVRVU1xyXG4gICAgICAgICAgICAgICAgPyBBQ1RJVkVfT1BUSU9OU1xyXG4gICAgICAgICAgICAgICAgOiBZRVNfTk9fT1BUSU9OU1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25JdGVtU2VsZWN0ZWQpPVwidGFibGVEYXRhRmlsdGVyZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICAgID48L2NvcmUtY29sdW1uLXNlbGVjdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICAgIDx0clxyXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3QtaXRlbSc6IGRhdGEuaWQgPT09IHNlbGVjdGVkSXRlbT8uaWQgfVwiXHJcbiAgICAgIChjbGljayk9XCJvbkl0ZW1TZWxlY3QoZGF0YSwgaW5kZXgsICRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8dGRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKVwiXHJcbiAgICAgICAgW2NsYXNzXT1cInN0eWxlRmlsdGVyID8gc3R5bGVGaWx0ZXIoZGF0YSkgOiAnJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8YXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXJcclxuICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnR5cGUgIT0gY29sdW1uc1R5cGVzLk1VTFRJX0NPTFVNTjsgZWxzZSBlbHNlQmxvY2tcIlxyXG4gICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgIChvbkNvbHVtbkNsaWNrZWQpPVwiY29sdW1uQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChvbkNvbHVtblZhbHVlQ2hhbmdlZCk9XCJjb2x1bW5WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICA+PC9hcHAtY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgICAgIDxhcHAtY29yZS10YWJsZS1jb2x1bW4tbWFuYWdlclxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hpbGRDb2x1bW4gb2YgY29sdW1uLmNvbHVtbnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBbcm93U2VsZWN0b3JdPVwicm93U2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICBbYWxsVGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiY2hpbGRDb2x1bW5cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImkgPiAwXCI+LTwvc3Bhbj5cclxuICAgICAgICAgIDwvYXBwLWNvcmUtdGFibGUtY29sdW1uLW1hbmFnZXI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90YWJsZT5cclxuICA8bmctdGVtcGxhdGUgI3NtYWxsRGV2aWNlQ2FyZD5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxjb3JlLWNhcmRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgIFtjYXJkQ2xhc3NdPVwiJ2JhY2tncm91bmQtY2FyZCBtLTQgcC00IHJlbGF0aXZlJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImxlYWRpbmctOFwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGFjdGl2ZUNvbHVtbnNTY2hlbWEoKVwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwiXHJcbiAgICAgICAgICAgIGNvbHVtbi50eXBlID09PSBjb2x1bW5zVHlwZXMuQUNUSU9OX0JVVFRPTlNcclxuICAgICAgICAgICAgICA/ICdhY3Rpb25CdXR0b25zJ1xyXG4gICAgICAgICAgICAgIDogY29sdW1uLnR5cGUgPT09IGNvbHVtbnNUeXBlcy5ST1dfU0VMRUNUT1JcclxuICAgICAgICAgICAgICA/ICdzZWxlY3RSb3cnXHJcbiAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGNvbHVtbi50eXBlICE9PSBjb2x1bW5zVHlwZXMuQUNUSU9OX0JVVFRPTlMgJiZcclxuICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPT0gY29sdW1uc1R5cGVzLlJPV19TRUxFQ1RPUlxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInNlY29uZGFyeS10ZXh0LWNvbG9yXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgY29sdW1uLmxhYmVsIH19IDpcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbWFyeS10ZXh0LWNvbG9yIGZvbnQtc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlclxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICBjb2x1bW4udHlwZSAhPSBjb2x1bW5zVHlwZXMuTVVMVElfQ09MVU1OO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBjYXJkTWFuYWdlckVsc2VCbG9ja1xyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW3Jvd1NlbGVjdG9yXT1cInJvd1NlbGVjdG9yXCJcclxuICAgICAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgW2FsbFRhYmxlRGF0YV09XCJzb3J0ZWRUYWJsZURhdGFcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2FwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FyZE1hbmFnZXJFbHNlQmxvY2s+XHJcbiAgICAgICAgICAgICAgPGFwcC1jb3JlLXRhYmxlLWNhcmQtbWFuYWdlclxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkQ29sdW1uIG9mIGNvbHVtbi5jb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtyb3dTZWxlY3Rvcl09XCJyb3dTZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgICAob25Db2x1bW5DbGlja2VkKT1cImNvbHVtbkNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICAgICAgICAgIFthbGxUYWJsZURhdGFdPVwic29ydGVkVGFibGVEYXRhXCJcclxuICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY2hpbGRDb2x1bW5cIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaSA+IDBcIj4tPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYXBwLWNvcmUtdGFibGUtY2FyZC1tYW5hZ2VyPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvcmUtY2FyZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPGNvcmUtdGFibGUtbm8tY29udGVudFxyXG4gICAgKm5nSWY9XCIhbG9hZGluZ1wiXHJcbiAgICBbdGFibGVEYXRhXT1cInNvcnRlZFRhYmxlRGF0YVwiXHJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICA+PC9jb3JlLXRhYmxlLW5vLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
|