imm-element-ui 0.4.2 → 0.4.4
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/form/form-field/label.directive.mjs +2 -3
- package/esm2022/lib/form/form-type/inputtext.type.mjs +8 -1
- package/esm2022/lib/form/form-type/textarea.type.mjs +8 -1
- package/esm2022/lib/grid/actions/actions.component.mjs +2 -3
- package/esm2022/lib/grid/grid/grid.component.mjs +8 -9
- package/esm2022/lib/grid/grid-utils.mjs +10 -1
- package/esm2022/lib/href-btn-list/href-btn-list.component.mjs +5 -4
- package/esm2022/lib/page-form/page-form.component.mjs +3 -3
- package/fesm2022/imm-element-ui.mjs +38 -17
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/lib/form/form-type/inputtext.type.d.ts +2 -0
- package/lib/form/form-type/textarea.type.d.ts +2 -0
- package/lib/grid/grid/grid.component.d.ts +3 -1
- package/package.json +1 -1
- package/src/lib/href-btn-list/href-btn-list.component.scss +6 -4
- package/src/lib/page-form/page-form.component.scss +13 -3
|
@@ -43,9 +43,10 @@ export class HrefBtnListComponent {
|
|
|
43
43
|
const maxWidth = containerWidth - 80;
|
|
44
44
|
for (let i = 0; i < this.allChildWd.length; i++) {
|
|
45
45
|
childTotalWd += this.allChildWd[i];
|
|
46
|
+
console.log('childTotalWd', childTotalWd, maxWidth);
|
|
46
47
|
if (childTotalWd > maxWidth) {
|
|
47
48
|
console.log('----i', i);
|
|
48
|
-
this.fillIndex.set(i
|
|
49
|
+
this.fillIndex.set(i);
|
|
49
50
|
this.showMore = true;
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
@@ -77,11 +78,11 @@ export class HrefBtnListComponent {
|
|
|
77
78
|
this.hrefClick.emit(btn);
|
|
78
79
|
}
|
|
79
80
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefBtnListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HrefBtnListComponent, isStandalone: true, selector: "href-btn-list", inputs: { hrefs: { classPropertyName: "hrefs", publicName: "hrefs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hrefClick: "hrefClick" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "op", first: true, predicate: ["moreOp"], descendants: true }, { propertyName: "btnItem", predicate: ["btnItem"], descendants: true }], ngImport: i0, template: "<div class=\"hidden max-w-full md:flex\" #container style=\"max-width: 100%;\">\r\n @for(item of fillList();track item){\r\n <button \r\n #btnItem\r\n [attr.data-type]=\"'href'\"\r\n [class.first-btn]=\"$first\"\r\n [class.last-btn]=\"$last && !showMore\"\r\n class=\"flex px-[10px] h-[33px] btn items-center min-w-[85px] shrink-0 box-border not-first\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 txt-color\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n @if(showMore){\r\n <button\r\n [attr.data-type]=\"'more'\" \r\n class=\"flex px-[10px] h-[33px] flex-grow-1 lg:flex-grow-0 btn items-center w-auto gap-[4px] last-btn ml-[-1px]\" \r\n (click)=\"toggleMore($event)\">\r\n <div class=\"text-[14px] whitespace-nowrap\">\u66F4\u591A</div>\r\n <i class=\"pi text-[14px] mr-[4px]\" [class]=\"iconClass()\"></i>\r\n </button>\r\n <p-tieredmenu #moreOp [model]=\"moreBtns()\" [popup]=\"true\" [style]=\"{position:'absolute'}\" (onHide)=\"hide()\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <button \r\n class=\"flex py-[8px] pl-[10px] h-[33px] items-center min-w-[85px] shrink-0\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 \">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n</div>\r\n<button class=\"md:hidden flex h-[33px] items-center justify-center btn p-[10px]\"\r\n enterActiveClass=\"animate-scalein\" \r\n enterFromClass=\"hidden\" \r\n leaveActiveClass=\"animate-fadeout\" \r\n leaveToClass=\"hidden\"\r\n pStyleClass=\"@next\" \r\n [hideOnOutsideClick]=\"true\">\r\n <i class=\"pi pi-bolt text-14px\"></i>\r\n</button>\r\n<div class=\"hidden md:hidden absolute z-[9999] panel-box\">\r\n <div class=\"flex flex-wrap\">\r\n @for(item of hrefs();track item){\r\n <button \r\n class=\"flex w-[50%] px-[10px] h-[33px] panel-btn items-center min-w-[85px] shrink-1 rounded-none icon-color
|
|
81
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: HrefBtnListComponent, isStandalone: true, selector: "href-btn-list", inputs: { hrefs: { classPropertyName: "hrefs", publicName: "hrefs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hrefClick: "hrefClick" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "op", first: true, predicate: ["moreOp"], descendants: true }, { propertyName: "btnItem", predicate: ["btnItem"], descendants: true }], ngImport: i0, template: "<div class=\"hidden max-w-full md:flex\" #container style=\"max-width: 100%;\">\r\n @for(item of fillList();track item){\r\n <button \r\n #btnItem\r\n [attr.data-type]=\"'href'\"\r\n [class.first-btn]=\"$first\"\r\n [class.last-btn]=\"$last && !showMore\"\r\n class=\"flex px-[10px] h-[33px] btn items-center min-w-[85px] shrink-0 box-border not-first\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 txt-color\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n @if(showMore){\r\n <button\r\n [attr.data-type]=\"'more'\" \r\n class=\"flex px-[10px] h-[33px] flex-grow-1 lg:flex-grow-0 btn items-center w-auto gap-[4px] last-btn ml-[-1px]\" \r\n (click)=\"toggleMore($event)\">\r\n <div class=\"text-[14px] whitespace-nowrap\">\u66F4\u591A</div>\r\n <i class=\"pi text-[14px] mr-[4px]\" [class]=\"iconClass()\"></i>\r\n </button>\r\n <p-tieredmenu #moreOp [model]=\"moreBtns()\" [popup]=\"true\" [style]=\"{position:'absolute'}\" (onHide)=\"hide()\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <button \r\n class=\"flex py-[8px] pl-[10px] h-[33px] items-center min-w-[85px] shrink-0\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 \">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n</div>\r\n<button class=\"md:hidden flex h-[33px] items-center justify-center btn p-[10px]\"\r\n enterActiveClass=\"animate-scalein\" \r\n enterFromClass=\"hidden\" \r\n leaveActiveClass=\"animate-fadeout\" \r\n leaveToClass=\"hidden\"\r\n pStyleClass=\"@next\" \r\n [hideOnOutsideClick]=\"true\">\r\n <i class=\"pi pi-bolt text-14px\"></i>\r\n</button>\r\n<div class=\"hidden md:hidden absolute z-[9999] panel-box\">\r\n <div class=\"flex flex-wrap\">\r\n @for(item of hrefs();track item){\r\n <button \r\n class=\"flex w-[50%] px-[10px] h-[33px] panel-btn items-center min-w-[85px] shrink-1 rounded-none icon-color\" \r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 \">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 txt-color\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".btn{border:1px solid rgb(216,218,221);color:var(--ag-text-color);z-index:0}.btn:active{border-color:var(--p-button-primary-active-border-color);z-index:1}.not-first{margin-left:-1px}.bg{background-color:#e6f2f3}.panel-box{width:calc(100vw - 32px);left:16px;margin-top:6px;background:#fff;box-shadow:#00000026 0 8px 16px}.panel-box .panel-btn{border:1px solid rgb(216,218,221);border-top:none;border-left:none;color:var(--ag-text-color)}.panel-box .panel-btn:hover{background-color:var(--p-button-outlined-primary-hover-background)}.txt-color{color:var(--p-primary-color)}.btn:hover{background-color:var(--p-button-outlined-primary-hover-background)}.first-btn{border-radius:var(--p-border-radius-md) 0 0 var(--p-border-radius-md);margin-left:0!important}.last-btn{border-radius:0 var(--p-border-radius-md) var(--p-border-radius-md) 0}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: TieredMenu, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "breakpoint", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i1.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }] }); }
|
|
81
82
|
}
|
|
82
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefBtnListComponent, decorators: [{
|
|
83
84
|
type: Component,
|
|
84
|
-
args: [{ selector: 'href-btn-list', standalone: true, imports: [TranslatePipe, TieredMenu, StyleClassModule], template: "<div class=\"hidden max-w-full md:flex\" #container style=\"max-width: 100%;\">\r\n @for(item of fillList();track item){\r\n <button \r\n #btnItem\r\n [attr.data-type]=\"'href'\"\r\n [class.first-btn]=\"$first\"\r\n [class.last-btn]=\"$last && !showMore\"\r\n class=\"flex px-[10px] h-[33px] btn items-center min-w-[85px] shrink-0 box-border not-first\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 txt-color\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n @if(showMore){\r\n <button\r\n [attr.data-type]=\"'more'\" \r\n class=\"flex px-[10px] h-[33px] flex-grow-1 lg:flex-grow-0 btn items-center w-auto gap-[4px] last-btn ml-[-1px]\" \r\n (click)=\"toggleMore($event)\">\r\n <div class=\"text-[14px] whitespace-nowrap\">\u66F4\u591A</div>\r\n <i class=\"pi text-[14px] mr-[4px]\" [class]=\"iconClass()\"></i>\r\n </button>\r\n <p-tieredmenu #moreOp [model]=\"moreBtns()\" [popup]=\"true\" [style]=\"{position:'absolute'}\" (onHide)=\"hide()\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <button \r\n class=\"flex py-[8px] pl-[10px] h-[33px] items-center min-w-[85px] shrink-0\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 \">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n</div>\r\n<button class=\"md:hidden flex h-[33px] items-center justify-center btn p-[10px]\"\r\n enterActiveClass=\"animate-scalein\" \r\n enterFromClass=\"hidden\" \r\n leaveActiveClass=\"animate-fadeout\" \r\n leaveToClass=\"hidden\"\r\n pStyleClass=\"@next\" \r\n [hideOnOutsideClick]=\"true\">\r\n <i class=\"pi pi-bolt text-14px\"></i>\r\n</button>\r\n<div class=\"hidden md:hidden absolute z-[9999] panel-box\">\r\n <div class=\"flex flex-wrap\">\r\n @for(item of hrefs();track item){\r\n <button \r\n class=\"flex w-[50%] px-[10px] h-[33px] panel-btn items-center min-w-[85px] shrink-1 rounded-none icon-color
|
|
85
|
+
args: [{ selector: 'href-btn-list', standalone: true, imports: [TranslatePipe, TieredMenu, StyleClassModule], template: "<div class=\"hidden max-w-full md:flex\" #container style=\"max-width: 100%;\">\r\n @for(item of fillList();track item){\r\n <button \r\n #btnItem\r\n [attr.data-type]=\"'href'\"\r\n [class.first-btn]=\"$first\"\r\n [class.last-btn]=\"$last && !showMore\"\r\n class=\"flex px-[10px] h-[33px] btn items-center min-w-[85px] shrink-0 box-border not-first\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 txt-color\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n @if(showMore){\r\n <button\r\n [attr.data-type]=\"'more'\" \r\n class=\"flex px-[10px] h-[33px] flex-grow-1 lg:flex-grow-0 btn items-center w-auto gap-[4px] last-btn ml-[-1px]\" \r\n (click)=\"toggleMore($event)\">\r\n <div class=\"text-[14px] whitespace-nowrap\">\u66F4\u591A</div>\r\n <i class=\"pi text-[14px] mr-[4px]\" [class]=\"iconClass()\"></i>\r\n </button>\r\n <p-tieredmenu #moreOp [model]=\"moreBtns()\" [popup]=\"true\" [style]=\"{position:'absolute'}\" (onHide)=\"hide()\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <button \r\n class=\"flex py-[8px] pl-[10px] h-[33px] items-center min-w-[85px] shrink-0\"\r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 \">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n</div>\r\n<button class=\"md:hidden flex h-[33px] items-center justify-center btn p-[10px]\"\r\n enterActiveClass=\"animate-scalein\" \r\n enterFromClass=\"hidden\" \r\n leaveActiveClass=\"animate-fadeout\" \r\n leaveToClass=\"hidden\"\r\n pStyleClass=\"@next\" \r\n [hideOnOutsideClick]=\"true\">\r\n <i class=\"pi pi-bolt text-14px\"></i>\r\n</button>\r\n<div class=\"hidden md:hidden absolute z-[9999] panel-box\">\r\n <div class=\"flex flex-wrap\">\r\n @for(item of hrefs();track item){\r\n <button \r\n class=\"flex w-[50%] px-[10px] h-[33px] panel-btn items-center min-w-[85px] shrink-1 rounded-none icon-color\" \r\n (click)=\"btnClick(item)\">\r\n <i class=\"pi text-[22px] mr-[4px] txt-color\" [class]=\"item.icon\"></i>\r\n <div class=\"flex flex-col text-[12px] \" style=\"line-height: 1;font-weight: 400;\">\r\n <div class=\"ml-[4px] text-left max-w-full\">\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 \">\r\n {{item.i18nKey ? (item.i18nKey | translate) : item.label}}\r\n </span>\r\n <span class=\"block whitespace-nowrap overflow-hidden text-ellipsis m-0 p-0 txt-color\">\r\n <!-- @if(item.hasOwnProperty('value')){ -->\r\n <span>{{item.value || 0}}</span>\r\n <!-- } -->\r\n </span>\r\n </div>\r\n </div>\r\n </button>\r\n }\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".btn{border:1px solid rgb(216,218,221);color:var(--ag-text-color);z-index:0}.btn:active{border-color:var(--p-button-primary-active-border-color);z-index:1}.not-first{margin-left:-1px}.bg{background-color:#e6f2f3}.panel-box{width:calc(100vw - 32px);left:16px;margin-top:6px;background:#fff;box-shadow:#00000026 0 8px 16px}.panel-box .panel-btn{border:1px solid rgb(216,218,221);border-top:none;border-left:none;color:var(--ag-text-color)}.panel-box .panel-btn:hover{background-color:var(--p-button-outlined-primary-hover-background)}.txt-color{color:var(--p-primary-color)}.btn:hover{background-color:var(--p-button-outlined-primary-hover-background)}.first-btn{border-radius:var(--p-border-radius-md) 0 0 var(--p-border-radius-md);margin-left:0!important}.last-btn{border-radius:0 var(--p-border-radius-md) var(--p-border-radius-md) 0}\n"] }]
|
|
85
86
|
}], ctorParameters: () => [], propDecorators: { containerRef: [{
|
|
86
87
|
type: ViewChild,
|
|
87
88
|
args: ['container', { static: false }]
|
|
@@ -95,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
96
|
type: HostListener,
|
|
96
97
|
args: ['window:resize', ['$event']]
|
|
97
98
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1idG4tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2hyZWYtYnRuLWxpc3QvaHJlZi1idG4tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2hyZWYtYnRuLWxpc3QvaHJlZi1idG4tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBYyxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFBOzs7QUFRbkQsTUFBTSxPQUFPLG9CQUFvQjtJQXFCL0I7UUFqQkEsVUFBSyxHQUFHLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQTtRQUN4QixhQUFRLEdBQVEsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFLLEVBQUMsS0FBUyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0UsQ0FBQyxDQUFDLENBQUE7UUFDRixhQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFD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ZWQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgc2lnbmFsLCBSZW5kZXJlcjIsIGluamVjdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEhvc3RMaXN0ZW5lciwgaW5wdXQsIG91dHB1dCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQW1Db21wb25lbnQgfSBmcm9tICcuLi9hbS9hbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAncHJpbWVuZy9wb3BvdmVyJztcclxuaW1wb3J0IHsgVGllcmVkTWVudSB9IGZyb20gJ3ByaW1lbmcvdGllcmVkbWVudSdcclxuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaHJlZi1idG4tbGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSxUaWVyZWRNZW51LFN0eWxlQ2xhc3NNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ocmVmLWJ0bi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaHJlZi1idG4tbGlzdC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEhyZWZCdG5MaXN0Q29tcG9uZW50e1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2J0bkl0ZW0nKSBidG5JdGVtITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PlxyXG4gIEBWaWV3Q2hpbGQoJ21vcmVPcCcpIG9wITogUG9wb3ZlcjtcclxuICBocmVmcyA9IGlucHV0PGFueVtdPihbXSlcclxuICBmaWxsTGlzdCA6YW55ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHJlZnMoKS5maWx0ZXIoKHY6YW55LGluZGV4OmFueSkgPT4gaW5kZXggPCB0aGlzLmZpbGxJbmRleCgpKVxyXG4gIH0pXHJcbiAgbW9yZUljb24gPSBzaWduYWwodHJ1ZSlcclxuICBpY29uQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb3JlSWNvbigpID8gJ3BpLXNvcnQtZG93bi1maWxsJyA6ICdwaS1zb3J0LXVwLWZpbGwnIFxyXG4gIH0pXHJcbiAgbW9yZUJ0bnM6YW55ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuZmlsbEluZGV4LCcsIHRoaXMuZmlsbEluZGV4KCkpXHJcbiAgICByZXR1cm4gdGhpcy5ocmVmcygpLmZpbHRlcigodjphbnksaW5kZXg6YW55KSA9PiBpbmRleCA+PSB0aGlzLmZpbGxJbmRleCgpKVxyXG4gIH0pXHJcbiAgc2hvd01vcmUgPSBmYWxzZVxyXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMilcclxuICBmaWxsSW5kZXggPSBzaWduYWw8bnVtYmVyPig5OSlcclxuICBhbGxDaGlsZFdkIDphbnlbXT1bXVxyXG4gIGhyZWZDbGljayA9IG91dHB1dCgpXHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmKHRoaXMuaHJlZnMoKS5sZW5ndGggPjApe1xyXG4gICAgICAgIHRoaXMuaW5pdFdpZHRoKClcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKSBcclxuICAgICAgfVxyXG4gICAgfSx7YWxsb3dTaWduYWxXcml0ZXM6dHJ1ZX0pXHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdFdpZHRoKClcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpIFxyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpXHJcbiAgfVxyXG5cclxuICBjaGVja092ZXJmbG93KCl7XHJcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICBsZXQgY2hpbGRUb3RhbFdkID0gMDtcclxuICAgIGNvbnN0IG1heFdpZHRoID0gY29udGFpbmVyV2lkdGggLSA4MFxyXG4gICAgZm9yKGxldCBpID0wO2k8IHRoaXMuYWxsQ2hpbGRXZC5sZW5ndGg7aSsrKXsgXHJcbiAgICAgIGNoaWxkVG90YWxXZCArPSB0aGlzLmFsbENoaWxkV2RbaV1cclxuICAgICAgaWYoY2hpbGRUb3RhbFdkID4gbWF4V2lkdGgpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0taScsaSlcclxuICAgICAgICB0aGlzLmZpbGxJbmRleC5zZXQoaSAtMSlcclxuICAgICAgICB0aGlzLnNob3dNb3JlID0gdHJ1ZVxyXG4gICAgICAgIHJldHVybiBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmZpbGxJbmRleC5zZXQoaSsxKVxyXG4gICAgICAgIHRoaXMuc2hvd01vcmUgPSBmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0V2lkdGgoKXtcclxuICAgIHRoaXMuYWxsQ2hpbGRXZCA9IFtdXHJcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KS5jaGlsZHJlblswXS5jaGlsZHJlbjtcclxuICAgIGZvcihsZXQgaSA9MDtpPCBjaGlsZHJlbi5sZW5ndGg7aSsrKXtcclxuICAgICAgbGV0IGVsIDphbnk9IGNoaWxkcmVuW2ldXHJcbiAgICAgIGlmKGVsICYmIGVsLmdldEF0dHJpYnV0ZSgnZGF0YS10eXBlJyk9PSdocmVmJyl7XHJcbiAgICAgICAgdGhpcy5hbGxDaGlsZFdkLnB1c2goZWwub2Zmc2V0V2lkdGgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmFsbENoaWxkV2QnLHRoaXMuYWxsQ2hpbGRXZClcclxuICB9XHJcbiAgdG9nZ2xlTW9yZShldmVudDphbnkpe1xyXG4gICAgdGhpcy5tb3JlSWNvbi5zZXQoZmFsc2UpXHJcbiAgICB0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcbiAgfVxyXG5cclxuICBoaWRlKCl7XHJcbiAgICB0aGlzLm1vcmVJY29uLnNldCh0cnVlKVxyXG4gIH1cclxuXHJcbiAgYnRuQ2xpY2soYnRuOmFueSl7XHJcbiAgICB0aGlzLmhyZWZDbGljay5lbWl0KGJ0bilcclxuICB9XHJcbiAgLy8gaXRlbUhpZGRlbihpbmRleDpudW1iZXIpe1xyXG4gIC8vICAgcmV0dXJuIGluZGV4ID49IHRoaXMuZmlsbEluZGV4ID8gJ2hpZGRlbic6J2Jsb2NrJ1xyXG4gIC8vIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaGlkZGVuIG1heC13LWZ1bGwgbWQ6ZmxleFwiICNjb250YWluZXIgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMCU7XCI+XHJcbiAgQGZvcihpdGVtIG9mIGZpbGxMaXN0KCk7dHJhY2sgaXRlbSl7XHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICAjYnRuSXRlbVxyXG4gICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiJ2hyZWYnXCJcclxuICAgICAgW2NsYXNzLmZpcnN0LWJ0bl09XCIkZmlyc3RcIlxyXG4gICAgICBbY2xhc3MubGFzdC1idG5dPVwiJGxhc3QgJiYgIXNob3dNb3JlXCJcclxuICAgICAgY2xhc3M9XCJmbGV4IHB4LVsxMHB4XSBoLVszM3B4XSBidG4gaXRlbXMtY2VudGVyIG1pbi13LVs4NXB4XSBzaHJpbmstMCBib3gtYm9yZGVyIG5vdC1maXJzdFwiXHJcbiAgICAgIChjbGljayk9XCJidG5DbGljayhpdGVtKVwiPlxyXG4gICAgICA8aSBjbGFzcz1cInBpIHRleHQtWzIycHhdIG1yLVs0cHhdIHR4dC1jb2xvclwiIFtjbGFzc109XCJpdGVtLmljb25cIj48L2k+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHRleHQtWzEycHhdIFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDE7Zm9udC13ZWlnaHQ6IDQwMDtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWwtWzRweF0gdGV4dC1sZWZ0IG1heC13LWZ1bGxcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbS0wIHAtMFwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0uaTE4bktleSA/IChpdGVtLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogaXRlbS5sYWJlbH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrIHdoaXRlc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIG0tMCBwLTAgdHh0LWNvbG9yXCI+XHJcbiAgICAgICAgICAgIDwhLS0gQGlmKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpeyAtLT5cclxuICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnZhbHVlIHx8IDB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSB9IC0tPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYoc2hvd01vcmUpe1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiJ21vcmUnXCIgXHJcbiAgICAgIGNsYXNzPVwiZmxleCBweC1bMTBweF0gaC1bMzNweF0gZmxleC1ncm93LTEgbGc6ZmxleC1ncm93LTAgYnRuIGl0ZW1zLWNlbnRlciB3LWF1dG8gZ2FwLVs0cHhdIGxhc3QtYnRuIG1sLVstMXB4XVwiIFxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTW9yZSgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVsxNHB4XSB3aGl0ZXNwYWNlLW5vd3JhcFwiPuabtOWkmjwvZGl2PlxyXG4gICAgICA8aSBjbGFzcz1cInBpIHRleHQtWzE0cHhdIG1yLVs0cHhdXCIgW2NsYXNzXT1cImljb25DbGFzcygpXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8cC10aWVyZWRtZW51ICNtb3JlT3AgW21vZGVsXT1cIm1vcmVCdG5zKClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIiAob25IaWRlKT1cImhpZGUoKVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBweS1bOHB4XSBwbC1bMTBweF0gaC1bMzNweF0gaXRlbXMtY2VudGVyIG1pbi13LVs4NXB4XSBzaHJpbmstMFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiYnRuQ2xpY2soaXRlbSlcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwicGkgdGV4dC1bMjJweF0gbXItWzRweF0gdHh0LWNvbG9yXCIgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHRleHQtWzEycHhdIFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDE7Zm9udC13ZWlnaHQ6IDQwMDtcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLVs0cHhdIHRleHQtbGVmdCBtYXgtdy1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9jayB3aGl0ZXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyBtLTAgcC0wIFwiPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtLmkxOG5LZXkgPyAoaXRlbS5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGl0ZW0ubGFiZWx9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrIHdoaXRlc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIG0tMCBwLTBcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQGlmKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpeyAtLT5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLnZhbHVlIHx8IDB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS0gfSAtLT5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtdGllcmVkbWVudT5cclxuICB9XHJcbjwvZGl2PlxyXG48YnV0dG9uIGNsYXNzPVwibWQ6aGlkZGVuIGZsZXggaC1bMzNweF0gaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJ0biBwLVsxMHB4XVwiXHJcbiAgZW50ZXJBY3RpdmVDbGFzcz1cImFuaW1hdGUtc2NhbGVpblwiIFxyXG4gIGVudGVyRnJvbUNsYXNzPVwiaGlkZGVuXCIgXHJcbiAgbGVhdmVBY3RpdmVDbGFzcz1cImFuaW1hdGUtZmFkZW91dFwiIFxyXG4gIGxlYXZlVG9DbGFzcz1cImhpZGRlblwiXHJcbiAgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiIFxyXG4gIFtoaWRlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gIDxpIGNsYXNzPVwicGkgcGktYm9sdCB0ZXh0LTE0cHhcIj48L2k+XHJcbjwvYnV0dG9uPlxyXG48ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmhpZGRlbiBhYnNvbHV0ZSB6LVs5OTk5XSBwYW5lbC1ib3hcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXBcIj5cclxuICAgIEBmb3IoaXRlbSBvZiBocmVmcygpO3RyYWNrIGl0ZW0pe1xyXG4gICAgICA8YnV0dG9uIFxyXG4gICAgICAgIGNsYXNzPVwiZmxleCB3LVs1MCVdIHB4LVsxMHB4XSBoLVszM3B4XSBwYW5lbC1idG4gaXRlbXMtY2VudGVyIG1pbi13LVs4NXB4XSBzaHJpbmstMSByb3VuZGVkLW5vbmUgaWNvbi1jb2xvciBob3ZlcjpiZy1bI2U3ZTllZF1cIiBcclxuICAgICAgICAoY2xpY2spPVwiYnRuQ2xpY2soaXRlbSlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInBpIHRleHQtWzIycHhdIG1yLVs0cHhdIHR4dC1jb2xvclwiIFtjbGFzc109XCJpdGVtLmljb25cIj48L2k+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdGV4dC1bMTJweF0gXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTtmb250LXdlaWdodDogNDAwO1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLVs0cHhdIHRleHQtbGVmdCBtYXgtdy1mdWxsXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbS0wIHAtMCBcIj5cclxuICAgICAgICAgICAgICB7e2l0ZW0uaTE4bktleSA/IChpdGVtLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogaXRlbS5sYWJlbH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9jayB3aGl0ZXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyBtLTAgcC0wIHR4dC1jb2xvclwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gQGlmKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpeyAtLT5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7aXRlbS52YWx1ZSB8fCAwfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPCEtLSB9IC0tPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG4iXX0=
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi1idG4tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2hyZWYtYnRuLWxpc3QvaHJlZi1idG4tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2hyZWYtYnRuLWxpc3QvaHJlZi1idG4tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBYyxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFhLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQy9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFBOzs7QUFRbkQsTUFBTSxPQUFPLG9CQUFvQjtJQXFCL0I7UUFqQkEsVUFBSyxHQUFHLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQTtRQUN4QixhQUFRLEdBQVEsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFLLEVBQUMsS0FBUyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0UsQ0FBQyxDQUFDLENBQUE7UUFDRixhQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3ZCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFD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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgc2lnbmFsLCBSZW5kZXJlcjIsIGluamVjdCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEhvc3RMaXN0ZW5lciwgaW5wdXQsIG91dHB1dCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQW1Db21wb25lbnQgfSBmcm9tICcuLi9hbS9hbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAncHJpbWVuZy9wb3BvdmVyJztcclxuaW1wb3J0IHsgVGllcmVkTWVudSB9IGZyb20gJ3ByaW1lbmcvdGllcmVkbWVudSdcclxuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaHJlZi1idG4tbGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSxUaWVyZWRNZW51LFN0eWxlQ2xhc3NNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ocmVmLWJ0bi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaHJlZi1idG4tbGlzdC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEhyZWZCdG5MaXN0Q29tcG9uZW50e1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2J0bkl0ZW0nKSBidG5JdGVtITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PlxyXG4gIEBWaWV3Q2hpbGQoJ21vcmVPcCcpIG9wITogUG9wb3ZlcjtcclxuICBocmVmcyA9IGlucHV0PGFueVtdPihbXSlcclxuICBmaWxsTGlzdCA6YW55ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHJlZnMoKS5maWx0ZXIoKHY6YW55LGluZGV4OmFueSkgPT4gaW5kZXggPCB0aGlzLmZpbGxJbmRleCgpKVxyXG4gIH0pXHJcbiAgbW9yZUljb24gPSBzaWduYWwodHJ1ZSlcclxuICBpY29uQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb3JlSWNvbigpID8gJ3BpLXNvcnQtZG93bi1maWxsJyA6ICdwaS1zb3J0LXVwLWZpbGwnIFxyXG4gIH0pXHJcbiAgbW9yZUJ0bnM6YW55ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuZmlsbEluZGV4LCcsIHRoaXMuZmlsbEluZGV4KCkpXHJcbiAgICByZXR1cm4gdGhpcy5ocmVmcygpLmZpbHRlcigodjphbnksaW5kZXg6YW55KSA9PiBpbmRleCA+PSB0aGlzLmZpbGxJbmRleCgpKVxyXG4gIH0pXHJcbiAgc2hvd01vcmUgPSBmYWxzZVxyXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMilcclxuICBmaWxsSW5kZXggPSBzaWduYWw8bnVtYmVyPig5OSlcclxuICBhbGxDaGlsZFdkIDphbnlbXT1bXVxyXG4gIGhyZWZDbGljayA9IG91dHB1dCgpXHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmKHRoaXMuaHJlZnMoKS5sZW5ndGggPjApe1xyXG4gICAgICAgIHRoaXMuaW5pdFdpZHRoKClcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3coKSBcclxuICAgICAgfVxyXG4gICAgfSx7YWxsb3dTaWduYWxXcml0ZXM6dHJ1ZX0pXHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdFdpZHRoKClcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpIFxyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2hlY2tPdmVyZmxvdygpXHJcbiAgfVxyXG5cclxuICBjaGVja092ZXJmbG93KCl7XHJcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICBsZXQgY2hpbGRUb3RhbFdkID0gMDtcclxuICAgIGNvbnN0IG1heFdpZHRoID0gY29udGFpbmVyV2lkdGggLSA4MFxyXG4gICAgZm9yKGxldCBpID0wO2k8IHRoaXMuYWxsQ2hpbGRXZC5sZW5ndGg7aSsrKXsgXHJcbiAgICAgIGNoaWxkVG90YWxXZCArPSB0aGlzLmFsbENoaWxkV2RbaV1cclxuICAgICAgY29uc29sZS5sb2coJ2NoaWxkVG90YWxXZCcsY2hpbGRUb3RhbFdkLG1heFdpZHRoKVxyXG4gICAgICBpZihjaGlsZFRvdGFsV2QgPiBtYXhXaWR0aCl7XHJcbiAgICAgICAgY29uc29sZS5sb2coJy0tLS1pJyxpKVxyXG4gICAgICAgIHRoaXMuZmlsbEluZGV4LnNldChpKVxyXG4gICAgICAgIHRoaXMuc2hvd01vcmUgPSB0cnVlXHJcbiAgICAgICAgcmV0dXJuIFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsbEluZGV4LnNldChpKzEpXHJcbiAgICAgICAgdGhpcy5zaG93TW9yZSA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXRXaWR0aCgpe1xyXG4gICAgdGhpcy5hbGxDaGlsZFdkID0gW11cclxuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLmNoaWxkcmVuWzBdLmNoaWxkcmVuO1xyXG4gICAgZm9yKGxldCBpID0wO2k8IGNoaWxkcmVuLmxlbmd0aDtpKyspe1xyXG4gICAgICBsZXQgZWwgOmFueT0gY2hpbGRyZW5baV1cclxuICAgICAgaWYoZWwgJiYgZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXR5cGUnKT09J2hyZWYnKXtcclxuICAgICAgICB0aGlzLmFsbENoaWxkV2QucHVzaChlbC5vZmZzZXRXaWR0aClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuYWxsQ2hpbGRXZCcsdGhpcy5hbGxDaGlsZFdkKVxyXG4gIH1cclxuICB0b2dnbGVNb3JlKGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLm1vcmVJY29uLnNldChmYWxzZSlcclxuICAgIHRoaXMub3AudG9nZ2xlKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhpZGUoKXtcclxuICAgIHRoaXMubW9yZUljb24uc2V0KHRydWUpXHJcbiAgfVxyXG5cclxuICBidG5DbGljayhidG46YW55KXtcclxuICAgIHRoaXMuaHJlZkNsaWNrLmVtaXQoYnRuKVxyXG4gIH1cclxuICAvLyBpdGVtSGlkZGVuKGluZGV4Om51bWJlcil7XHJcbiAgLy8gICByZXR1cm4gaW5kZXggPj0gdGhpcy5maWxsSW5kZXggPyAnaGlkZGVuJzonYmxvY2snXHJcbiAgLy8gfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoaWRkZW4gbWF4LXctZnVsbCBtZDpmbGV4XCIgI2NvbnRhaW5lciBzdHlsZT1cIm1heC13aWR0aDogMTAwJTtcIj5cclxuICBAZm9yKGl0ZW0gb2YgZmlsbExpc3QoKTt0cmFjayBpdGVtKXtcclxuICAgIDxidXR0b24gXHJcbiAgICAgICNidG5JdGVtXHJcbiAgICAgIFthdHRyLmRhdGEtdHlwZV09XCInaHJlZidcIlxyXG4gICAgICBbY2xhc3MuZmlyc3QtYnRuXT1cIiRmaXJzdFwiXHJcbiAgICAgIFtjbGFzcy5sYXN0LWJ0bl09XCIkbGFzdCAmJiAhc2hvd01vcmVcIlxyXG4gICAgICBjbGFzcz1cImZsZXggcHgtWzEwcHhdIGgtWzMzcHhdIGJ0biBpdGVtcy1jZW50ZXIgbWluLXctWzg1cHhdIHNocmluay0wIGJveC1ib3JkZXIgbm90LWZpcnN0XCJcclxuICAgICAgKGNsaWNrKT1cImJ0bkNsaWNrKGl0ZW0pXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwicGkgdGV4dC1bMjJweF0gbXItWzRweF0gdHh0LWNvbG9yXCIgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdGV4dC1bMTJweF0gXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTtmb250LXdlaWdodDogNDAwO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC1bNHB4XSB0ZXh0LWxlZnQgbWF4LXctZnVsbFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJibG9jayB3aGl0ZXNwYWNlLW5vd3JhcCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyBtLTAgcC0wXCI+XHJcbiAgICAgICAgICAgIHt7aXRlbS5pMThuS2V5ID8gKGl0ZW0uaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBpdGVtLmxhYmVsfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbS0wIHAtMCB0eHQtY29sb3JcIj5cclxuICAgICAgICAgICAgPCEtLSBAaWYoaXRlbS5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSl7IC0tPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2l0ZW0udmFsdWUgfHwgMH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8IS0tIH0gLS0+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZihzaG93TW9yZSl7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIFthdHRyLmRhdGEtdHlwZV09XCInbW9yZSdcIiBcclxuICAgICAgY2xhc3M9XCJmbGV4IHB4LVsxMHB4XSBoLVszM3B4XSBmbGV4LWdyb3ctMSBsZzpmbGV4LWdyb3ctMCBidG4gaXRlbXMtY2VudGVyIHctYXV0byBnYXAtWzRweF0gbGFzdC1idG4gbWwtWy0xcHhdXCIgXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVNb3JlKCRldmVudClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtWzE0cHhdIHdoaXRlc3BhY2Utbm93cmFwXCI+5pu05aSaPC9kaXY+XHJcbiAgICAgIDxpIGNsYXNzPVwicGkgdGV4dC1bMTRweF0gbXItWzRweF1cIiBbY2xhc3NdPVwiaWNvbkNsYXNzKClcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxwLXRpZXJlZG1lbnUgI21vcmVPcCBbbW9kZWxdPVwibW9yZUJ0bnMoKVwiIFtwb3B1cF09XCJ0cnVlXCIgW3N0eWxlXT1cIntwb3NpdGlvbjonYWJzb2x1dGUnfVwiIChvbkhpZGUpPVwiaGlkZSgpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbSBsZXQtaXRlbSBsZXQtaGFzU3VibWVudT1cImhhc1N1Ym1lbnVcIj5cclxuICAgICAgICA8YnV0dG9uIFxyXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IHB5LVs4cHhdIHBsLVsxMHB4XSBoLVszM3B4XSBpdGVtcy1jZW50ZXIgbWluLXctWzg1cHhdIHNocmluay0wXCJcclxuICAgICAgICAgIChjbGljayk9XCJidG5DbGljayhpdGVtKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJwaSB0ZXh0LVsyMnB4XSBtci1bNHB4XSB0eHQtY29sb3JcIiBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdGV4dC1bMTJweF0gXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMTtmb250LXdlaWdodDogNDAwO1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtWzRweF0gdGV4dC1sZWZ0IG1heC13LWZ1bGxcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrIHdoaXRlc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIG0tMCBwLTAgXCI+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW0uaTE4bktleSA/IChpdGVtLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogaXRlbS5sYWJlbH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbS0wIHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBAaWYoaXRlbS5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSl7IC0tPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0udmFsdWUgfHwgMH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPCEtLSB9IC0tPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC10aWVyZWRtZW51PlxyXG4gIH1cclxuPC9kaXY+XHJcbjxidXR0b24gY2xhc3M9XCJtZDpoaWRkZW4gZmxleCBoLVszM3B4XSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYnRuIHAtWzEwcHhdXCJcclxuICBlbnRlckFjdGl2ZUNsYXNzPVwiYW5pbWF0ZS1zY2FsZWluXCIgXHJcbiAgZW50ZXJGcm9tQ2xhc3M9XCJoaWRkZW5cIiBcclxuICBsZWF2ZUFjdGl2ZUNsYXNzPVwiYW5pbWF0ZS1mYWRlb3V0XCIgXHJcbiAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuXCJcclxuICBwU3R5bGVDbGFzcz1cIkBuZXh0XCIgXHJcbiAgW2hpZGVPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbiAgPGkgY2xhc3M9XCJwaSBwaS1ib2x0IHRleHQtMTRweFwiPjwvaT5cclxuPC9idXR0b24+XHJcbjxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6aGlkZGVuIGFic29sdXRlIHotWzk5OTldIHBhbmVsLWJveFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcFwiPlxyXG4gICAgQGZvcihpdGVtIG9mIGhyZWZzKCk7dHJhY2sgaXRlbSl7XHJcbiAgICAgIDxidXR0b24gXHJcbiAgICAgICAgY2xhc3M9XCJmbGV4IHctWzUwJV0gcHgtWzEwcHhdIGgtWzMzcHhdIHBhbmVsLWJ0biBpdGVtcy1jZW50ZXIgbWluLXctWzg1cHhdIHNocmluay0xIHJvdW5kZWQtbm9uZSBpY29uLWNvbG9yXCIgXHJcbiAgICAgICAgKGNsaWNrKT1cImJ0bkNsaWNrKGl0ZW0pXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJwaSB0ZXh0LVsyMnB4XSBtci1bNHB4XSB0eHQtY29sb3JcIiBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHRleHQtWzEycHhdIFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDE7Zm9udC13ZWlnaHQ6IDQwMDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1bNHB4XSB0ZXh0LWxlZnQgbWF4LXctZnVsbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJsb2NrIHdoaXRlc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzIG0tMCBwLTAgXCI+XHJcbiAgICAgICAgICAgICAge3tpdGVtLmkxOG5LZXkgPyAoaXRlbS5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGl0ZW0ubGFiZWx9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtZWxsaXBzaXMgbS0wIHAtMCB0eHQtY29sb3JcIj5cclxuICAgICAgICAgICAgICA8IS0tIEBpZihpdGVtLmhhc093blByb3BlcnR5KCd2YWx1ZScpKXsgLS0+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2l0ZW0udmFsdWUgfHwgMH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwhLS0gfSAtLT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -214,7 +214,7 @@ export class PageFormComponent extends AmComponent {
|
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex flex-wrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<div class=\"md:basis-1/3 order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t\t[data]=\"getPrm.data??{}\"\r\n\t\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: PageFormComponent, isStandalone: true, selector: "app-page-form", inputs: { addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, gridList: { classPropertyName: "gridList", publicName: "gridList", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, getPrmInput: { classPropertyName: "getPrmInput", publicName: "getPrmInput", isSignal: true, isRequired: true, transformFunction: null }, statusSteps: { classPropertyName: "statusSteps", publicName: "statusSteps", isSignal: true, isRequired: false, transformFunction: null }, statusKey: { classPropertyName: "statusKey", publicName: "statusKey", isSignal: true, isRequired: false, transformFunction: null }, hrefBtnList: { classPropertyName: "hrefBtnList", publicName: "hrefBtnList", isSignal: true, isRequired: false, transformFunction: null }, setTitle: { classPropertyName: "setTitle", publicName: "setTitle", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, modelLog: { classPropertyName: "modelLog", publicName: "modelLog", isSignal: true, isRequired: false, transformFunction: null }, formDisabled: { classPropertyName: "formDisabled", publicName: "formDisabled", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null } }, providers: [], viewQueries: [{ propertyName: "cForm", first: true, predicate: ["cForm"], descendants: true }, { propertyName: "customGrid", first: true, predicate: ["customGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<div class=\"md:basis-1/3 order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\r\n\t\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\r\n\t\t\t<href-btn-list\r\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\r\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\r\n\t\t\t<!-- @if (id) {\r\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\r\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\r\n\t\t\t\t\t\tclass=\"mr-[6px]\"\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\r\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\r\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t} -->\r\n\t\t</div>\r\n\t\t<div class=\"basis-1/3 order-3\"></div>\r\n\t</div>\r\n\t<div class=\"flex\">\r\n\t\t<div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\r\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\r\n\t\t\t\t\t\t[styleClass]=\"\r\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data) ? 'form-action hidden' : 'form-action block'\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\r\n\t\t\t\t<custom-steps\r\n\t\t\t\t\t#customSteps\r\n\t\t\t\t\tclass=\"w-full\"\r\n\t\t\t\t\t[steps]=\"statusSteps()\"\r\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\r\n\t\t\t\t</custom-steps>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\r\n\t\t<div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\r\n\t\t\t\t<div class=\"p-2 flex-1\">\r\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\r\n\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t#cForm\r\n\t\t\t\t\t\t\t[options]=\"formOptions\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\r\n\t\t\t\t\t</form>\r\n\t\t\t\t</div>\r\n\t\t\t\t@if (gridList() && gridList().length > 1) {\r\n\t\t\t\t\t<div class=\"relative mb-2\">\r\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\r\n\t\t\t\t\t\t\t<p-tablist>\r\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\r\n\t\t\t\t\t\t\t\t\t<p-tab [value]=\"i\">\r\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\r\n\t\t\t\t\t\t\t\t\t</p-tab>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</p-tablist>\r\n\t\t\t\t\t\t</p-tabs>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\r\n\t\t\t\t\t<custom-grid\r\n\t\t\t\t\t\t#customGrid\r\n\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\r\n\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\r\n\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\r\n\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\r\n\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\r\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t\t[selectData]=\"grid.selectData\">\r\n\t\t\t\t\t</custom-grid>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormComponent, selector: "custom-form", inputs: ["options", "model", "upsert"] }, { kind: "component", type: LogComponent, selector: "custom-log", inputs: ["logs", "id"] }, { kind: "component", type: CrumbActionComponent, selector: "app-crumb-action", inputs: ["isShowCog", "addVisible", "newUrl", "onExport", "outlined", "isList", "authLevel", "actionList", "data", "menus"], outputs: ["saveEvent", "cancelEvent", "actionEvent"] }, { kind: "component", type: StepsComponent, selector: "custom-steps", inputs: ["steps", "current", "authLevel"], outputs: ["change"] }, { kind: "component", type: GridComponent, selector: "custom-grid", inputs: ["gridOptions", "upsert", "rowData", "searchPrm", "addType", "selectData", "showAct", "actPos", "authLevel"], outputs: ["searchPrmChange", "deleteEmit", "addEmit"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i3.Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: i3.TabList, selector: "p-tablist" }, { kind: "component", type: i3.Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: RowSelectorComponent, selector: "row-selector", inputs: ["title", "gridOptions", "searchPrm", "visible"], outputs: ["onOk", "visibleChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: HrefBtnListComponent, selector: "href-btn-list", inputs: ["hrefs"], outputs: ["hrefClick"] }] }); }
|
|
218
218
|
}
|
|
219
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormComponent, decorators: [{
|
|
220
220
|
type: Component,
|
|
@@ -230,7 +230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
230
230
|
RowSelectorComponent,
|
|
231
231
|
TranslatePipe,
|
|
232
232
|
HrefBtnListComponent
|
|
233
|
-
], providers: [], template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex flex-wrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<div class=\"md:basis-1/3 order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t\t[data]=\"getPrm.data??{}\"\r\n\t\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\
|
|
233
|
+
], providers: [], template: "<div class=\"md:overflow-hidden\">\r\n\t<div class=\"flex md:flex-wrap lg:flex-nowrap items-center md:justify-between py-1 px-1 border-b-[1px] border-[#dbdbdb] bg-white\">\r\n\t\t<div class=\"md:basis-1/3 order-1\">\r\n\t\t\t<app-crumb-action\r\n\t\t\t\t[addVisible]=\"addVisible()\"\r\n\t\t\t\t[newUrl]=\"newUrl\"\r\n\t\t\t\t[isShowCog]=\"true\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t[actionList]=\"actionList()\"\r\n\t\t\t\t[data]=\"getPrm.data ?? {}\"\r\n\t\t\t\t(actionEvent)=\"authClick($event)\"\r\n\t\t\t\t(saveEvent)=\"submitForm()\">\r\n\t\t\t</app-crumb-action>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"basis-1/5 lg:basis-2/3 order-2 lg:order-2 md:order-last md:basis-full md:mt-[6px]\">\r\n\t\t\t<href-btn-list\r\n\t\t\t\t[hrefs]=\"hrefBtnList()\"\r\n\t\t\t\t(hrefClick)=\"goRun($event)\"></href-btn-list>\r\n\t\t\t<!-- @if (id) {\r\n\t\t\t\t@for (btn of hrefBtnList(); track btn) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\t[variant]=\"btn?.variant\"\r\n\t\t\t\t\t\t[severity]=\"btn?.severity\"\r\n\t\t\t\t\t\tclass=\"mr-[6px]\"\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t[icon]=\"btn?.icon\"\r\n\t\t\t\t\t\tlabel=\"{{ btn.i18nKey ? i18n.fanyi(btn.i18nKey) : btn.label }}\"\r\n\t\t\t\t\t\t(click)=\"goRun(btn)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t} -->\r\n\t\t</div>\r\n\t\t<div class=\"basis-1/3 order-3\"></div>\r\n\t</div>\r\n\t<div class=\"flex\">\r\n\t\t<div class=\"px-2 flex flex-wrap items-center md:basis-2/3 basis-full\">\r\n\t\t\t<div class=\"hidden md:basis-1/3 py-1 basis-full md:flex items-center gap-2 flex-row order-1\">\r\n\t\t\t\t@for (action of actionList(); let i = $index; track action) {\r\n\t\t\t\t\t<p-button\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t[icon]=\"getPrm.data?.icon\"\r\n\t\t\t\t\t\t[label]=\"action.i18nKey ? (action.i18nKey | translate) : action.label\"\r\n\t\t\t\t\t\t[disabled]=\"action.btnDisabled ? action.btnDisabled(getPrm.data) : false\"\r\n\t\t\t\t\t\t[styleClass]=\"\r\n\t\t\t\t\t\t\t(action.auth || 0) > (authLevel() || 0) || !!action.btnHidden?.(getPrm.data) ? 'form-action hidden' : 'form-action block'\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t(onClick)=\"action.onClick != '' && action.onClick?.(getPrm.data)\">\r\n\t\t\t\t\t</p-button>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t\t<div class=\"md:basis-2/3 basis-full flex md:flex-row-reverse flex-row md:order-2 order-first w-full\">\r\n\t\t\t\t<custom-steps\r\n\t\t\t\t\t#customSteps\r\n\t\t\t\t\tclass=\"w-full\"\r\n\t\t\t\t\t[steps]=\"statusSteps()\"\r\n\t\t\t\t\t[current]=\"getPrm.data && getPrm.data[statusKey()] !== undefined ? getPrm.data[statusKey()] : 0\"\r\n\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t(change)=\"statusChange($event, customSteps)\">\r\n\t\t\t\t</custom-steps>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"main flex flex-wrap md:overflow-y-hidden\">\r\n\t\t<div class=\"md:basis-2/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<div class=\"bg-white mx-2 form-panel\">\r\n\t\t\t\t<div class=\"p-2 flex-1\">\r\n\t\t\t\t\t<form [formGroup]=\"form().form!\">\r\n\t\t\t\t\t\t<custom-form\r\n\t\t\t\t\t\t\t#cForm\r\n\t\t\t\t\t\t\t[options]=\"formOptions\"\r\n\t\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t\t[model]=\"getPrm.data ?? {}\"></custom-form>\r\n\t\t\t\t\t</form>\r\n\t\t\t\t</div>\r\n\t\t\t\t@if (gridList() && gridList().length > 1) {\r\n\t\t\t\t\t<div class=\"relative mb-2\">\r\n\t\t\t\t\t\t<p-tabs [(value)]=\"indexValue\">\r\n\t\t\t\t\t\t\t<p-tablist>\r\n\t\t\t\t\t\t\t\t@for (fchild of gridList(); let i = $index; track fchild) {\r\n\t\t\t\t\t\t\t\t\t<p-tab [value]=\"i\">\r\n\t\t\t\t\t\t\t\t\t\t{{ fchild.i18nKey ? i18n.fanyi(fchild.i18nKey) : fchild.title }}\r\n\t\t\t\t\t\t\t\t\t</p-tab>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</p-tablist>\r\n\t\t\t\t\t\t</p-tabs>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t}\r\n\t\t\t\t@for (grid of gridList(); let i = $index; track grid) {\r\n\t\t\t\t\t<custom-grid\r\n\t\t\t\t\t\t#customGrid\r\n\t\t\t\t\t\t[hidden]=\"indexValue != i\"\r\n\t\t\t\t\t\t[rowData]=\"getPrm.data?.[grid.subDataKey!] || []\"\r\n\t\t\t\t\t\t[upsert]=\"upsertPrm\"\r\n\t\t\t\t\t\t(deleteEmit)=\"delRows($event)\"\r\n\t\t\t\t\t\t[addType]=\"grid.subTableSource\"\r\n\t\t\t\t\t\t(addEmit)=\"dataSourceShow()\"\r\n\t\t\t\t\t\t[gridOptions]=\"grid.gridOptions\"\r\n\t\t\t\t\t\t[authLevel]=\"authLevel()\"\r\n\t\t\t\t\t\t[selectData]=\"grid.selectData\">\r\n\t\t\t\t\t</custom-grid>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"md:basis-1/3 basis-full h-full overflow-y-auto\">\r\n\t\t\t<custom-log [logs]=\"getPrm.data?.log ?? []\"></custom-log>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<row-selector\r\n\t[(visible)]=\"visible\"\r\n\t[searchPrm]=\"dialogSearchPrm\"\r\n\t[gridOptions]=\"selectOptions\"\r\n\t(onOk)=\"onOk($event)\">\r\n</row-selector>\r\n", styles: ["@charset \"UTF-8\";.main{height:calc(100vh - 140px)}:host ::ng-deep .main .ag-root-wrapper{border-left:none!important;border-right:none!important;border-bottom:none!important}:host ::ng-deep .form-action{background:#e7e9ed!important;color:var(--ag-text-color)!important;border-color:#e7e9ed!important}:host ::ng-deep .form-action:hover{background-color:#d8dadd!important;border-color:#d8dadd}.form-panel{border:solid 1px #dbdbdb}\n"] }]
|
|
234
234
|
}], ctorParameters: () => [], propDecorators: { cForm: [{
|
|
235
235
|
type: ViewChild,
|
|
236
236
|
args: ['cForm']
|
|
@@ -238,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
238
238
|
type: ViewChild,
|
|
239
239
|
args: ['customGrid']
|
|
240
240
|
}] } });
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFPLE1BQU0sb0JBQW9CLENBQUM7QUFHdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFB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LGNBQWMseUhBQ2QsYUFBYSxvT0FDYixVQUFVLDRYQUNWLG9CQUFvQixrSkFDcEIsYUFBYSxrREFDYixvQkFBb0I7OzRGQU1ULGlCQUFpQjtrQkFwQjdCLFNBQVM7K0JBQ0MsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1Ysb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLG9CQUFvQjtxQkFDcEIsYUFHVSxFQUFFO3dEQUdPLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDTyxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VySGlzdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3VzZXJIaXN0b3J5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIGlucHV0LCBlZmZlY3QsIGNvbXB1dGVkLCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsIEZvcm1PcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm93U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9yb3ctc2VsZWN0b3Ivcm93LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2xvZy9sb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBDcnVtYkFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RlcHNDb21wb25lbnQsIFN0ZXAgfSBmcm9tICcuLi9zdGVwcy9zdGVwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50LCBHcmlkT3B0aW9ucyB9IGZyb20gJy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYnMnO1xyXG5pbXBvcnQgeyBBbUNvbXBvbmVudCwgR2V0IH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHJlZkJ0bkxpc3QsIEdyaWRMaXN0IH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkJ0biB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGZvcm1UeXBlVG9Qcm9wcyB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEhyZWZCdG5MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vaHJlZi1idG4tbGlzdC9ocmVmLWJ0bi1saXN0LmNvbXBvbmVudCdcclxuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLXBhZ2UtZm9ybScsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRCdXR0b25Nb2R1bGUsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFx0Rm9ybUNvbXBvbmVudCxcclxuXHRcdExvZ0NvbXBvbmVudCxcclxuXHRcdENydW1iQWN0aW9uQ29tcG9uZW50LFxyXG5cdFx0U3RlcHNDb21wb25lbnQsXHJcblx0XHRHcmlkQ29tcG9uZW50LFxyXG5cdFx0VGFic01vZHVsZSxcclxuXHRcdFJvd1NlbGVjdG9yQ29tcG9uZW50LFxyXG5cdFx0VHJhbnNsYXRlUGlwZSxcclxuXHRcdEhyZWZCdG5MaXN0Q29tcG9uZW50XHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJyxcclxuXHRwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBBbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0QFZpZXdDaGlsZCgnY0Zvcm0nKSBjRm9ybSE6IEZvcm1Db21wb25lbnQ7XHJcblx0QFZpZXdDaGlsZCgnY3VzdG9tR3JpZCcpIGN1c3RvbUdyaWQhOiBHcmlkQ29tcG9uZW50O1xyXG5cdGFkZFZpc2libGUgPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdGdyaWRMaXN0ID0gaW5wdXQ8R3JpZExpc3RbXT4oW10pO1xyXG5cdGZvcm0gPSBpbnB1dC5yZXF1aXJlZDxGb3JtT3B0aW9ucz4oe30pO1xyXG5cdGdldFBybUlucHV0ID0gaW5wdXQucmVxdWlyZWQ8R2V0Pih7fSk7XHJcblx0c3RhdHVzU3RlcHMgPSBpbnB1dDxTdGVwW10+KFtdKTtcclxuXHRzdGF0dXNLZXkgPSBpbnB1dCgnc3RhdHVzJyk7XHJcblx0aHJlZkJ0bkxpc3QgPSBpbnB1dDxIcmVmQnRuTGlzdFtdPihbXSk7XHJcblx0c2V0VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0YWN0aW9uTGlzdCA9IGlucHV0PFBlcm1pc3Npb25CdG5bXT4oW10pO1xyXG5cdG1vZGVsTG9nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGZvcm1EaXNhYmxlZCA9IGlucHV0PEZ1bmN0aW9uPigpO1xyXG5cclxuXHR1c2VySGlzdG9yeVNlcnZpY2UgPSBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKTtcclxuXHRpbmRleFZhbHVlID0gMDtcclxuXHR2aXNpYmxlID0gZmFsc2U7XHJcblx0ZGlhbG9nU2VhcmNoUHJtITogU2VhcmNoO1xyXG5cdHNlbGVjdE9wdGlvbnMhOiBHcmlkT3B0aW9ucztcclxuXHRzZWxlY3REYXRhOiBhbnlbXSA9IFtdO1xyXG5cdHBhZ2VVcmwgPSAnJztcclxuXHRuZXdVcmwgPSAnJztcclxuXHRpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcclxuXHRocmVmcyA6YW55W109IFtdXHJcblx0YWN0aW9uID0gaW5qZWN0KEFjdGlvblNlcnZpY2UpXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5pZCA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSk7XHJcblx0XHR0aGlzLnBhZ2VVcmwgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybFxyXG5cdFx0XHQubWFwKChzZWdtZW50KSA9PiBzZWdtZW50LnBhdGgpXHJcblx0XHRcdC5qb2luKCcvJylcclxuXHRcdFx0LnJlcGxhY2UoLyhbXlxcL10qKSQvLCAnJyk7XHJcblx0XHR0aGlzLm5ld1VybCA9IGAke3RoaXMucGFnZVVybH1uZXdgO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5tb2RlbE5hbWUgPSB0aGlzLmdldFBybUlucHV0KCkubW9kZWxOYW1lITtcclxuXHRcdFx0XHR0aGlzLmdldFBybSA9IHsgLi4udGhpcy5nZXRQcm1JbnB1dCgpIH07XHJcblx0XHRcdFx0dGhpcy5pZCAmJiAodGhpcy5nZXRQcm0uaWQgPSB0aGlzLmlkKTtcclxuXHRcdFx0XHR0aGlzLmlkICYmIHRoaXMuZ2V0RGV0YWlsKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0dGhpcy5mb3JtT3B0aW9ucyA9IHsgLi4udGhpcy5mb3JtKCkgfTtcclxuXHRcdH0pO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5pc0xvZyA9IHRoaXMubW9kZWxMb2coKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLnN0YXR1c1N0ZXBzKCkubGVuZ3RoID4gMCAmJiAhdGhpcy5pZCkge1xyXG5cdFx0XHRcdFx0dGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbdGhpcy5zdGF0dXNLZXkoKV0gPSB0aGlzLnN0YXR1c1N0ZXBzKClbMF1bJ3ZhbHVlJ107XHJcblx0XHRcdFx0XHR0aGlzLmdldFBybS5kYXRhID0gT2JqZWN0LmFzc2lnbih0aGlzLmdldFBybS5kYXRhIHx8IHt9LCB7XHJcblx0XHRcdFx0XHRcdFt0aGlzLnN0YXR1c0tleSgpXTogdGhpcy5zdGF0dXNTdGVwcygpWzBdWyd2YWx1ZSddLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXHJcblx0XHQpO1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMudXBDYiA9IHRoaXMudXBDYi5iaW5kKHRoaXMpO1xyXG5cdH1cclxuXHJcblx0c3VibWl0Rm9ybSgpOiBhbnkge1xyXG5cdFx0aWYgKHRoaXMuY0Zvcm0udmFsaWRhdGUoKSkge1xyXG5cdFx0XHRsZXQgY2I6IGFueSA9IHRoaXMuaWQgPT09IDAgPyBudWxsIDogdGhpcy51cENiO1xyXG5cdFx0XHR0aGlzLnVwc2VydChudWxsLCBjYik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRkZWxSb3dzKGU6IGFueSkge1xyXG5cdFx0Y29uc3QgZ3JpZFRhYiA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdO1xyXG5cdFx0Y29uc3QgZGVsZXRlRnVuYyA9IGdyaWRUYWIuZGVsZXRlRnVuYztcclxuXHRcdGNvbnN0IHN1YlRhYmxlID0gZ3JpZFRhYi5ncmlkT3B0aW9ucy5tb2RlbE5hbWU7XHJcblxyXG5cdFx0bGV0IHBybSA9IHtcclxuXHRcdFx0bW9kZWxOYW1lOiBzdWJUYWJsZSxcclxuXHRcdFx0aWRzOiBlLFxyXG5cdFx0fTtcclxuXHRcdGlmICghZGVsZXRlRnVuYykge1xyXG5cdFx0XHR0aGlzLndlYl9yZW1vdmUocHJtKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZ2V0KCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZGVsZXRlRnVuYygpLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5nZXQoKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHR0aGlzLmFjdGlvbi5zYXZlU2lnbmFsLnNldCh0cnVlKVxyXG5cdH1cclxuXHR1cENiKHJlcz86IGFueSkge1xyXG5cdFx0aWYgKHJlcy5pZCA9PSAwKSB7XHJcblx0XHRcdHRoaXMuZ2V0RGV0YWlsKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRsZXQgZWRpdFVybCA9IGAke3RoaXMucGFnZVVybH0ke3Jlcy5pZH1gO1xyXG5cdFx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFtlZGl0VXJsXSk7XHJcblx0XHRcdH0sIDE1MDApO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5jRm9ybS5maW5hbGl6ZSgpO1xyXG5cdH1cclxuXHQvLyBUT0RPIOaYr+WQpumcgOimgeaVsOaNrui9rOaNouWbnuiwg+WHveaVsFxyXG5cdG9uT2soZTogYW55KSB7XHJcblx0XHR0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXS5zZWxlY3REYXRhID0gW107XHJcblx0XHRpZiAoZS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGxldCB7IHNlbGVjdERhdGFDYiB9ID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV07XHJcblx0XHRcdGUuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcblx0XHRcdFx0bGV0IG9iaiA9IHNlbGVjdERhdGFDYiA/IHNlbGVjdERhdGFDYihpdGVtKSA6IHsgLi4uaXRlbSB9O1xyXG5cdFx0XHRcdHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdLnNlbGVjdERhdGEhLnB1c2gob2JqKTtcclxuXHRcdFx0fSk7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KHRydWUpXHJcblx0XHR9XHJcblx0fVxyXG5cdGdldERldGFpbChjdXN0b21TdGVwcz86IFN0ZXBzQ29tcG9uZW50KSB7XHJcblx0XHR0aGlzLndlYl9nZXQodGhpcy5nZXRQcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdHRoaXMudXBkYXRlVGl0bGUocmVzKTtcclxuXHRcdFx0dGhpcy5mb3JtRGlzYWJsZWQoKSAmJiB0aGlzLmZvcm1EaXNGdW5jKCk7XHJcblx0XHRcdGlmKHRoaXMuaHJlZkJ0bkxpc3QoKS5sZW5ndGggPiAwKXtcclxuXHRcdFx0XHR0aGlzLnNldEhyZWZWYWx1ZSgpXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHRzZXRIcmVmVmFsdWUoKXtcclxuXHRcdHRoaXMuaHJlZkJ0bkxpc3QoKS5tYXAoKGl0ZW06YW55KSA9PiB7XHJcblx0XHRcdGlmKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3NlYXJjaENvdW50JykgJiYgdHlwZW9mIGl0ZW0uc2VhcmNoQ291bnQgPT0gJ29iamVjdCcpe1xyXG5cdFx0XHRcdGl0ZW0uc2VhcmNoQ291bnQuY29sdW1uRmlsdGVycy5mb3JFYWNoKCh2OmFueSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYodHlwZW9mIHYuZml0ZXIgPT09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdFx0XHR2LmZpdGVyID0gdi5maXRlcih0aGlzLmdldFBybS5kYXRhKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy53ZWJfc2VhcmNoQ291bnQoaXRlbS5zZWFyY2hDb3VudCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpdGVtLnZhbHVlID0gcmVzLnRvdGFsTnVtIHx8IDBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdH1cclxuXHR1cGRhdGVUaXRsZShyZXM6IGFueSkge1xyXG5cdFx0bGV0IG1haW5GaWVsZCA9IHRoaXMuZm9ybSgpLm1haW5GaWVsZDtcclxuXHRcdGxldCB0aXRsZSA9IHJlc1ttYWluRmllbGQhXTtcclxuXHRcdHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSh0aXRsZSk7XHJcblx0fVxyXG5cdGRhdGFTb3VyY2VTaG93KCkge1xyXG5cdFx0dGhpcy5kaWFsb2dTZWFyY2hQcm0gPSB7IC4uLnRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdWydzZWFyY2hQcm0nXSEgfTtcclxuXHRcdHRoaXMuc2VsZWN0T3B0aW9ucyA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdWydzZWxlY3RPcHRpb25zJ10hO1xyXG5cdFx0Y29uc29sZS5sb2coJ3NlbGV0Yy0tLS0tJywgdGhpcy5zZWxlY3RPcHRpb25zKTtcclxuXHRcdHRoaXMuZGlhbG9nU2VhcmNoUHJtLm1vZGVsTmFtZSA9IHRoaXMuc2VsZWN0T3B0aW9ucy5tb2RlbE5hbWU7XHJcblx0XHR0aGlzLnZpc2libGUgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0Z29SdW4oZGF0YTogYW55KSB7XHJcblx0XHRpZiAodHlwZW9mIGRhdGEudXJsID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdGxldCB1cmwgPSBkYXRhLnVybCh0aGlzLmdldFBybS5kYXRhKVxyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsXSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIHN1bW1hcnk6ICdXYXJuJywgZGV0YWlsOiAn6K+36YWN572u6Lez6L2s6ZO+5o6lJyB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGF1dGhDbGljayhidG46IGFueSkge1xyXG5cdFx0aWYgKGJ0bi5oYXNPd25Qcm9wZXJ0eSgnb25DbGljaycpKSB7XHJcblx0XHRcdGJ0bi5vbkNsaWNrKHRoaXMuZ2V0UHJtLmRhdGEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRzdGF0dXNDaGFuZ2UodmFsdWU6IGFueSwgY3VzdG9tU3RlcHM6IFN0ZXBzQ29tcG9uZW50KSB7XHJcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcclxuXHRcdGlmICh0aGlzLmlkKSB7XHJcblx0XHRcdGxldCBwYXJhbTogYW55ID0ge1xyXG5cdFx0XHRcdG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsXHJcblx0XHRcdFx0ZGF0YTogeyBpZDogdGhpcy5pZCwgW3RoaXMuc3RhdHVzS2V5KCldOiB2YWx1ZSB9LFxyXG5cdFx0XHR9O1xyXG5cdFx0XHRpZiAodGhpcy5pc0xvZykge1xyXG5cdFx0XHRcdHBhcmFtLmxvZ01vZGVsID0gYCR7dGhpcy5tb2RlbE5hbWV9TG9nYDtcclxuXHRcdFx0XHRwYXJhbS5sb2cgPSB7XHJcblx0XHRcdFx0XHRwaWQ6IHRoaXMuaWQsXHJcblx0XHRcdFx0XHRjb250ZW50OiBgW+eKtuaAgV0gJHt0aGlzLmdldFBybS5kYXRhIVt0aGlzLnN0YXR1c0tleSgpXX0gLT4gJHt2YWx1ZX1gLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy53ZWJfd3JpdGUocGFyYW0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5nZXREZXRhaWwoY3VzdG9tU3RlcHMpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuZ2V0UHJtLmRhdGEgPSBPYmplY3QuYXNzaWduKHRoaXMuZ2V0UHJtLmRhdGEgfHwge30sIHtcclxuXHRcdFx0XHRbdGhpcy5zdGF0dXNLZXkoKV06IHZhbHVlLFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0dGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbdGhpcy5zdGF0dXNLZXkoKV0gPSB2YWx1ZTtcclxuXHRcdFx0dGhpcy5jRm9ybS50cmlnZ2VyTW9kZWxFZmZlY3QoeyBbdGhpcy5zdGF0dXNLZXkoKV06IHZhbHVlIH0pO1xyXG5cdFx0XHQvLyBjdXN0b21TdGVwcy5yZWZyZXNoU3RlcHMoKVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Zm9ybURpc0Z1bmMoKSB7XHJcblx0XHR0aGlzLmZvcm1PcHRpb25zLmZpZWxkcz8uZm9yRWFjaCgodikgPT4ge1xyXG5cdFx0XHR2Lmdyb3VwPy5mb3JFYWNoKChnOiBhbnkpID0+IHtcclxuXHRcdFx0XHRsZXQgZmllbGREaXNhYmxlZCA9IGdbZm9ybVR5cGVUb1Byb3BzW2cudHlwZV1dLmRpc2FibGVkIHx8IGZhbHNlO1xyXG5cdFx0XHRcdGlmICh0aGlzLmZvcm1EaXNhYmxlZCgpISh0aGlzLmdldFBybS5kYXRhKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5jRm9ybS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdCFmaWVsZERpc2FibGVkICYmIHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWQ6b3ZlcmZsb3ctaGlkZGVuXCI+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBtZDpqdXN0aWZ5LWJldHdlZW4gcHktMSBweC0xIGJvcmRlci1iLVsxcHhdIGJvcmRlci1bI2RiZGJkYl0gYmctd2hpdGVcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJtZDpiYXNpcy0xLzMgb3JkZXItMVwiPlxyXG5cdFx0XHQ8YXBwLWNydW1iLWFjdGlvblxyXG5cdFx0XHRcdFthZGRWaXNpYmxlXT1cImFkZFZpc2libGUoKVwiXHJcblx0XHRcdFx0W25ld1VybF09XCJuZXdVcmxcIlxyXG5cdFx0XHRcdFtpc1Nob3dDb2ddPVwidHJ1ZVwiXHJcblx0XHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG5cdFx0XHRcdFthY3Rpb25MaXN0XT1cImFjdGlvbkxpc3QoKVwiXHJcblx0XHRcdFx0W2RhdGFdPVwiZ2V0UHJtLmRhdGE/P3t9XCJcclxuXHRcdFx0XHQoYWN0aW9uRXZlbnQpPVwiYXV0aENsaWNrKCRldmVudClcIlxyXG5cdFx0XHRcdChzYXZlRXZlbnQpPVwic3VibWl0Rm9ybSgpXCI+XHJcblx0XHRcdDwvYXBwLWNydW1iLWFjdGlvbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0XHJcblx0XHQ8ZGl2IGNsYXNzPVwiYmFzaXMtMS81IGxnOmJhc2lzLTIvMyAgb3JkZXItMiBsZzpvcmRlci0yIG1kOm9yZGVyLWxhc3QgbWQ6YmFzaXMtZnVsbCBtZDptdC1bNnB4XVwiPlxyXG5cdFx0XHQ8aHJlZi1idG4tbGlzdCBbaHJlZnNdPVwiaHJlZkJ0bkxpc3QoKVwiIChocmVmQ2xpY2spPVwiZ29SdW4oJGV2ZW50KVwiPjwvaHJlZi1idG4tbGlzdD5cclxuXHRcdFx0PCEtLSBAaWYgKGlkKSB7XHJcblx0XHRcdFx0QGZvciAoYnRuIG9mIGhyZWZCdG5MaXN0KCk7IHRyYWNrIGJ0bikge1xyXG5cdFx0XHRcdFx0PHAtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFt2YXJpYW50XT1cImJ0bj8udmFyaWFudFwiXHJcblx0XHRcdFx0XHRcdFtzZXZlcml0eV09XCJidG4/LnNldmVyaXR5XCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJtci1bNnB4XVwiXHJcblx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiXHJcblx0XHRcdFx0XHRcdFtpY29uXT1cImJ0bj8uaWNvblwiXHJcblx0XHRcdFx0XHRcdGxhYmVsPVwie3sgYnRuLmkxOG5LZXkgPyBpMThuLmZhbnlpKGJ0bi5pMThuS2V5KSA6IGJ0bi5sYWJlbCB9fVwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJnb1J1bihidG4pXCI+XHJcblx0XHRcdFx0XHQ8L3AtYnV0dG9uPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSAtLT5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImJhc2lzLTEvMyBvcmRlci0zXCI+PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImZsZXhcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJweC0yIGZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBtZDpiYXNpcy0yLzMgYmFzaXMtZnVsbFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJhc2lzLTEvMyBweS0xIGJhc2lzLWZ1bGwgbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQgZmxleC1yb3cgb3JkZXItMVwiPlxyXG5cdFx0XHRcdEBmb3IgKGFjdGlvbiBvZiBhY3Rpb25MaXN0KCk7IGxldCBpID0gJGluZGV4OyB0cmFjayBhY3Rpb24pIHtcclxuXHRcdFx0XHRcdDxwLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIlxyXG5cdFx0XHRcdFx0XHRbdmFyaWFudF09XCJhY3Rpb24/LnZhcmlhbnRcIlxyXG5cdFx0XHRcdFx0XHRbc2V2ZXJpdHldPVwiYWN0aW9uPy5zZXZlcml0eVwiXHJcblx0XHRcdFx0XHRcdFtpY29uXT1cImdldFBybS5kYXRhPy5pY29uXCJcclxuXHRcdFx0XHRcdFx0W2xhYmVsXT1cImFjdGlvbi5pMThuS2V5ID8gKGFjdGlvbi5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi5sYWJlbFwiXHJcblx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJhY3Rpb24uYnRuRGlzYWJsZWQgPyBhY3Rpb24uYnRuRGlzYWJsZWQoZ2V0UHJtLmRhdGEpIDogZmFsc2VcIlxyXG5cdFx0XHRcdFx0XHRbc3R5bGVDbGFzc109XCIoYWN0aW9uLmF1dGggfHwgMCkgPiAoYXV0aExldmVsKCkgfHwgMCkgfHwgISFhY3Rpb24uYnRuSGlkZGVuPy4oZ2V0UHJtLmRhdGEpID8gJ2hpZGRlbicgOiAnYmxvY2snXCJcclxuXHRcdFx0XHRcdFx0KG9uQ2xpY2spPVwiYWN0aW9uLm9uQ2xpY2sgIT0gJycgJiYgYWN0aW9uLm9uQ2xpY2s/LihnZXRQcm0uZGF0YSlcIj5cclxuXHRcdFx0XHRcdDwvcC1idXR0b24+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsIGZsZXggbWQ6ZmxleC1yb3ctcmV2ZXJzZSBmbGV4LXJvdyBtZDpvcmRlci0yIG9yZGVyLWZpcnN0IHctZnVsbFwiPlxyXG5cdFx0XHRcdDxjdXN0b20tc3RlcHNcclxuXHRcdFx0XHRcdCNjdXN0b21TdGVwc1xyXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGxcIlxyXG5cdFx0XHRcdFx0W3N0ZXBzXT1cInN0YXR1c1N0ZXBzKClcIlxyXG5cdFx0XHRcdFx0W2N1cnJlbnRdPVwiZ2V0UHJtLmRhdGEgJiYgZ2V0UHJtLmRhdGFbc3RhdHVzS2V5KCldICE9PSB1bmRlZmluZWQgPyBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gOiAwXCJcclxuXHRcdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG5cdFx0XHRcdFx0KGNoYW5nZSk9XCJzdGF0dXNDaGFuZ2UoJGV2ZW50LCBjdXN0b21TdGVwcylcIj5cclxuXHRcdFx0XHQ8L2N1c3RvbS1zdGVwcz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwibWFpbiBmbGV4IGZsZXgtd3JhcCBtZDpvdmVyZmxvdy15LWhpZGRlblwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsIGgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImJnLXdoaXRlIG14LTIgZm9ybS1wYW5lbFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJwLTIgZmxleC0xXCI+XHJcblx0XHRcdFx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm0oKS5mb3JtIVwiPlxyXG5cdFx0XHRcdFx0XHQ8Y3VzdG9tLWZvcm1cclxuXHRcdFx0XHRcdFx0XHQjY0Zvcm1cclxuXHRcdFx0XHRcdFx0XHRbb3B0aW9uc109XCJmb3JtT3B0aW9uc1wiXHJcblx0XHRcdFx0XHRcdFx0W3Vwc2VydF09XCJ1cHNlcnRQcm1cIlxyXG5cdFx0XHRcdFx0XHRcdFttb2RlbF09XCJnZXRQcm0uZGF0YSA/PyB7fVwiPjwvY3VzdG9tLWZvcm0+XHJcblx0XHRcdFx0XHQ8L2Zvcm0+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0QGlmIChncmlkTGlzdCgpICYmIGdyaWRMaXN0KCkubGVuZ3RoID4gMSkge1xyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJlbGF0aXZlIG1iLTJcIj5cclxuXHRcdFx0XHRcdFx0PHAtdGFicyBbKHZhbHVlKV09XCJpbmRleFZhbHVlXCI+XHJcblx0XHRcdFx0XHRcdFx0PHAtdGFibGlzdD5cclxuXHRcdFx0XHRcdFx0XHRcdEBmb3IgKGZjaGlsZCBvZiBncmlkTGlzdCgpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgZmNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxwLXRhYiBbdmFsdWVdPVwiaVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGZjaGlsZC5pMThuS2V5ID8gaTE4bi5mYW55aShmY2hpbGQuaTE4bktleSkgOiBmY2hpbGQudGl0bGUgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9wLXRhYj5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQ8L3AtdGFibGlzdD5cclxuXHRcdFx0XHRcdFx0PC9wLXRhYnM+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGZvciAoZ3JpZCBvZiBncmlkTGlzdCgpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgZ3JpZCkge1xyXG5cdFx0XHRcdFx0PGN1c3RvbS1ncmlkXHJcblx0XHRcdFx0XHRcdCNjdXN0b21HcmlkXHJcblx0XHRcdFx0XHRcdFtoaWRkZW5dPVwiaW5kZXhWYWx1ZSAhPSBpXCJcclxuXHRcdFx0XHRcdFx0W3Jvd0RhdGFdPVwiZ2V0UHJtLmRhdGE/LltncmlkLnN1YkRhdGFLZXkhXSB8fCBbXVwiXHJcblx0XHRcdFx0XHRcdFt1cHNlcnRdPVwidXBzZXJ0UHJtXCJcclxuXHRcdFx0XHRcdFx0KGRlbGV0ZUVtaXQpPVwiZGVsUm93cygkZXZlbnQpXCJcclxuXHRcdFx0XHRcdFx0W2FkZFR5cGVdPVwiZ3JpZC5zdWJUYWJsZVNvdXJjZVwiXHJcblx0XHRcdFx0XHRcdChhZGRFbWl0KT1cImRhdGFTb3VyY2VTaG93KClcIlxyXG5cdFx0XHRcdFx0XHRbZ3JpZE9wdGlvbnNdPVwiZ3JpZC5ncmlkT3B0aW9uc1wiXHJcblx0XHRcdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG5cdFx0XHRcdFx0XHRbc2VsZWN0RGF0YV09XCJncmlkLnNlbGVjdERhdGFcIj5cclxuXHRcdFx0XHRcdDwvY3VzdG9tLWdyaWQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMyBiYXNpcy1mdWxsIGgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0PGN1c3RvbS1sb2cgW2xvZ3NdPVwiZ2V0UHJtLmRhdGE/LmxvZyA/PyBbXVwiPjwvY3VzdG9tLWxvZz5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuPHJvdy1zZWxlY3RvclxyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcblx0W3NlYXJjaFBybV09XCJkaWFsb2dTZWFyY2hQcm1cIlxyXG5cdFtncmlkT3B0aW9uc109XCJzZWxlY3RPcHRpb25zXCJcclxuXHQob25Payk9XCJvbk9rKCRldmVudClcIj5cclxuPC9yb3ctc2VsZWN0b3I+XHJcbiJdfQ==
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvcGFnZS1mb3JtL3BhZ2UtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3BhZ2UtZm9ybS9wYWdlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFPLE1BQU0sb0JBQW9CLENBQUM7QUFHdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFB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LGNBQWMseUhBQ2QsYUFBYSxvT0FDYixVQUFVLDRYQUNWLG9CQUFvQixrSkFDcEIsYUFBYSxrREFDYixvQkFBb0I7OzRGQU1ULGlCQUFpQjtrQkFwQjdCLFNBQVM7K0JBQ0MsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1Ysb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLG9CQUFvQjtxQkFDcEIsYUFHVSxFQUFFO3dEQUdPLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDTyxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VySGlzdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3VzZXJIaXN0b3J5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIGlucHV0LCBlZmZlY3QsIGNvbXB1dGVkLCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsIEZvcm1PcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm93U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9yb3ctc2VsZWN0b3Ivcm93LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2xvZy9sb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBDcnVtYkFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RlcHNDb21wb25lbnQsIFN0ZXAgfSBmcm9tICcuLi9zdGVwcy9zdGVwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50LCBHcmlkT3B0aW9ucyB9IGZyb20gJy4uL2dyaWQvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYnMnO1xyXG5pbXBvcnQgeyBBbUNvbXBvbmVudCwgR2V0IH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoIH0gZnJvbSAnLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHJlZkJ0bkxpc3QsIEdyaWRMaXN0IH0gZnJvbSAnLi9wYWdlLWZvcm0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkJ0biB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGZvcm1UeXBlVG9Qcm9wcyB9IGZyb20gJy4vcGFnZS1mb3JtLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEhyZWZCdG5MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vaHJlZi1idG4tbGlzdC9ocmVmLWJ0bi1saXN0LmNvbXBvbmVudCdcclxuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLXBhZ2UtZm9ybScsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHRCdXR0b25Nb2R1bGUsXHJcblx0XHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFx0Rm9ybUNvbXBvbmVudCxcclxuXHRcdExvZ0NvbXBvbmVudCxcclxuXHRcdENydW1iQWN0aW9uQ29tcG9uZW50LFxyXG5cdFx0U3RlcHNDb21wb25lbnQsXHJcblx0XHRHcmlkQ29tcG9uZW50LFxyXG5cdFx0VGFic01vZHVsZSxcclxuXHRcdFJvd1NlbGVjdG9yQ29tcG9uZW50LFxyXG5cdFx0VHJhbnNsYXRlUGlwZSxcclxuXHRcdEhyZWZCdG5MaXN0Q29tcG9uZW50XHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJyxcclxuXHRwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBBbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0QFZpZXdDaGlsZCgnY0Zvcm0nKSBjRm9ybSE6IEZvcm1Db21wb25lbnQ7XHJcblx0QFZpZXdDaGlsZCgnY3VzdG9tR3JpZCcpIGN1c3RvbUdyaWQhOiBHcmlkQ29tcG9uZW50O1xyXG5cdGFkZFZpc2libGUgPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdGdyaWRMaXN0ID0gaW5wdXQ8R3JpZExpc3RbXT4oW10pO1xyXG5cdGZvcm0gPSBpbnB1dC5yZXF1aXJlZDxGb3JtT3B0aW9ucz4oe30pO1xyXG5cdGdldFBybUlucHV0ID0gaW5wdXQucmVxdWlyZWQ8R2V0Pih7fSk7XHJcblx0c3RhdHVzU3RlcHMgPSBpbnB1dDxTdGVwW10+KFtdKTtcclxuXHRzdGF0dXNLZXkgPSBpbnB1dCgnc3RhdHVzJyk7XHJcblx0aHJlZkJ0bkxpc3QgPSBpbnB1dDxIcmVmQnRuTGlzdFtdPihbXSk7XHJcblx0c2V0VGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0YWN0aW9uTGlzdCA9IGlucHV0PFBlcm1pc3Npb25CdG5bXT4oW10pO1xyXG5cdG1vZGVsTG9nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGZvcm1EaXNhYmxlZCA9IGlucHV0PEZ1bmN0aW9uPigpO1xyXG5cclxuXHR1c2VySGlzdG9yeVNlcnZpY2UgPSBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKTtcclxuXHRpbmRleFZhbHVlID0gMDtcclxuXHR2aXNpYmxlID0gZmFsc2U7XHJcblx0ZGlhbG9nU2VhcmNoUHJtITogU2VhcmNoO1xyXG5cdHNlbGVjdE9wdGlvbnMhOiBHcmlkT3B0aW9ucztcclxuXHRzZWxlY3REYXRhOiBhbnlbXSA9IFtdO1xyXG5cdHBhZ2VVcmwgPSAnJztcclxuXHRuZXdVcmwgPSAnJztcclxuXHRpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcclxuXHRocmVmcyA6YW55W109IFtdXHJcblx0YWN0aW9uID0gaW5qZWN0KEFjdGlvblNlcnZpY2UpXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5pZCA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSk7XHJcblx0XHR0aGlzLnBhZ2VVcmwgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybFxyXG5cdFx0XHQubWFwKChzZWdtZW50KSA9PiBzZWdtZW50LnBhdGgpXHJcblx0XHRcdC5qb2luKCcvJylcclxuXHRcdFx0LnJlcGxhY2UoLyhbXlxcL10qKSQvLCAnJyk7XHJcblx0XHR0aGlzLm5ld1VybCA9IGAke3RoaXMucGFnZVVybH1uZXdgO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5tb2RlbE5hbWUgPSB0aGlzLmdldFBybUlucHV0KCkubW9kZWxOYW1lITtcclxuXHRcdFx0XHR0aGlzLmdldFBybSA9IHsgLi4udGhpcy5nZXRQcm1JbnB1dCgpIH07XHJcblx0XHRcdFx0dGhpcy5pZCAmJiAodGhpcy5nZXRQcm0uaWQgPSB0aGlzLmlkKTtcclxuXHRcdFx0XHR0aGlzLmlkICYmIHRoaXMuZ2V0RGV0YWlsKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0dGhpcy5mb3JtT3B0aW9ucyA9IHsgLi4udGhpcy5mb3JtKCkgfTtcclxuXHRcdH0pO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5pc0xvZyA9IHRoaXMubW9kZWxMb2coKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLnN0YXR1c1N0ZXBzKCkubGVuZ3RoID4gMCAmJiAhdGhpcy5pZCkge1xyXG5cdFx0XHRcdFx0dGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbdGhpcy5zdGF0dXNLZXkoKV0gPSB0aGlzLnN0YXR1c1N0ZXBzKClbMF1bJ3ZhbHVlJ107XHJcblx0XHRcdFx0XHR0aGlzLmdldFBybS5kYXRhID0gT2JqZWN0LmFzc2lnbih0aGlzLmdldFBybS5kYXRhIHx8IHt9LCB7XHJcblx0XHRcdFx0XHRcdFt0aGlzLnN0YXR1c0tleSgpXTogdGhpcy5zdGF0dXNTdGVwcygpWzBdWyd2YWx1ZSddLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXHJcblx0XHQpO1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMudXBDYiA9IHRoaXMudXBDYi5iaW5kKHRoaXMpO1xyXG5cdH1cclxuXHJcblx0c3VibWl0Rm9ybSgpOiBhbnkge1xyXG5cdFx0aWYgKHRoaXMuY0Zvcm0udmFsaWRhdGUoKSkge1xyXG5cdFx0XHRsZXQgY2I6IGFueSA9IHRoaXMuaWQgPT09IDAgPyBudWxsIDogdGhpcy51cENiO1xyXG5cdFx0XHR0aGlzLnVwc2VydChudWxsLCBjYik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRkZWxSb3dzKGU6IGFueSkge1xyXG5cdFx0Y29uc3QgZ3JpZFRhYiA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdO1xyXG5cdFx0Y29uc3QgZGVsZXRlRnVuYyA9IGdyaWRUYWIuZGVsZXRlRnVuYztcclxuXHRcdGNvbnN0IHN1YlRhYmxlID0gZ3JpZFRhYi5ncmlkT3B0aW9ucy5tb2RlbE5hbWU7XHJcblxyXG5cdFx0bGV0IHBybSA9IHtcclxuXHRcdFx0bW9kZWxOYW1lOiBzdWJUYWJsZSxcclxuXHRcdFx0aWRzOiBlLFxyXG5cdFx0fTtcclxuXHRcdGlmICghZGVsZXRlRnVuYykge1xyXG5cdFx0XHR0aGlzLndlYl9yZW1vdmUocHJtKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZ2V0KCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZGVsZXRlRnVuYygpLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5nZXQoKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHR0aGlzLmFjdGlvbi5zYXZlU2lnbmFsLnNldCh0cnVlKVxyXG5cdH1cclxuXHR1cENiKHJlcz86IGFueSkge1xyXG5cdFx0aWYgKHJlcy5pZCA9PSAwKSB7XHJcblx0XHRcdHRoaXMuZ2V0RGV0YWlsKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRsZXQgZWRpdFVybCA9IGAke3RoaXMucGFnZVVybH0ke3Jlcy5pZH1gO1xyXG5cdFx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFtlZGl0VXJsXSk7XHJcblx0XHRcdH0sIDE1MDApO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5jRm9ybS5maW5hbGl6ZSgpO1xyXG5cdH1cclxuXHQvLyBUT0RPIOaYr+WQpumcgOimgeaVsOaNrui9rOaNouWbnuiwg+WHveaVsFxyXG5cdG9uT2soZTogYW55KSB7XHJcblx0XHR0aGlzLmdyaWRMaXN0KClbdGhpcy5pbmRleFZhbHVlXS5zZWxlY3REYXRhID0gW107XHJcblx0XHRpZiAoZS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGxldCB7IHNlbGVjdERhdGFDYiB9ID0gdGhpcy5ncmlkTGlzdCgpW3RoaXMuaW5kZXhWYWx1ZV07XHJcblx0XHRcdGUuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcblx0XHRcdFx0bGV0IG9iaiA9IHNlbGVjdERhdGFDYiA/IHNlbGVjdERhdGFDYihpdGVtKSA6IHsgLi4uaXRlbSB9O1xyXG5cdFx0XHRcdHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdLnNlbGVjdERhdGEhLnB1c2gob2JqKTtcclxuXHRcdFx0fSk7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KHRydWUpXHJcblx0XHR9XHJcblx0fVxyXG5cdGdldERldGFpbChjdXN0b21TdGVwcz86IFN0ZXBzQ29tcG9uZW50KSB7XHJcblx0XHR0aGlzLndlYl9nZXQodGhpcy5nZXRQcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdHRoaXMudXBkYXRlVGl0bGUocmVzKTtcclxuXHRcdFx0dGhpcy5mb3JtRGlzYWJsZWQoKSAmJiB0aGlzLmZvcm1EaXNGdW5jKCk7XHJcblx0XHRcdGlmKHRoaXMuaHJlZkJ0bkxpc3QoKS5sZW5ndGggPiAwKXtcclxuXHRcdFx0XHR0aGlzLnNldEhyZWZWYWx1ZSgpXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHRzZXRIcmVmVmFsdWUoKXtcclxuXHRcdHRoaXMuaHJlZkJ0bkxpc3QoKS5tYXAoKGl0ZW06YW55KSA9PiB7XHJcblx0XHRcdGlmKGl0ZW0uaGFzT3duUHJvcGVydHkoJ3NlYXJjaENvdW50JykgJiYgdHlwZW9mIGl0ZW0uc2VhcmNoQ291bnQgPT0gJ29iamVjdCcpe1xyXG5cdFx0XHRcdGl0ZW0uc2VhcmNoQ291bnQuY29sdW1uRmlsdGVycy5mb3JFYWNoKCh2OmFueSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYodHlwZW9mIHYuZml0ZXIgPT09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdFx0XHR2LmZpdGVyID0gdi5maXRlcih0aGlzLmdldFBybS5kYXRhKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy53ZWJfc2VhcmNoQ291bnQoaXRlbS5zZWFyY2hDb3VudCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpdGVtLnZhbHVlID0gcmVzLnRvdGFsTnVtIHx8IDBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdH1cclxuXHR1cGRhdGVUaXRsZShyZXM6IGFueSkge1xyXG5cdFx0bGV0IG1haW5GaWVsZCA9IHRoaXMuZm9ybSgpLm1haW5GaWVsZDtcclxuXHRcdGxldCB0aXRsZSA9IHJlc1ttYWluRmllbGQhXTtcclxuXHRcdHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSh0aXRsZSk7XHJcblx0fVxyXG5cdGRhdGFTb3VyY2VTaG93KCkge1xyXG5cdFx0dGhpcy5kaWFsb2dTZWFyY2hQcm0gPSB7IC4uLnRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdWydzZWFyY2hQcm0nXSEgfTtcclxuXHRcdHRoaXMuc2VsZWN0T3B0aW9ucyA9IHRoaXMuZ3JpZExpc3QoKVt0aGlzLmluZGV4VmFsdWVdWydzZWxlY3RPcHRpb25zJ10hO1xyXG5cdFx0Y29uc29sZS5sb2coJ3NlbGV0Yy0tLS0tJywgdGhpcy5zZWxlY3RPcHRpb25zKTtcclxuXHRcdHRoaXMuZGlhbG9nU2VhcmNoUHJtLm1vZGVsTmFtZSA9IHRoaXMuc2VsZWN0T3B0aW9ucy5tb2RlbE5hbWU7XHJcblx0XHR0aGlzLnZpc2libGUgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0Z29SdW4oZGF0YTogYW55KSB7XHJcblx0XHRpZiAodHlwZW9mIGRhdGEudXJsID09PSAnZnVuY3Rpb24nKSB7XHJcblx0XHRcdGxldCB1cmwgPSBkYXRhLnVybCh0aGlzLmdldFBybS5kYXRhKVxyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsXSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIHN1bW1hcnk6ICdXYXJuJywgZGV0YWlsOiAn6K+36YWN572u6Lez6L2s6ZO+5o6lJyB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGF1dGhDbGljayhidG46IGFueSkge1xyXG5cdFx0aWYgKGJ0bi5oYXNPd25Qcm9wZXJ0eSgnb25DbGljaycpKSB7XHJcblx0XHRcdGJ0bi5vbkNsaWNrKHRoaXMuZ2V0UHJtLmRhdGEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRzdGF0dXNDaGFuZ2UodmFsdWU6IGFueSwgY3VzdG9tU3RlcHM6IFN0ZXBzQ29tcG9uZW50KSB7XHJcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcclxuXHRcdGlmICh0aGlzLmlkKSB7XHJcblx0XHRcdGxldCBwYXJhbTogYW55ID0ge1xyXG5cdFx0XHRcdG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsXHJcblx0XHRcdFx0ZGF0YTogeyBpZDogdGhpcy5pZCwgW3RoaXMuc3RhdHVzS2V5KCldOiB2YWx1ZSB9LFxyXG5cdFx0XHR9O1xyXG5cdFx0XHRpZiAodGhpcy5pc0xvZykge1xyXG5cdFx0XHRcdHBhcmFtLmxvZ01vZGVsID0gYCR7dGhpcy5tb2RlbE5hbWV9TG9nYDtcclxuXHRcdFx0XHRwYXJhbS5sb2cgPSB7XHJcblx0XHRcdFx0XHRwaWQ6IHRoaXMuaWQsXHJcblx0XHRcdFx0XHRjb250ZW50OiBgW+eKtuaAgV0gJHt0aGlzLmdldFBybS5kYXRhIVt0aGlzLnN0YXR1c0tleSgpXX0gLT4gJHt2YWx1ZX1gLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy53ZWJfd3JpdGUocGFyYW0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5nZXREZXRhaWwoY3VzdG9tU3RlcHMpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuZ2V0UHJtLmRhdGEgPSBPYmplY3QuYXNzaWduKHRoaXMuZ2V0UHJtLmRhdGEgfHwge30sIHtcclxuXHRcdFx0XHRbdGhpcy5zdGF0dXNLZXkoKV06IHZhbHVlLFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0dGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbdGhpcy5zdGF0dXNLZXkoKV0gPSB2YWx1ZTtcclxuXHRcdFx0dGhpcy5jRm9ybS50cmlnZ2VyTW9kZWxFZmZlY3QoeyBbdGhpcy5zdGF0dXNLZXkoKV06IHZhbHVlIH0pO1xyXG5cdFx0XHQvLyBjdXN0b21TdGVwcy5yZWZyZXNoU3RlcHMoKVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Zm9ybURpc0Z1bmMoKSB7XHJcblx0XHR0aGlzLmZvcm1PcHRpb25zLmZpZWxkcz8uZm9yRWFjaCgodikgPT4ge1xyXG5cdFx0XHR2Lmdyb3VwPy5mb3JFYWNoKChnOiBhbnkpID0+IHtcclxuXHRcdFx0XHRsZXQgZmllbGREaXNhYmxlZCA9IGdbZm9ybVR5cGVUb1Byb3BzW2cudHlwZV1dLmRpc2FibGVkIHx8IGZhbHNlO1xyXG5cdFx0XHRcdGlmICh0aGlzLmZvcm1EaXNhYmxlZCgpISh0aGlzLmdldFBybS5kYXRhKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5jRm9ybS5nZXRGaWVsZChnLmtleSk/LmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdCFmaWVsZERpc2FibGVkICYmIHRoaXMuY0Zvcm0uZ2V0RmllbGQoZy5rZXkpPy5maWVsZENvbnRyb2whLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWQ6b3ZlcmZsb3ctaGlkZGVuXCI+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggbWQ6ZmxleC13cmFwIGxnOmZsZXgtbm93cmFwIGl0ZW1zLWNlbnRlciBtZDpqdXN0aWZ5LWJldHdlZW4gcHktMSBweC0xIGJvcmRlci1iLVsxcHhdIGJvcmRlci1bI2RiZGJkYl0gYmctd2hpdGVcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJtZDpiYXNpcy0xLzMgb3JkZXItMVwiPlxyXG5cdFx0XHQ8YXBwLWNydW1iLWFjdGlvblxyXG5cdFx0XHRcdFthZGRWaXNpYmxlXT1cImFkZFZpc2libGUoKVwiXHJcblx0XHRcdFx0W25ld1VybF09XCJuZXdVcmxcIlxyXG5cdFx0XHRcdFtpc1Nob3dDb2ddPVwidHJ1ZVwiXHJcblx0XHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG5cdFx0XHRcdFthY3Rpb25MaXN0XT1cImFjdGlvbkxpc3QoKVwiXHJcblx0XHRcdFx0W2RhdGFdPVwiZ2V0UHJtLmRhdGEgPz8ge31cIlxyXG5cdFx0XHRcdChhY3Rpb25FdmVudCk9XCJhdXRoQ2xpY2soJGV2ZW50KVwiXHJcblx0XHRcdFx0KHNhdmVFdmVudCk9XCJzdWJtaXRGb3JtKClcIj5cclxuXHRcdFx0PC9hcHAtY3J1bWItYWN0aW9uPlxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdFx0PGRpdiBjbGFzcz1cImJhc2lzLTEvNSBsZzpiYXNpcy0yLzMgb3JkZXItMiBsZzpvcmRlci0yIG1kOm9yZGVyLWxhc3QgbWQ6YmFzaXMtZnVsbCBtZDptdC1bNnB4XVwiPlxyXG5cdFx0XHQ8aHJlZi1idG4tbGlzdFxyXG5cdFx0XHRcdFtocmVmc109XCJocmVmQnRuTGlzdCgpXCJcclxuXHRcdFx0XHQoaHJlZkNsaWNrKT1cImdvUnVuKCRldmVudClcIj48L2hyZWYtYnRuLWxpc3Q+XHJcblx0XHRcdDwhLS0gQGlmIChpZCkge1xyXG5cdFx0XHRcdEBmb3IgKGJ0biBvZiBocmVmQnRuTGlzdCgpOyB0cmFjayBidG4pIHtcclxuXHRcdFx0XHRcdDxwLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRbdmFyaWFudF09XCJidG4/LnZhcmlhbnRcIlxyXG5cdFx0XHRcdFx0XHRbc2V2ZXJpdHldPVwiYnRuPy5zZXZlcml0eVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwibXItWzZweF1cIlxyXG5cdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIlxyXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJidG4/Lmljb25cIlxyXG5cdFx0XHRcdFx0XHRsYWJlbD1cInt7IGJ0bi5pMThuS2V5ID8gaTE4bi5mYW55aShidG4uaTE4bktleSkgOiBidG4ubGFiZWwgfX1cIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwiZ29SdW4oYnRuKVwiPlxyXG5cdFx0XHRcdFx0PC9wLWJ1dHRvbj5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gLS0+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxkaXYgY2xhc3M9XCJiYXNpcy0xLzMgb3JkZXItM1wiPjwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicHgtMiBmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgbWQ6YmFzaXMtMi8zIGJhc2lzLWZ1bGxcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImhpZGRlbiBtZDpiYXNpcy0xLzMgcHktMSBiYXNpcy1mdWxsIG1kOmZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGZsZXgtcm93IG9yZGVyLTFcIj5cclxuXHRcdFx0XHRAZm9yIChhY3Rpb24gb2YgYWN0aW9uTGlzdCgpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgYWN0aW9uKSB7XHJcblx0XHRcdFx0XHQ8cC1idXR0b25cclxuXHRcdFx0XHRcdFx0c2l6ZT1cInNtYWxsXCJcclxuXHRcdFx0XHRcdFx0W2ljb25dPVwiZ2V0UHJtLmRhdGE/Lmljb25cIlxyXG5cdFx0XHRcdFx0XHRbbGFiZWxdPVwiYWN0aW9uLmkxOG5LZXkgPyAoYWN0aW9uLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLmxhYmVsXCJcclxuXHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cImFjdGlvbi5idG5EaXNhYmxlZCA/IGFjdGlvbi5idG5EaXNhYmxlZChnZXRQcm0uZGF0YSkgOiBmYWxzZVwiXHJcblx0XHRcdFx0XHRcdFtzdHlsZUNsYXNzXT1cIlxyXG5cdFx0XHRcdFx0XHRcdChhY3Rpb24uYXV0aCB8fCAwKSA+IChhdXRoTGV2ZWwoKSB8fCAwKSB8fCAhIWFjdGlvbi5idG5IaWRkZW4/LihnZXRQcm0uZGF0YSkgPyAnZm9ybS1hY3Rpb24gaGlkZGVuJyA6ICdmb3JtLWFjdGlvbiBibG9jaydcclxuXHRcdFx0XHRcdFx0XCJcclxuXHRcdFx0XHRcdFx0KG9uQ2xpY2spPVwiYWN0aW9uLm9uQ2xpY2sgIT0gJycgJiYgYWN0aW9uLm9uQ2xpY2s/LihnZXRQcm0uZGF0YSlcIj5cclxuXHRcdFx0XHRcdDwvcC1idXR0b24+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsIGZsZXggbWQ6ZmxleC1yb3ctcmV2ZXJzZSBmbGV4LXJvdyBtZDpvcmRlci0yIG9yZGVyLWZpcnN0IHctZnVsbFwiPlxyXG5cdFx0XHRcdDxjdXN0b20tc3RlcHNcclxuXHRcdFx0XHRcdCNjdXN0b21TdGVwc1xyXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGxcIlxyXG5cdFx0XHRcdFx0W3N0ZXBzXT1cInN0YXR1c1N0ZXBzKClcIlxyXG5cdFx0XHRcdFx0W2N1cnJlbnRdPVwiZ2V0UHJtLmRhdGEgJiYgZ2V0UHJtLmRhdGFbc3RhdHVzS2V5KCldICE9PSB1bmRlZmluZWQgPyBnZXRQcm0uZGF0YVtzdGF0dXNLZXkoKV0gOiAwXCJcclxuXHRcdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG5cdFx0XHRcdFx0KGNoYW5nZSk9XCJzdGF0dXNDaGFuZ2UoJGV2ZW50LCBjdXN0b21TdGVwcylcIj5cclxuXHRcdFx0XHQ8L2N1c3RvbS1zdGVwcz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwibWFpbiBmbGV4IGZsZXgtd3JhcCBtZDpvdmVyZmxvdy15LWhpZGRlblwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTIvMyBiYXNpcy1mdWxsIGgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImJnLXdoaXRlIG14LTIgZm9ybS1wYW5lbFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJwLTIgZmxleC0xXCI+XHJcblx0XHRcdFx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm0oKS5mb3JtIVwiPlxyXG5cdFx0XHRcdFx0XHQ8Y3VzdG9tLWZvcm1cclxuXHRcdFx0XHRcdFx0XHQjY0Zvcm1cclxuXHRcdFx0XHRcdFx0XHRbb3B0aW9uc109XCJmb3JtT3B0aW9uc1wiXHJcblx0XHRcdFx0XHRcdFx0W3Vwc2VydF09XCJ1cHNlcnRQcm1cIlxyXG5cdFx0XHRcdFx0XHRcdFttb2RlbF09XCJnZXRQcm0uZGF0YSA/PyB7fVwiPjwvY3VzdG9tLWZvcm0+XHJcblx0XHRcdFx0XHQ8L2Zvcm0+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0QGlmIChncmlkTGlzdCgpICYmIGdyaWRMaXN0KCkubGVuZ3RoID4gMSkge1xyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJlbGF0aXZlIG1iLTJcIj5cclxuXHRcdFx0XHRcdFx0PHAtdGFicyBbKHZhbHVlKV09XCJpbmRleFZhbHVlXCI+XHJcblx0XHRcdFx0XHRcdFx0PHAtdGFibGlzdD5cclxuXHRcdFx0XHRcdFx0XHRcdEBmb3IgKGZjaGlsZCBvZiBncmlkTGlzdCgpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgZmNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxwLXRhYiBbdmFsdWVdPVwiaVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGZjaGlsZC5pMThuS2V5ID8gaTE4bi5mYW55aShmY2hpbGQuaTE4bktleSkgOiBmY2hpbGQudGl0bGUgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9wLXRhYj5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQ8L3AtdGFibGlzdD5cclxuXHRcdFx0XHRcdFx0PC9wLXRhYnM+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGZvciAoZ3JpZCBvZiBncmlkTGlzdCgpOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgZ3JpZCkge1xyXG5cdFx0XHRcdFx0PGN1c3RvbS1ncmlkXHJcblx0XHRcdFx0XHRcdCNjdXN0b21HcmlkXHJcblx0XHRcdFx0XHRcdFtoaWRkZW5dPVwiaW5kZXhWYWx1ZSAhPSBpXCJcclxuXHRcdFx0XHRcdFx0W3Jvd0RhdGFdPVwiZ2V0UHJtLmRhdGE/LltncmlkLnN1YkRhdGFLZXkhXSB8fCBbXVwiXHJcblx0XHRcdFx0XHRcdFt1cHNlcnRdPVwidXBzZXJ0UHJtXCJcclxuXHRcdFx0XHRcdFx0KGRlbGV0ZUVtaXQpPVwiZGVsUm93cygkZXZlbnQpXCJcclxuXHRcdFx0XHRcdFx0W2FkZFR5cGVdPVwiZ3JpZC5zdWJUYWJsZVNvdXJjZVwiXHJcblx0XHRcdFx0XHRcdChhZGRFbWl0KT1cImRhdGFTb3VyY2VTaG93KClcIlxyXG5cdFx0XHRcdFx0XHRbZ3JpZE9wdGlvbnNdPVwiZ3JpZC5ncmlkT3B0aW9uc1wiXHJcblx0XHRcdFx0XHRcdFthdXRoTGV2ZWxdPVwiYXV0aExldmVsKClcIlxyXG5cdFx0XHRcdFx0XHRbc2VsZWN0RGF0YV09XCJncmlkLnNlbGVjdERhdGFcIj5cclxuXHRcdFx0XHRcdDwvY3VzdG9tLWdyaWQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1kOmJhc2lzLTEvMyBiYXNpcy1mdWxsIGgtZnVsbCBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0PGN1c3RvbS1sb2cgW2xvZ3NdPVwiZ2V0UHJtLmRhdGE/LmxvZyA/PyBbXVwiPjwvY3VzdG9tLWxvZz5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuPHJvdy1zZWxlY3RvclxyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcblx0W3NlYXJjaFBybV09XCJkaWFsb2dTZWFyY2hQcm1cIlxyXG5cdFtncmlkT3B0aW9uc109XCJzZWxlY3RPcHRpb25zXCJcclxuXHQob25Payk9XCJvbk9rKCRldmVudClcIj5cclxuPC9yb3ctc2VsZWN0b3I+XHJcbiJdfQ==
|