keevo-components 1.8.455 → 1.8.457
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/api/base-components/base-component-crud-form.mjs +1 -1
- package/esm2022/lib/api/base-components/base-component-crud-list.mjs +1 -1
- package/esm2022/lib/api/base-components/base-component-crud.mjs +1 -1
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +7 -2
- package/esm2022/lib/api/base-components/base-component-multi-select.mjs +1 -1
- package/esm2022/lib/api/components/chart/orchart.config.mjs +1 -1
- package/esm2022/lib/api/components/chart/orchartnode.mjs +1 -1
- package/esm2022/lib/api/components/table/table.config.column.mjs +1 -1
- package/esm2022/lib/api/components/table/table.paginate.mjs +1 -1
- package/esm2022/lib/api/components/table/tableedit.config.column.mjs +1 -1
- package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +1 -1
- package/esm2022/lib/api/modules/primeng.module.mjs +1 -1
- package/esm2022/lib/api/pipes/capitalize.pipe.mjs +1 -1
- package/esm2022/lib/api/services/breadcrumbs.service.mjs +1 -1
- package/esm2022/lib/api/services/chat.service.mjs +1 -1
- package/esm2022/lib/api/services/form.service.mjs +1 -1
- package/esm2022/lib/api/services/image.cutter.service.mjs +43 -43
- package/esm2022/lib/api/services/notification.service.mjs +1 -1
- package/esm2022/lib/api/services/orgchart.service.mjs +1 -1
- package/esm2022/lib/components/keevo-components.module.mjs +1 -1
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +3 -3
- package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +1 -1
- package/esm2022/lib/components/kv-button/kv-button.component.mjs +3 -3
- package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +3 -3
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +25 -3
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +3 -3
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +1 -1
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +14 -6
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +3 -3
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +1 -1
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +3 -3
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +3 -3
- package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +3 -3
- package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +3 -3
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +3 -3
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +3 -3
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +11 -11
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +1 -1
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +3 -3
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +3 -3
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +1 -1
- package/esm2022/lib/components/kv-report/kv-report.component.mjs +3 -3
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +3 -3
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +3 -3
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +3 -3
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +3 -3
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +3 -3
- package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +1 -1
- package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +3 -3
- package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +3 -3
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/keevo-components.mjs +153 -118
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/api/base-components/base-component-dropdown.d.ts +2 -1
- package/lib/components/kv-chart/kv-chart.component.d.ts +2 -2
- package/package.json +2 -2
- package/src/lib/components/keevo-components-styles.scss +183 -183
- package/src/lib/components/kv-button/kv-button.component.scss +203 -203
- package/src/lib/components/kv-table/kv-table.component.scss +202 -202
|
@@ -110,11 +110,11 @@ export class KvContentViewerComponent {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, btnTelaCheia: { classPropertyName: "btnTelaCheia", publicName: "btnTelaCheia", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile" }, ngImport: i0, template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\" style=\"height: 100%;\">\n <!-- Lista de documentos -->\n <div\n class=\"card-perfil col-12 md:col-4 lg:col-3\"\n (scroll)=\"scrollHandler($event)\"\n [ngClass]=\"{\n 'overflow-y-scroll': dataSource().length > 0,\n 'overflow-y-hidden': dataSource().length === 0\n }\"\n style=\"position: relative; height: 100%; min-height: 15rem;\"\n >\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\n <!-- Lista de cards -->\n <div\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\n (click)=\"visualizarPreview(option)\"\n [ngClass]=\"{\n 'card-naoVisualizado': !isVisualizado(option),\n 'card-selected': option === arquivoPreview(),\n 'card-normal': option !== arquivoPreview(),\n }\"\n >\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis \" style=\"max-width: 100%;\">\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"card-common-style default-card\">\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\n <p class=\"text-sm mt-2\">\n Kv-file-preview aguardando um template... \n </p>\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\n </div>\n </ng-template>\n </div>\n\n </div>\n\n <ng-template #emptyDocumentList>\n\n @if(isLoadingSkeleton){\n <p-skeleton *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"></p-skeleton>\n }\n\n @if(!noDocumentListTemplate) {\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\n <div class=\" flex align-items-center gap-1\">\n <span class=\"material-symbols-outlined\"> inbox </span>\n <p>Nenhum documento dispon\u00EDvel.</p>\n </div>\n </div>\n } @else {\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\n </div>\n }\n </ng-template>\n\n <!-- Contador de documentos - Fixo na parte inferior -->\n <div\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\n style=\"position: sticky; bottom: -10px; background-color: white\"\n >\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\n </div>\n </div>\n\n <!-- Visualizador -->\n<div id=\"fullscreenDiv\" class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative; height: 100%;\"\n [ngStyle]=\"{\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\n }\">\n @if(btnTelaCheia)\n {\n <div class=\"grid\">\n <div class=\"col\"></div>\n <span id=\"fullscreenBtn\" (click)=\"alternarTelaCheia()\" class=\"material-symbols-outlined p-2 text-xl cursor-pointer\">\n open_in_full\n </span>\n </div>\n }\n @if(visualizadorDocumentos) {\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\n @if(isLoading) {\n <ngx-loading\n [show]=\"isLoading\"\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\n ></ngx-loading>\n }\n <kv-file-viewer-novo\n *ngIf=\"extencaoDocumento !== 'ekp'\"\n [arquivo]=\"arquivo()!\"\n [type]=\"type()!\"\n [blob]=\"blob()!\"\n [width]=\"'100%'\" \n [height]=\"'100%'\"\n class=\"file-viewer\"\n style=\"max-height: 100%;\"\n >\n </kv-file-viewer-novo>\n\n <div\n id=\"html-content\"\n [innerHTML]=\"ekpContent()\"\n *ngIf=\"extencaoDocumento === 'ekp'\"\n class=\"ekp-content\"\n style=\"overflow-y: auto; max-height: 100%;\"\n ></div>\n </ng-container>\n } @else {\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\n <ng-container\n *ngTemplateOutlet=\"\n contentTemplate;\n context: { $implicit: arquivoPreview() }\n \"\n style=\"overflow-y: auto; max-height: 100%;\"\n ></ng-container>\n </ng-container>\n }\n <ng-template #noDocumentSelected>\n @if(!noDocumentSelectedTemplate) {\n <div\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\n style=\"height: 100%; overflow-y: auto;\"\n >\n <p class=\"text-center text-gray-500\">\n Selecione um arquivo para visualiza\u00E7\u00E3o\n </p>\n <img\n [src]=\"\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\n \"\n style=\"max-height: 50%; margin-top: 2rem;\"\n alt=\"\"\n />\n </div>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\n ></ng-container>\n }\n </ng-template>\n</div>\n\n</div>\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f!important}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}:host ::ng-deep .p-skeleton{height:5rem!important;border-radius:1rem;margin-top:.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i3.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i4.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, btnTelaCheia: { classPropertyName: "btnTelaCheia", publicName: "btnTelaCheia", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile" }, ngImport: i0, template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\" style=\"height: 100%;\">\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-scroll': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem;\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option),\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis \" style=\"max-width: 100%;\">\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template... \r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n\r\n @if(isLoadingSkeleton){\r\n <p-skeleton *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"></p-skeleton>\r\n }\r\n\r\n @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\" flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n<div id=\"fullscreenDiv\" class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative; height: 100%;\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\">\r\n @if(btnTelaCheia)\r\n {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span id=\"fullscreenBtn\" (click)=\"alternarTelaCheia()\" class=\"material-symbols-outlined p-2 text-xl cursor-pointer\">\r\n open_in_full\r\n </span>\r\n </div>\r\n }\r\n @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\" \r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%;\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></ng-container>\r\n </ng-container>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto;\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem;\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n</div>\r\n\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f!important}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}:host ::ng-deep .p-skeleton{height:5rem!important;border-radius:1rem;margin-top:.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i3.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i4.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }
|
|
114
114
|
}
|
|
115
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
|
-
args: [{ selector: 'kv-content-viewer', template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\" style=\"height: 100%;\">\n <!-- Lista de documentos -->\n <div\n class=\"card-perfil col-12 md:col-4 lg:col-3\"\n (scroll)=\"scrollHandler($event)\"\n [ngClass]=\"{\n 'overflow-y-scroll': dataSource().length > 0,\n 'overflow-y-hidden': dataSource().length === 0\n }\"\n style=\"position: relative; height: 100%; min-height: 15rem;\"\n >\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\n <!-- Lista de cards -->\n <div\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\n (click)=\"visualizarPreview(option)\"\n [ngClass]=\"{\n 'card-naoVisualizado': !isVisualizado(option),\n 'card-selected': option === arquivoPreview(),\n 'card-normal': option !== arquivoPreview(),\n }\"\n >\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis \" style=\"max-width: 100%;\">\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\n <ng-container\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n </div>\n <ng-template #defaultTemplate>\n <div class=\"card-common-style default-card\">\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\n <p class=\"text-sm mt-2\">\n Kv-file-preview aguardando um template... \n </p>\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\n </div>\n </ng-template>\n </div>\n\n </div>\n\n <ng-template #emptyDocumentList>\n\n @if(isLoadingSkeleton){\n <p-skeleton *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"></p-skeleton>\n }\n\n @if(!noDocumentListTemplate) {\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\n <div class=\" flex align-items-center gap-1\">\n <span class=\"material-symbols-outlined\"> inbox </span>\n <p>Nenhum documento dispon\u00EDvel.</p>\n </div>\n </div>\n } @else {\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\n </div>\n }\n </ng-template>\n\n <!-- Contador de documentos - Fixo na parte inferior -->\n <div\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\n style=\"position: sticky; bottom: -10px; background-color: white\"\n >\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\n </div>\n </div>\n\n <!-- Visualizador -->\n<div id=\"fullscreenDiv\" class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative; height: 100%;\"\n [ngStyle]=\"{\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\n }\">\n @if(btnTelaCheia)\n {\n <div class=\"grid\">\n <div class=\"col\"></div>\n <span id=\"fullscreenBtn\" (click)=\"alternarTelaCheia()\" class=\"material-symbols-outlined p-2 text-xl cursor-pointer\">\n open_in_full\n </span>\n </div>\n }\n @if(visualizadorDocumentos) {\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\n @if(isLoading) {\n <ngx-loading\n [show]=\"isLoading\"\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\n ></ngx-loading>\n }\n <kv-file-viewer-novo\n *ngIf=\"extencaoDocumento !== 'ekp'\"\n [arquivo]=\"arquivo()!\"\n [type]=\"type()!\"\n [blob]=\"blob()!\"\n [width]=\"'100%'\" \n [height]=\"'100%'\"\n class=\"file-viewer\"\n style=\"max-height: 100%;\"\n >\n </kv-file-viewer-novo>\n\n <div\n id=\"html-content\"\n [innerHTML]=\"ekpContent()\"\n *ngIf=\"extencaoDocumento === 'ekp'\"\n class=\"ekp-content\"\n style=\"overflow-y: auto; max-height: 100%;\"\n ></div>\n </ng-container>\n } @else {\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\n <ng-container\n *ngTemplateOutlet=\"\n contentTemplate;\n context: { $implicit: arquivoPreview() }\n \"\n style=\"overflow-y: auto; max-height: 100%;\"\n ></ng-container>\n </ng-container>\n }\n <ng-template #noDocumentSelected>\n @if(!noDocumentSelectedTemplate) {\n <div\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\n style=\"height: 100%; overflow-y: auto;\"\n >\n <p class=\"text-center text-gray-500\">\n Selecione um arquivo para visualiza\u00E7\u00E3o\n </p>\n <img\n [src]=\"\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\n \"\n style=\"max-height: 50%; margin-top: 2rem;\"\n alt=\"\"\n />\n </div>\n } @else {\n <ng-container\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\n ></ng-container>\n }\n </ng-template>\n</div>\n\n</div>\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f!important}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}:host ::ng-deep .p-skeleton{height:5rem!important;border-radius:1rem;margin-top:.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"] }]
|
|
117
|
+
args: [{ selector: 'kv-content-viewer', template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\" style=\"height: 100%;\">\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-scroll': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem;\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option),\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis \" style=\"max-width: 100%;\">\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template... \r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n\r\n @if(isLoadingSkeleton){\r\n <p-skeleton *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"></p-skeleton>\r\n }\r\n\r\n @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\" flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n<div id=\"fullscreenDiv\" class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative; height: 100%;\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\">\r\n @if(btnTelaCheia)\r\n {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span id=\"fullscreenBtn\" (click)=\"alternarTelaCheia()\" class=\"material-symbols-outlined p-2 text-xl cursor-pointer\">\r\n open_in_full\r\n </span>\r\n </div>\r\n }\r\n @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\" \r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%;\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></ng-container>\r\n </ng-container>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto;\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem;\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n</div>\r\n\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f!important}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}:host ::ng-deep .p-skeleton{height:5rem!important;border-radius:1rem;margin-top:.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"] }]
|
|
118
118
|
}], propDecorators: { extencaoDocumento: [{
|
|
119
119
|
type: Input
|
|
120
120
|
}], totalRecords: [{
|
|
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
140
140
|
}], onSelectFile: [{
|
|
141
141
|
type: Output
|
|
142
142
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUTFILE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFTRSxrQkFBa0I7UUFDbkIsZUFBVSxHQUF1QixLQUFLLENBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsWUFBTyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDL0MsbUJBQWMsR0FBRyxNQUFNLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDNUMsU0FBSSxHQUFHLEtBQUssQ0FBTyxFQUFTLENBQUMsQ0FBQztRQUM5QixjQUFTLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsS0FBSyxDQUF1QixTQUFTLENBQUMsQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxRQUFRLENBQzdCLEdBQUcsRUFBRSxDQUFD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ckMsb3RLQXVKQTs7MkZEL0lhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBMEJ0QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFVSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna3YtY29udGVudC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEt2Q29udGVudFZpZXdlckNvbXBvbmVudCB7XG5cblxuXG4gIC8vICNyZWdpb24gU2lnbmFsc1xuIGRhdGFTb3VyY2U6IElucHV0U2lnbmFsPGFueVtdPiA9IGlucHV0PGFueVtdPihbXSk7XG4gcGFnaW5hSW5pY2lhbCA9IHNpZ25hbDxudW1iZXI+KDEpO1xuIGFycXVpdm8gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gYXJxdWl2b1ByZXZpZXcgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xuIG5vbWVBcnF1aXZvID0gc2lnbmFsPHN0cmluZz4oJycpO1xuIHR5cGUgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gYmxvYiA9IGlucHV0PEJsb2I+KCcnIGFzIGFueSk7XG4gaWRhcnF1aXZvID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiBla3BDb250ZW50ID0gaW5wdXQ8U2FmZUh0bWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gdG90YWxJdGVuc0NhcnJlZ2FkbyA9IGNvbXB1dGVkKFxuICAoKSA9PiB0aGlzLmRhdGFTb3VyY2UoKT8ubGVuZ3RoIHx8IDBcbik7XG4vLyAjZW5kcmVnaW9uXG5cbi8vICNyZWdpb24gUHJvcGVydGllc1xuZW1wcmVzYVNlbGVjaW9uYWRhITogYW55O1xuaWR0aXBvZG9jdW1lbnRvITogbnVtYmVyW107XG5ASW5wdXQoKSBleHRlbmNhb0RvY3VtZW50byE6IHN0cmluZztcbnByZXZpZXdPbjogYm9vbGVhbiA9IGZhbHNlO1xuc2VsZWN0ZWRJdGVtOiBhbnkgPSB7fTtcbkBJbnB1dCgpIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcbmlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuZGlzcGxheVNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbmlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbkBJbnB1dCgpIHZpc3VhbGl6YWRvckRvY3VtZW50b3M6IGJvb2xlYW4gPSBmYWxzZTtcbkBJbnB1dCgpIGNhcmRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5ASW5wdXQoKSBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuQElucHV0KCkgbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuQElucHV0KCkgbm9Eb2N1bWVudExpc3RUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5ASW5wdXQoKSBpbmR2aXN1YWxpemFkbzogYm9vbGVhbiA9IGZhbHNlO1xuQElucHV0KCkgYnRuVGVsYUNoZWlhOiBib29sZWFuID0gZmFsc2U7XG5ASW5wdXQoKSBpc0xvYWRpbmdTa2VsZXRvbjogYm9vbGVhbiA9IGZhbHNlO1xua2V5VmlzdWFsaXphZG86IHN0cmluZyA9ICdpbmR2aXN1YWxpemFkbyc7IFxuXG50b2RheURhdGUoKTogc3RyaW5nIHtcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICByZXR1cm4gdG9kYXkudG9Mb2NhbGVEYXRlU3RyaW5nKCdwdC1CUicsIHsgZGF5OiAnMi1kaWdpdCcsIG1vbnRoOiAnMi1kaWdpdCcsIHllYXI6ICdudW1lcmljJyB9KTtcbn1cbi8vICNlbmRyZWdpb25cblxuLy8gI3JlZ2lvbiBPdXRwdXRzXG5AT3V0cHV0KCkgb25TY3JvbGxIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbkBPdXRwdXQoKSBvblNlbGVjdEZpbGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuLy8gI2VuZHJlZ2lvblxuXG50cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogYW55IHtcbiAgcmV0dXJuIGl0ZW0uaWRhcnF1aXZvOyBcbn1cblxuaXNWaXN1YWxpemFkbyhvcHRpb246IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gb3B0aW9uW3RoaXMua2V5VmlzdWFsaXphZG9dIHx8IGZhbHNlO1xufVxuXG52aXN1YWxpemFyUHJldmlldyhhcnF1aXZvOiBhbnkpOiB2b2lkIHtcbiAgYXJxdWl2b1t0aGlzLmtleVZpc3VhbGl6YWRvXSA9IHRydWU7XG5cbiAgdGhpcy5hcnF1aXZvUHJldmlldy5zZXQoYXJxdWl2byk7XG4gIHRoaXMub25TZWxlY3RGaWxlLmVtaXQoYXJxdWl2byk7XG4gIFxufVxuXG5hbHRlcm5hclRlbGFDaGVpYSgpIHtcbiAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuRGl2Jyk7XG4gIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuQnRuJyk7XG5cbiAgLy8gVmVyaWZpY2Egc2Ugb3MgZWxlbWVudG9zIGV4aXN0ZW1cbiAgaWYgKGVsZW1lbnQgJiYgYnV0dG9uKSB7XG4gICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xuICAgICAgLy8gRXhwYW5kaXIgcGFyYSB0ZWxhIGNoZWlhXG4gICAgICBpZiAoZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbikge1xuICAgICAgICBlbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkubW96UmVxdWVzdEZ1bGxTY3JlZW4pIHsgLy8gUGFyYSBGaXJlZm94XG4gICAgICAgIChlbGVtZW50IGFzIGFueSkubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoKGVsZW1lbnQgYXMgYW55KS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbikgeyAvLyBQYXJhIENocm9tZSwgU2FmYXJpIGUgT3BlcmFcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBJRS9FZGdlXG4gICAgICAgIChlbGVtZW50IGFzIGFueSkubXNSZXF1ZXN0RnVsbHNjcmVlbigpO1xuICAgICAgfVxuICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTYWlyIGRhIHRlbGEgY2hlaWFcbiAgICAgIGlmIChkb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xuICAgICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7IC8vIFBhcmEgRmlyZWZveFxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XG4gICAgICB9IGVsc2UgaWYgKChkb2N1bWVudCBhcyBhbnkpLndlYmtpdEV4aXRGdWxsc2NyZWVuKSB7IC8vIFBhcmEgQ2hyb21lLCBTYWZhcmkgZSBPcGVyYVxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS53ZWJraXRFeGl0RnVsbHNjcmVlbigpO1xuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS5tc0V4aXRGdWxsc2NyZWVuKSB7IC8vIFBhcmEgSUUvRWRnZVxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS5tc0V4aXRGdWxsc2NyZWVuKCk7XG4gICAgICB9XG4gICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcbiAgICB9XG4gIH1cbn1cblxubmdPbkluaXQoKTogdm9pZCB7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCAoKSA9PiB7XG4gICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5CdG4nKTtcbiAgICBcbiAgICBpZiAoYnV0dG9uKSB7XG4gICAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XG4gICAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdvcGVuX2luX2Z1bGwnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbnNjcm9sbEhhbmRsZXIoJGV2ZW50OiBFdmVudCkge1xuICBjb25zdCBlbGVtZW50ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAvL3NlIG8gZXNjcm9sbCBjaGVnYXIgYXTDqSBvIGZpbmFsXG4gIGlmIChlbGVtZW50LnNjcm9sbEhlaWdodCAtIGVsZW1lbnQuc2Nyb2xsVG9wID09PSBlbGVtZW50LmNsaWVudEhlaWdodCkge1xuICAgIC8vIHRoaXMuYnVzY2FyUHJveGltb3NEb2N1bWVudG9zKCk7XG4gICAgdGhpcy5vblNjcm9sbEhhbmRsZXIuZW1pdCgkZXZlbnQpO1xuICB9XG59XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIG1kOmZsZXgtcm93IGdhcC0yIG10LTMgY3VzdG9tLW1heC1oZWlnaHRcIiBzdHlsZT1cImhlaWdodDogMTAwJTtcIj5cbiAgPCEtLSBMaXN0YSBkZSBkb2N1bWVudG9zIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjYXJkLXBlcmZpbCBjb2wtMTIgbWQ6Y29sLTQgbGc6Y29sLTNcIlxuICAgIChzY3JvbGwpPVwic2Nyb2xsSGFuZGxlcigkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnb3ZlcmZsb3cteS1zY3JvbGwnOiBkYXRhU291cmNlKCkubGVuZ3RoID4gMCxcbiAgICAgICdvdmVyZmxvdy15LWhpZGRlbic6IGRhdGFTb3VyY2UoKS5sZW5ndGggPT09IDBcbiAgICB9XCJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxNXJlbTtcIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCIgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgIDwhLS0gTGlzdGEgZGUgY2FyZHMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0YVNvdXJjZSgpOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICBjbGFzcz1cImNhcmQtbm9ybWFsIG91dGxpbmUtbm9uZSBib3JkZXItcm91bmQteGwgdy1mdWxsIHAtMiBtLTEgZ3JpZCBwLWZsdWlkIGZsZXggZmxleC1yb3cgZmxleC1ub3dyYXAgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcob3B0aW9uKVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAnY2FyZC1uYW9WaXN1YWxpemFkbyc6ICFpc1Zpc3VhbGl6YWRvKG9wdGlvbiksXG4gICAgJ2NhcmQtc2VsZWN0ZWQnOiBvcHRpb24gPT09IGFycXVpdm9QcmV2aWV3KCksXG4gICAgJ2NhcmQtbm9ybWFsJzogb3B0aW9uICE9PSBhcnF1aXZvUHJldmlldygpLFxuICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtZ3Jvdy0xIG1sLTIgZmxleC1jb2x1bW4gZ2FwLTEgbS0wIHAtMCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpcyBcIiBzdHlsZT1cIm1heC13aWR0aDogMTAwJTtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FyZFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbW1vbi1zdHlsZSBkZWZhdWx0LWNhcmRcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIG10LTJcIj5cbiAgICAgICAgICAgICAgS3YtZmlsZS1wcmV2aWV3IGFndWFyZGFuZG8gdW0gdGVtcGxhdGUuLi4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LXNtIHAtMCBtLTBcIj5EYXRhOiB7eyB0b2RheURhdGUoKSB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5RG9jdW1lbnRMaXN0PlxuXG4gICAgICBAaWYoaXNMb2FkaW5nU2tlbGV0b24pe1xuICAgICAgICA8cC1za2VsZXRvbiAqbmdGb3I9XCJsZXQgaSBvZiBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOV1cIj48L3Atc2tlbGV0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZighbm9Eb2N1bWVudExpc3RUZW1wbGF0ZSkge1xuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IGluYm94IDwvc3Bhbj5cbiAgICAgICAgICA8cD5OZW5odW0gZG9jdW1lbnRvIGRpc3BvbsOtdmVsLjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG10LTQgbS0zXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRMaXN0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIENvbnRhZG9yIGRlIGRvY3VtZW50b3MgLSBGaXhvIG5hIHBhcnRlIGluZmVyaW9yIC0tPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RpY2t5LWNvdW50ZXIgZmxleCBmbGV4LXJvdyBmbGV4LTEgcHgtMiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMlwiXG4gICAgICBzdHlsZT1cInBvc2l0aW9uOiBzdGlja3k7IGJvdHRvbTogLTEwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlXCJcbiAgICA+XG4gICAgICA8c3Bhbj57eyB0b3RhbEl0ZW5zQ2FycmVnYWRvKCkgfX0gZGUge3sgdG90YWxSZWNvcmRzIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIFZpc3VhbGl6YWRvciAtLT5cbjxkaXYgaWQ9XCJmdWxsc2NyZWVuRGl2XCIgY2xhc3M9XCJjYXJkLXBlcmZpbCBjb2wtMTIgbWQ6Y29sLTggbGc6Y29sLTlcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlO1wiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICAnb3ZlcmZsb3cteSc6IGFycXVpdm9QcmV2aWV3KCkgPyAnYXV0bycgOiAnaGlkZGVuJ1xuICB9XCI+XG4gIEBpZihidG5UZWxhQ2hlaWEpXG4gIHtcbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxuICAgICAgPHNwYW4gaWQ9XCJmdWxsc2NyZWVuQnRuXCIgKGNsaWNrKT1cImFsdGVybmFyVGVsYUNoZWlhKClcIiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgcC0yIHRleHQteGwgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgb3Blbl9pbl9mdWxsXG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmKHZpc3VhbGl6YWRvckRvY3VtZW50b3MpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2bygpOyBlbHNlIG5vRG9jdW1lbnRTZWxlY3RlZFwiPlxuICAgICAgQGlmKGlzTG9hZGluZykge1xuICAgICAgPG5neC1sb2FkaW5nXG4gICAgICAgIFtzaG93XT1cImlzTG9hZGluZ1wiXG4gICAgICAgIFtjb25maWddPVwieyBiYWNrZHJvcEJvcmRlclJhZGl1czogJzNweCcsIGZ1bGxTY3JlZW5CYWNrZHJvcDogZmFsc2UgfVwiXG4gICAgICA+PC9uZ3gtbG9hZGluZz5cbiAgICAgIH1cbiAgICAgIDxrdi1maWxlLXZpZXdlci1ub3ZvXG4gICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXG4gICAgICAgIFthcnF1aXZvXT1cImFycXVpdm8oKSFcIlxuICAgICAgICBbdHlwZV09XCJ0eXBlKCkhXCJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXG4gICAgICAgIFt3aWR0aF09XCInMTAwJSdcIiBcbiAgICAgICAgW2hlaWdodF09XCInMTAwJSdcIlxuICAgICAgICBjbGFzcz1cImZpbGUtdmlld2VyXCJcbiAgICAgICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiAxMDAlO1wiXG4gICAgICA+XG4gICAgICA8L2t2LWZpbGUtdmlld2VyLW5vdm8+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgaWQ9XCJodG1sLWNvbnRlbnRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImVrcENvbnRlbnQoKVwiXG4gICAgICAgICpuZ0lmPVwiZXh0ZW5jYW9Eb2N1bWVudG8gPT09ICdla3AnXCJcbiAgICAgICAgY2xhc3M9XCJla3AtY29udGVudFwiXG4gICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJTtcIlxuICAgICAgPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2b1ByZXZpZXcoKTsgZWxzZSBub0RvY3VtZW50U2VsZWN0ZWRcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XG4gICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGFycXVpdm9QcmV2aWV3KCkgfVxuICAgICAgICBcIlxuICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCU7XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgfVxuICA8bmctdGVtcGxhdGUgI25vRG9jdW1lbnRTZWxlY3RlZD5cbiAgICBAaWYoIW5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJuby1kb2N1bWVudC1tZXNzYWdlIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IG92ZXJmbG93LXk6IGF1dG87XCJcbiAgICA+XG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS01MDBcIj5cbiAgICAgICAgU2VsZWNpb25lIHVtIGFycXVpdm8gcGFyYSB2aXN1YWxpemHDp8Ojb1xuICAgICAgPC9wPlxuICAgICAgPGltZ1xuICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICdodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcvRGlnaXRhbF9wZXJzb25hbF9maWxlcy1wYW5hXzMucG5nJ1xuICAgICAgICBcIlxuICAgICAgICBzdHlsZT1cIm1heC1oZWlnaHQ6IDUwJTsgbWFyZ2luLXRvcDogMnJlbTtcIlxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjwvZGl2PlxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUTFILE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFTRSxrQkFBa0I7UUFDbkIsZUFBVSxHQUF1QixLQUFLLENBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsWUFBTyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDL0MsbUJBQWMsR0FBRyxNQUFNLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDNUMsU0FBSSxHQUFHLEtBQUssQ0FBTyxFQUFTLENBQUMsQ0FBQztRQUM5QixjQUFTLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsS0FBSyxDQUF1QixTQUFTLENBQUMsQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxRQUFRLENBQzdCLEdBQUcsRUFBRSxDQUFD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ckMsa2dMQXVKQTs7MkZEL0lhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBMEJ0QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFVSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1jb250ZW50LXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkNvbnRlbnRWaWV3ZXJDb21wb25lbnQge1xyXG5cclxuXHJcblxyXG4gIC8vICNyZWdpb24gU2lnbmFsc1xyXG4gZGF0YVNvdXJjZTogSW5wdXRTaWduYWw8YW55W10+ID0gaW5wdXQ8YW55W10+KFtdKTtcclxuIHBhZ2luYUluaWNpYWwgPSBzaWduYWw8bnVtYmVyPigxKTtcclxuIGFycXVpdm8gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiBhcnF1aXZvUHJldmlldyA9IHNpZ25hbDxhbnk+KHVuZGVmaW5lZCk7XHJcbiBub21lQXJxdWl2byA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcclxuIHR5cGUgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiBibG9iID0gaW5wdXQ8QmxvYj4oJycgYXMgYW55KTtcclxuIGlkYXJxdWl2byA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiBla3BDb250ZW50ID0gaW5wdXQ8U2FmZUh0bWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiB0b3RhbEl0ZW5zQ2FycmVnYWRvID0gY29tcHV0ZWQoXHJcbiAgKCkgPT4gdGhpcy5kYXRhU291cmNlKCk/Lmxlbmd0aCB8fCAwXHJcbik7XHJcbi8vICNlbmRyZWdpb25cclxuXHJcbi8vICNyZWdpb24gUHJvcGVydGllc1xyXG5lbXByZXNhU2VsZWNpb25hZGEhOiBhbnk7XHJcbmlkdGlwb2RvY3VtZW50byE6IG51bWJlcltdO1xyXG5ASW5wdXQoKSBleHRlbmNhb0RvY3VtZW50byE6IHN0cmluZztcclxucHJldmlld09uOiBib29sZWFuID0gZmFsc2U7XHJcbnNlbGVjdGVkSXRlbTogYW55ID0ge307XHJcbkBJbnB1dCgpIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcclxuaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbmRpc3BsYXlTaWRlYmFyOiBib29sZWFuID0gZmFsc2U7XHJcbmlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgdmlzdWFsaXphZG9yRG9jdW1lbnRvczogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBjYXJkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBub0RvY3VtZW50U2VsZWN0ZWRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIG5vRG9jdW1lbnRMaXN0VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBpbmR2aXN1YWxpemFkbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBidG5UZWxhQ2hlaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgaXNMb2FkaW5nU2tlbGV0b246IGJvb2xlYW4gPSBmYWxzZTtcclxua2V5VmlzdWFsaXphZG86IHN0cmluZyA9ICdpbmR2aXN1YWxpemFkbyc7IFxyXG5cclxudG9kYXlEYXRlKCk6IHN0cmluZyB7XHJcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gIHJldHVybiB0b2RheS50b0xvY2FsZURhdGVTdHJpbmcoJ3B0LUJSJywgeyBkYXk6ICcyLWRpZ2l0JywgbW9udGg6ICcyLWRpZ2l0JywgeWVhcjogJ251bWVyaWMnIH0pO1xyXG59XHJcbi8vICNlbmRyZWdpb25cclxuXHJcbi8vICNyZWdpb24gT3V0cHV0c1xyXG5AT3V0cHV0KCkgb25TY3JvbGxIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuQE91dHB1dCgpIG9uU2VsZWN0RmlsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbi8vICNlbmRyZWdpb25cclxuXHJcbnRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBhbnkge1xyXG4gIHJldHVybiBpdGVtLmlkYXJxdWl2bzsgXHJcbn1cclxuXHJcbmlzVmlzdWFsaXphZG8ob3B0aW9uOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gb3B0aW9uW3RoaXMua2V5VmlzdWFsaXphZG9dIHx8IGZhbHNlO1xyXG59XHJcblxyXG52aXN1YWxpemFyUHJldmlldyhhcnF1aXZvOiBhbnkpOiB2b2lkIHtcclxuICBhcnF1aXZvW3RoaXMua2V5VmlzdWFsaXphZG9dID0gdHJ1ZTtcclxuXHJcbiAgdGhpcy5hcnF1aXZvUHJldmlldy5zZXQoYXJxdWl2byk7XHJcbiAgdGhpcy5vblNlbGVjdEZpbGUuZW1pdChhcnF1aXZvKTtcclxuICBcclxufVxyXG5cclxuYWx0ZXJuYXJUZWxhQ2hlaWEoKSB7XHJcbiAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuRGl2Jyk7XHJcbiAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5CdG4nKTtcclxuXHJcbiAgLy8gVmVyaWZpY2Egc2Ugb3MgZWxlbWVudG9zIGV4aXN0ZW1cclxuICBpZiAoZWxlbWVudCAmJiBidXR0b24pIHtcclxuICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcclxuICAgICAgLy8gRXhwYW5kaXIgcGFyYSB0ZWxhIGNoZWlhXHJcbiAgICAgIGlmIChlbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkubW96UmVxdWVzdEZ1bGxTY3JlZW4pIHsgLy8gUGFyYSBGaXJlZm94XHJcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBDaHJvbWUsIFNhZmFyaSBlIE9wZXJhXHJcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChlbGVtZW50IGFzIGFueSkubXNSZXF1ZXN0RnVsbHNjcmVlbikgeyAvLyBQYXJhIElFL0VkZ2VcclxuICAgICAgICAoZWxlbWVudCBhcyBhbnkpLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfVxyXG4gICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnY2xvc2VfZnVsbHNjcmVlbic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTYWlyIGRhIHRlbGEgY2hlaWFcclxuICAgICAgaWYgKGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7IC8vIFBhcmEgRmlyZWZveFxyXG4gICAgICAgIChkb2N1bWVudCBhcyBhbnkpLm1vekNhbmNlbEZ1bGxTY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS53ZWJraXRFeGl0RnVsbHNjcmVlbikgeyAvLyBQYXJhIENocm9tZSwgU2FmYXJpIGUgT3BlcmFcclxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS53ZWJraXRFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChkb2N1bWVudCBhcyBhbnkpLm1zRXhpdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBJRS9FZGdlXHJcbiAgICAgICAgKGRvY3VtZW50IGFzIGFueSkubXNFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdvcGVuX2luX2Z1bGwnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxubmdPbkluaXQoKTogdm9pZCB7XHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZScsICgpID0+IHtcclxuICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuQnRuJyk7XHJcbiAgICBcclxuICAgIGlmIChidXR0b24pIHtcclxuICAgICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xyXG4gICAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdvcGVuX2luX2Z1bGwnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdjbG9zZV9mdWxsc2NyZWVuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5zY3JvbGxIYW5kbGVyKCRldmVudDogRXZlbnQpIHtcclxuICBjb25zdCBlbGVtZW50ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgLy9zZSBvIGVzY3JvbGwgY2hlZ2FyIGF0w6kgbyBmaW5hbFxyXG4gIGlmIChlbGVtZW50LnNjcm9sbEhlaWdodCAtIGVsZW1lbnQuc2Nyb2xsVG9wID09PSBlbGVtZW50LmNsaWVudEhlaWdodCkge1xyXG4gICAgLy8gdGhpcy5idXNjYXJQcm94aW1vc0RvY3VtZW50b3MoKTtcclxuICAgIHRoaXMub25TY3JvbGxIYW5kbGVyLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgZ2FwLTIgbXQtMyBjdXN0b20tbWF4LWhlaWdodFwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG4gIDwhLS0gTGlzdGEgZGUgZG9jdW1lbnRvcyAtLT5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNhcmQtcGVyZmlsIGNvbC0xMiBtZDpjb2wtNCBsZzpjb2wtM1wiXHJcbiAgICAoc2Nyb2xsKT1cInNjcm9sbEhhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdvdmVyZmxvdy15LXNjcm9sbCc6IGRhdGFTb3VyY2UoKS5sZW5ndGggPiAwLFxyXG4gICAgICAnb3ZlcmZsb3cteS1oaWRkZW4nOiBkYXRhU291cmNlKCkubGVuZ3RoID09PSAwXHJcbiAgICB9XCJcclxuICAgIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCU7IG1pbi1oZWlnaHQ6IDE1cmVtO1wiXHJcbiAgPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCIgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgPCEtLSBMaXN0YSBkZSBjYXJkcyAtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0YVNvdXJjZSgpOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIGNsYXNzPVwiY2FyZC1ub3JtYWwgb3V0bGluZS1ub25lIGJvcmRlci1yb3VuZC14bCB3LWZ1bGwgcC0yIG0tMSBncmlkIHAtZmx1aWQgZmxleCBmbGV4LXJvdyBmbGV4LW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgKGNsaWNrKT1cInZpc3VhbGl6YXJQcmV2aWV3KG9wdGlvbilcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICdjYXJkLW5hb1Zpc3VhbGl6YWRvJzogIWlzVmlzdWFsaXphZG8ob3B0aW9uKSxcclxuICAgICdjYXJkLXNlbGVjdGVkJzogb3B0aW9uID09PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgJ2NhcmQtbm9ybWFsJzogb3B0aW9uICE9PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtZ3Jvdy0xIG1sLTIgZmxleC1jb2x1bW4gZ2FwLTEgbS0wIHAtMCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpcyBcIiBzdHlsZT1cIm1heC13aWR0aDogMTAwJTtcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb21tb24tc3R5bGUgZGVmYXVsdC1jYXJkXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc20gbXQtMlwiPlxyXG4gICAgICAgICAgICAgIEt2LWZpbGUtcHJldmlldyBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uIFxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtc20gcC0wIG0tMFwiPkRhdGE6IHt7IHRvZGF5RGF0ZSgpIH19PC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eURvY3VtZW50TGlzdD5cclxuXHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgICAgPHAtc2tlbGV0b24gKm5nRm9yPVwibGV0IGkgb2YgWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldXCI+PC9wLXNrZWxldG9uPlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYoIW5vRG9jdW1lbnRMaXN0VGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBpbmJveCA8L3NwYW4+XHJcbiAgICAgICAgICA8cD5OZW5odW0gZG9jdW1lbnRvIGRpc3BvbsOtdmVsLjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0RvY3VtZW50TGlzdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDwhLS0gQ29udGFkb3IgZGUgZG9jdW1lbnRvcyAtIEZpeG8gbmEgcGFydGUgaW5mZXJpb3IgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwic3RpY2t5LWNvdW50ZXIgZmxleCBmbGV4LXJvdyBmbGV4LTEgcHgtMiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMlwiXHJcbiAgICAgIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAtMTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVcIlxyXG4gICAgPlxyXG4gICAgICA8c3Bhbj57eyB0b3RhbEl0ZW5zQ2FycmVnYWRvKCkgfX0gZGUge3sgdG90YWxSZWNvcmRzIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gVmlzdWFsaXphZG9yIC0tPlxyXG48ZGl2IGlkPVwiZnVsbHNjcmVlbkRpdlwiIGNsYXNzPVwiY2FyZC1wZXJmaWwgY29sLTEyIG1kOmNvbC04IGxnOmNvbC05XCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTtcIlxyXG4gIFtuZ1N0eWxlXT1cIntcclxuICAgICdvdmVyZmxvdy15JzogYXJxdWl2b1ByZXZpZXcoKSA/ICdhdXRvJyA6ICdoaWRkZW4nXHJcbiAgfVwiPlxyXG4gIEBpZihidG5UZWxhQ2hlaWEpXHJcbiAge1xyXG4gICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICA8c3BhbiBpZD1cImZ1bGxzY3JlZW5CdG5cIiAoY2xpY2spPVwiYWx0ZXJuYXJUZWxhQ2hlaWEoKVwiIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwLTIgdGV4dC14bCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgIG9wZW5faW5fZnVsbFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmKHZpc3VhbGl6YWRvckRvY3VtZW50b3MpIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcnF1aXZvKCk7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCI+XHJcbiAgICAgIEBpZihpc0xvYWRpbmcpIHtcclxuICAgICAgPG5neC1sb2FkaW5nXHJcbiAgICAgICAgW3Nob3ddPVwiaXNMb2FkaW5nXCJcclxuICAgICAgICBbY29uZmlnXT1cInsgYmFja2Ryb3BCb3JkZXJSYWRpdXM6ICczcHgnLCBmdWxsU2NyZWVuQmFja2Ryb3A6IGZhbHNlIH1cIlxyXG4gICAgICA+PC9uZ3gtbG9hZGluZz5cclxuICAgICAgfVxyXG4gICAgICA8a3YtZmlsZS12aWV3ZXItbm92b1xyXG4gICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiIFxyXG4gICAgICAgIFtoZWlnaHRdPVwiJzEwMCUnXCJcclxuICAgICAgICBjbGFzcz1cImZpbGUtdmlld2VyXCJcclxuICAgICAgICBzdHlsZT1cIm1heC1oZWlnaHQ6IDEwMCU7XCJcclxuICAgICAgPlxyXG4gICAgICA8L2t2LWZpbGUtdmlld2VyLW5vdm8+XHJcblxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgaWQ9XCJodG1sLWNvbnRlbnRcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwiZWtwQ29udGVudCgpXCJcclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvID09PSAnZWtwJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJla3AtY29udGVudFwiXHJcbiAgICAgICAgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlO1wiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFycXVpdm9QcmV2aWV3KCk7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgY29udGVudFRlbXBsYXRlO1xyXG4gICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGFycXVpdm9QcmV2aWV3KCkgfVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlO1wiXHJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuICA8bmctdGVtcGxhdGUgI25vRG9jdW1lbnRTZWxlY3RlZD5cclxuICAgIEBpZighbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJuby1kb2N1bWVudC1tZXNzYWdlIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICBzdHlsZT1cImhlaWdodDogMTAwJTsgb3ZlcmZsb3cteTogYXV0bztcIlxyXG4gICAgPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICBTZWxlY2lvbmUgdW0gYXJxdWl2byBwYXJhIHZpc3VhbGl6YcOnw6NvXHJcbiAgICAgIDwvcD5cclxuICAgICAgPGltZ1xyXG4gICAgICAgIFtzcmNdPVwiXHJcbiAgICAgICAgICAnaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIvaW1nL0RpZ2l0YWxfcGVyc29uYWxfZmlsZXMtcGFuYV8zLnBuZydcclxuICAgICAgICBcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogNTAlOyBtYXJnaW4tdG9wOiAycmVtO1wiXHJcbiAgICAgICAgYWx0PVwiXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGVcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgfVxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
33
33
|
exports: [KvContentViewerComponent]
|
|
34
34
|
}]
|
|
35
35
|
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQWNqRSxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixpQkFWakIsd0JBQXdCLGFBRXJDLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixnQkFBZ0IsYUFFUix3QkFBd0I7K0dBRXZCLHFCQUFxQixZQVI5QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsZ0JBQWdCOzsyRkFJUCxxQkFBcUI7a0JBWGpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGRmVmlld2VyTW9kdWxlIH0gZnJvbSAnbmcyLXBkZi12aWV3ZXInO1xyXG5pbXBvcnQgeyBLdkNvbnRlbnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEt2RmlsZVZpZXdlck5vdm9Nb2R1bGUgfSBmcm9tICcuLi9rdi1maWxlLXZpZXdlci1ub3ZvL2t2LWZpbGUtdmlld2VyLW5vdm8ubW9kdWxlJztcclxuaW1wb3J0IHsgTmd4TG9hZGluZ01vZHVsZSB9IGZyb20gJ25neC1sb2FkaW5nJztcclxuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gJy4uLy4uL2FwaS9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0t2Q29udGVudFZpZXdlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUGRmVmlld2VyTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEt2RmlsZVZpZXdlck5vdm9Nb2R1bGUsXHJcbiAgICBOZ3hMb2FkaW5nTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbS3ZDb250ZW50Vmlld2VyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDb250ZW50Vmlld2VyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -16,7 +16,11 @@ export class KvFileUploadComponent {
|
|
|
16
16
|
onFileSelected(event) {
|
|
17
17
|
let validTypes = [...this.validFileTypes];
|
|
18
18
|
if (this.includeOfficeTypes) {
|
|
19
|
-
validTypes.push('application/
|
|
19
|
+
validTypes.push('application/msword', // .doc
|
|
20
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx
|
|
21
|
+
'application/vnd.ms-powerpoint', // .ppt
|
|
22
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation' // .pptx
|
|
23
|
+
);
|
|
20
24
|
}
|
|
21
25
|
if (event.target.files.length == 0)
|
|
22
26
|
return;
|
|
@@ -54,7 +58,11 @@ export class KvFileUploadComponent {
|
|
|
54
58
|
handleFile(file) {
|
|
55
59
|
if (this.includeOfficeTypes) {
|
|
56
60
|
let validTypes = [...this.validFileTypes];
|
|
57
|
-
validTypes.push('application/
|
|
61
|
+
validTypes.push('application/msword', // .doc
|
|
62
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx
|
|
63
|
+
'application/vnd.ms-powerpoint', // .ppt
|
|
64
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation' // .pptx
|
|
65
|
+
);
|
|
58
66
|
}
|
|
59
67
|
const isValidFileType = this.validFileTypes.some(type => file.type.startsWith(type));
|
|
60
68
|
if (!isValidFileType) {
|
|
@@ -100,16 +108,16 @@ export class KvFileUploadComponent {
|
|
|
100
108
|
});
|
|
101
109
|
// Adiciona tipos de arquivos do Office se includeOfficeTypes for true
|
|
102
110
|
if (this.includeOfficeTypes) {
|
|
103
|
-
types += '.docx, ';
|
|
111
|
+
types += '.doc, .docx, .ppt, .pptx, ';
|
|
104
112
|
}
|
|
105
113
|
return types.slice(0, -2); // Remove a última vírgula e espaço
|
|
106
114
|
}
|
|
107
115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFileUploadComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFileUploadComponent, selector: "kv-file-upload", inputs: { formGroup: "formGroup", formControlName: "formControlName", widthComponent: "widthComponent", heightComponent: "heightComponent", description: "description", validFileTypes: "validFileTypes", tamanhoMaximoPermitido: "tamanhoMaximoPermitido", includeOfficeTypes: "includeOfficeTypes" }, outputs: { fileEmit: "fileEmit", removeFileEmit: "removeFileEmit" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "inputUpload", first: true, predicate: ["inputUpload"], descendants: true }], ngImport: i0, template: "<div\n *ngIf=\"formGroup\"\n [ngClass]=\"{'invalid-border': formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched}\"\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n [style.width]=\"widthComponent\"\n [style.height]=\"heightComponent\">\n\n <div class=\"field col-12 flex justify-content-center align-items-center flex-column\">\n <div\n class=\"w-full flex align-items-center justify-content-center\"\n style=\"cursor: pointer;\"\n (click)=\"fileInput.click()\">\n\n <input type=\"file\" (change)=\"onFileSelected($event)\" #fileInput [accept]=\"setAccept()\" hidden/>\n\n @if(formGroup && formControlName && !formGroup.controls[formControlName].value) {\n <div class=\"flex flex-column align-items-center justify-content-center\">\n @if(tamanhoMaximoPermitido) {\n <p class=\"w-full text-start\">Tamanho maximo permitido ( {{tamanhoMaximoPermitido}} )*</p>\n }\n <span class=\"material-symbols-outlined mt-2\" style=\"font-size: 3rem;\">\n cloud_upload\n </span>\n\n @if(description) { \n <p class=\"font-semibold text-center\">{{description}}</p>\n } @else {\n <p class=\"font-semibold text-center\">Arraste e solte o arquivo aqui, ou<br>clique para selecion\u00E1-lo</p>\n }\n </div>\n }\n </div>\n\n @if(formGroup && formControlName && formGroup.controls[formControlName].value) {\n <div class=\"flex flex-column\">\n <span class=\"font-semibold\" style=\"padding: 10px;\">Arquivo Selecionado:</span>\n <div class=\"flex flex-row\">\n <span style=\"padding: 10px;\">{{ formGroup.controls[formControlName].value?.name }}</span>\n <span style=\"padding: 10px;\">({{ formatBytes(formGroup.controls[formControlName].value?.size) }})</span>\n <i style=\"padding: 10px; margin-left: 10px;\"\n pTooltip=\"Excluir arquivo\"\n class=\"border-solid border-1 border-round-sm border-gray-400 pi pi-trash delete cursor-pointer\"\n (click)=\"deleteFile()\"\n ></i>\n </div>\n </div>\n }\n </div>\n</div>\n\n@if (formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched) {\n <p class=\"error-message\">Campo obrigat\u00F3rio</p>\n}\n", styles: [".invalid-border{border:2px dashed red!important}.error-message{color:#ff0e0e;font-size:12px!important;margin-top:.1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFileUploadComponent, selector: "kv-file-upload", inputs: { formGroup: "formGroup", formControlName: "formControlName", widthComponent: "widthComponent", heightComponent: "heightComponent", description: "description", validFileTypes: "validFileTypes", tamanhoMaximoPermitido: "tamanhoMaximoPermitido", includeOfficeTypes: "includeOfficeTypes" }, outputs: { fileEmit: "fileEmit", removeFileEmit: "removeFileEmit" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "inputUpload", first: true, predicate: ["inputUpload"], descendants: true }], ngImport: i0, template: "<div\r\n *ngIf=\"formGroup\"\r\n [ngClass]=\"{'invalid-border': formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched}\"\r\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n [style.width]=\"widthComponent\"\r\n [style.height]=\"heightComponent\">\r\n\r\n <div class=\"field col-12 flex justify-content-center align-items-center flex-column\">\r\n <div\r\n class=\"w-full flex align-items-center justify-content-center\"\r\n style=\"cursor: pointer;\"\r\n (click)=\"fileInput.click()\">\r\n\r\n <input type=\"file\" (change)=\"onFileSelected($event)\" #fileInput [accept]=\"setAccept()\" hidden/>\r\n\r\n @if(formGroup && formControlName && !formGroup.controls[formControlName].value) {\r\n <div class=\"flex flex-column align-items-center justify-content-center\">\r\n @if(tamanhoMaximoPermitido) {\r\n <p class=\"w-full text-start\">Tamanho maximo permitido ( {{tamanhoMaximoPermitido}} )*</p>\r\n }\r\n <span class=\"material-symbols-outlined mt-2\" style=\"font-size: 3rem;\">\r\n cloud_upload\r\n </span>\r\n\r\n @if(description) { \r\n <p class=\"font-semibold text-center\">{{description}}</p>\r\n } @else {\r\n <p class=\"font-semibold text-center\">Arraste e solte o arquivo aqui, ou<br>clique para selecion\u00E1-lo</p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(formGroup && formControlName && formGroup.controls[formControlName].value) {\r\n <div class=\"flex flex-column\">\r\n <span class=\"font-semibold\" style=\"padding: 10px;\">Arquivo Selecionado:</span>\r\n <div class=\"flex flex-row\">\r\n <span style=\"padding: 10px;\">{{ formGroup.controls[formControlName].value?.name }}</span>\r\n <span style=\"padding: 10px;\">({{ formatBytes(formGroup.controls[formControlName].value?.size) }})</span>\r\n <i style=\"padding: 10px; margin-left: 10px;\"\r\n pTooltip=\"Excluir arquivo\"\r\n class=\"border-solid border-1 border-round-sm border-gray-400 pi pi-trash delete cursor-pointer\"\r\n (click)=\"deleteFile()\"\r\n ></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n@if (formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched) {\r\n <p class=\"error-message\">Campo obrigat\u00F3rio</p>\r\n}\r\n", styles: [".invalid-border{border:2px dashed red!important}.error-message{color:#ff0e0e;font-size:12px!important;margin-top:.1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
109
117
|
}
|
|
110
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFileUploadComponent, decorators: [{
|
|
111
119
|
type: Component,
|
|
112
|
-
args: [{ selector: 'kv-file-upload', template: "<div\n *ngIf=\"formGroup\"\n [ngClass]=\"{'invalid-border': formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched}\"\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n [style.width]=\"widthComponent\"\n [style.height]=\"heightComponent\">\n\n <div class=\"field col-12 flex justify-content-center align-items-center flex-column\">\n <div\n class=\"w-full flex align-items-center justify-content-center\"\n style=\"cursor: pointer;\"\n (click)=\"fileInput.click()\">\n\n <input type=\"file\" (change)=\"onFileSelected($event)\" #fileInput [accept]=\"setAccept()\" hidden/>\n\n @if(formGroup && formControlName && !formGroup.controls[formControlName].value) {\n <div class=\"flex flex-column align-items-center justify-content-center\">\n @if(tamanhoMaximoPermitido) {\n <p class=\"w-full text-start\">Tamanho maximo permitido ( {{tamanhoMaximoPermitido}} )*</p>\n }\n <span class=\"material-symbols-outlined mt-2\" style=\"font-size: 3rem;\">\n cloud_upload\n </span>\n\n @if(description) { \n <p class=\"font-semibold text-center\">{{description}}</p>\n } @else {\n <p class=\"font-semibold text-center\">Arraste e solte o arquivo aqui, ou<br>clique para selecion\u00E1-lo</p>\n }\n </div>\n }\n </div>\n\n @if(formGroup && formControlName && formGroup.controls[formControlName].value) {\n <div class=\"flex flex-column\">\n <span class=\"font-semibold\" style=\"padding: 10px;\">Arquivo Selecionado:</span>\n <div class=\"flex flex-row\">\n <span style=\"padding: 10px;\">{{ formGroup.controls[formControlName].value?.name }}</span>\n <span style=\"padding: 10px;\">({{ formatBytes(formGroup.controls[formControlName].value?.size) }})</span>\n <i style=\"padding: 10px; margin-left: 10px;\"\n pTooltip=\"Excluir arquivo\"\n class=\"border-solid border-1 border-round-sm border-gray-400 pi pi-trash delete cursor-pointer\"\n (click)=\"deleteFile()\"\n ></i>\n </div>\n </div>\n }\n </div>\n</div>\n\n@if (formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched) {\n <p class=\"error-message\">Campo obrigat\u00F3rio</p>\n}\n", styles: [".invalid-border{border:2px dashed red!important}.error-message{color:#ff0e0e;font-size:12px!important;margin-top:.1rem}\n"] }]
|
|
120
|
+
args: [{ selector: 'kv-file-upload', template: "<div\r\n *ngIf=\"formGroup\"\r\n [ngClass]=\"{'invalid-border': formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched}\"\r\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n [style.width]=\"widthComponent\"\r\n [style.height]=\"heightComponent\">\r\n\r\n <div class=\"field col-12 flex justify-content-center align-items-center flex-column\">\r\n <div\r\n class=\"w-full flex align-items-center justify-content-center\"\r\n style=\"cursor: pointer;\"\r\n (click)=\"fileInput.click()\">\r\n\r\n <input type=\"file\" (change)=\"onFileSelected($event)\" #fileInput [accept]=\"setAccept()\" hidden/>\r\n\r\n @if(formGroup && formControlName && !formGroup.controls[formControlName].value) {\r\n <div class=\"flex flex-column align-items-center justify-content-center\">\r\n @if(tamanhoMaximoPermitido) {\r\n <p class=\"w-full text-start\">Tamanho maximo permitido ( {{tamanhoMaximoPermitido}} )*</p>\r\n }\r\n <span class=\"material-symbols-outlined mt-2\" style=\"font-size: 3rem;\">\r\n cloud_upload\r\n </span>\r\n\r\n @if(description) { \r\n <p class=\"font-semibold text-center\">{{description}}</p>\r\n } @else {\r\n <p class=\"font-semibold text-center\">Arraste e solte o arquivo aqui, ou<br>clique para selecion\u00E1-lo</p>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(formGroup && formControlName && formGroup.controls[formControlName].value) {\r\n <div class=\"flex flex-column\">\r\n <span class=\"font-semibold\" style=\"padding: 10px;\">Arquivo Selecionado:</span>\r\n <div class=\"flex flex-row\">\r\n <span style=\"padding: 10px;\">{{ formGroup.controls[formControlName].value?.name }}</span>\r\n <span style=\"padding: 10px;\">({{ formatBytes(formGroup.controls[formControlName].value?.size) }})</span>\r\n <i style=\"padding: 10px; margin-left: 10px;\"\r\n pTooltip=\"Excluir arquivo\"\r\n class=\"border-solid border-1 border-round-sm border-gray-400 pi pi-trash delete cursor-pointer\"\r\n (click)=\"deleteFile()\"\r\n ></i>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n@if (formGroup && formControlName && formGroup.controls[formControlName].invalid && formGroup.controls[formControlName].touched) {\r\n <p class=\"error-message\">Campo obrigat\u00F3rio</p>\r\n}\r\n", styles: [".invalid-border{border:2px dashed red!important}.error-message{color:#ff0e0e;font-size:12px!important;margin-top:.1rem}\n"] }]
|
|
113
121
|
}], ctorParameters: () => [{ type: i1.NotificationService }], propDecorators: { formGroup: [{
|
|
114
122
|
type: Input
|
|
115
123
|
}], formControlName: [{
|
|
@@ -137,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
137
145
|
type: ViewChild,
|
|
138
146
|
args: ['inputUpload']
|
|
139
147
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7Ozs7QUFTOUYsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFibkQsbUJBQWMsR0FBVyxPQUFPLENBQUM7UUFDakMsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFFakMsbUJBQWMsR0FBYSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN0RSwyQkFBc0IsR0FBVyxFQUFFLENBQUM7UUFDcEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDLENBQUMsZ0RBQWdEO1FBRXBGLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBS0QsQ0FBQztJQUVqRSxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFNUIsVUFBVSxDQUFDLElBQUksQ0FDYix5RUFBeUUsQ0FDMUUsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsT0FBTztRQUUzQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVSxFQUFFLFFBQVEsR0FBRyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWdCO1FBQy9CLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzlDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFnQjtRQUNsQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUM5QyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFHckIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRTFDLFVBQVUsQ0FBQyxJQUFJLENBQ2IseUVBQXlFLENBQzFFLENBQUM7UUFDSixDQUFDO1FBRUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDOztZQUUzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFFakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFnQjtRQUN6QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWdCO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0I7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEMsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBRWQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFBRSxLQUFLLElBQUksb0JBQW9CLENBQUM7WUFDMUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFBRSxLQUFLLElBQUksU0FBUyxDQUFDO1lBQzlDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsS0FBSyxJQUFJLFFBQVEsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILHNFQUFzRTtRQUN0RSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLEtBQUssSUFBSSxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztJQUNoRSxDQUFDOzhHQXZJVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3bUJDVGxDLHNtRkF3REE7OzJGRC9DYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCO3dGQUtqQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFFaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNJLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrdi1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9rdi1maWxlLXVwbG9hZC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgS3ZGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZHRoQ29tcG9uZW50OiBzdHJpbmcgPSAnNDAwcHgnO1xuICBASW5wdXQoKSBoZWlnaHRDb21wb25lbnQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbGlkRmlsZVR5cGVzOiBzdHJpbmdbXSA9IFsnaW1hZ2UvJywgJ2FwcGxpY2F0aW9uL3BkZicsICd0ZXh0L2h0bWwnXTtcbiAgQElucHV0KCkgdGFtYW5ob01heGltb1Blcm1pdGlkbzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGluY2x1ZGVPZmZpY2VUeXBlczogYm9vbGVhbiA9IGZhbHNlOyAvLyBQcm9wcmllZGFkZSBwYXJhIGNvbnRyb2xhciBvcyB0aXBvcyBkZSBPZmZpY2VcblxuICBAT3V0cHV0KCkgZmlsZUVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVtb3ZlRmlsZUVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0VXBsb2FkJykgaW5wdXRVcGxvYWQhOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkgeyB9XG5cbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGxldCB2YWxpZFR5cGVzID0gWy4uLnRoaXMudmFsaWRGaWxlVHlwZXNdO1xuXG4gICAgaWYgKHRoaXMuaW5jbHVkZU9mZmljZVR5cGVzKSB7XG4gIFxuICAgICAgdmFsaWRUeXBlcy5wdXNoKFxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLCAvLyAuZG9jeFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aCA9PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBpc1ZhbGlkRmlsZVR5cGUgPSB2YWxpZFR5cGVzLnNvbWUodHlwZSA9PiBldmVudC50YXJnZXQuZmlsZXNbMF0udHlwZS5zdGFydHNXaXRoKHR5cGUpKTtcbiAgICBpZiAoIWlzVmFsaWRGaWxlVHlwZSkge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoJ1RpcG8gZGUgYXJxdWl2byBpbnbDoWxpZG8nKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW3RoaXMuZm9ybUNvbnRyb2xOYW1lXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1t0aGlzLmZvcm1Db250cm9sTmFtZV0uc2V0VmFsdWUoZXZlbnQudGFyZ2V0LmZpbGVzWzBdKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbGUoKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbdGhpcy5mb3JtQ29udHJvbE5hbWVdLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnJlbW92ZUZpbGVFbWl0LmVtaXQoKTtcbiAgfVxuXG4gIGZvcm1hdEJ5dGVzKGJ5dGVzOiBhbnksIGRlY2ltYWxzID0gMikge1xuICAgIGlmICghYnl0ZXMpIHtcbiAgICAgIHJldHVybiBcIjAgQnl0ZXNcIjtcbiAgICB9XG4gICAgY29uc3QgayA9IDEwMjQ7XG4gICAgY29uc3QgZG0gPSBkZWNpbWFscyA8PSAwID8gMCA6IGRlY2ltYWxzO1xuICAgIGNvbnN0IHNpemVzID0gW1wiQnl0ZXNcIiwgXCJLQlwiLCBcIk1CXCIsIFwiR0JcIiwgXCJUQlwiLCBcIlBCXCIsIFwiRUJcIiwgXCJaQlwiLCBcIllCXCJdO1xuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcbiAgICByZXR1cm4gcGFyc2VGbG9hdCgoYnl0ZXMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChkbSkpICsgXCIgXCIgKyBzaXplc1tpXTtcbiAgfVxuXG4gIGFkZERyYWdPdmVyQ2xhc3MoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZHJhZ292ZXInKTtcbiAgfVxuXG4gIHJlbW92ZURyYWdPdmVyQ2xhc3MoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ292ZXInKTtcbiAgfVxuXG4gIGhhbmRsZUZpbGUoZmlsZTogRmlsZSkge1xuXG5cbiAgaWYgKHRoaXMuaW5jbHVkZU9mZmljZVR5cGVzKSB7XG4gICAgbGV0IHZhbGlkVHlwZXMgPSBbLi4udGhpcy52YWxpZEZpbGVUeXBlc107XG5cbiAgICB2YWxpZFR5cGVzLnB1c2goXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLCAvLyAuZG9jeFxuICAgICk7XG4gIH1cblxuICAgIGNvbnN0IGlzVmFsaWRGaWxlVHlwZSA9IHRoaXMudmFsaWRGaWxlVHlwZXMuc29tZSh0eXBlID0+IGZpbGUudHlwZS5zdGFydHNXaXRoKHR5cGUpKTtcblxuICAgIGlmICghaXNWYWxpZEZpbGVUeXBlKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcignVGlwbyBkZSBhcnF1aXZvIGludsOhbGlkbycpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbdGhpcy5mb3JtQ29udHJvbE5hbWVdLnNldFZhbHVlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW3RoaXMuZm9ybUNvbnRyb2xOYW1lXS5zZXRWYWx1ZShmaWxlKTtcblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICBpZiAoZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKVxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgZWxzZVxuICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOyAvLyBQYXJhIG91dHJvcyB0aXBvcyBkZSBhcnF1aXZvXG5cbiAgICB0aGlzLmZpbGVFbWl0LmVtaXQoZmlsZSk7XG4gIH1cblxuICBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuYWRkRHJhZ092ZXJDbGFzcyhldmVudCk7XG4gIH1cblxuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJlbW92ZURyYWdPdmVyQ2xhc3MoZXZlbnQpO1xuICB9XG5cbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucmVtb3ZlRHJhZ092ZXJDbGFzcyhldmVudCk7XG5cbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmhhbmRsZUZpbGUoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzWzBdKTtcbiAgICB9XG4gIH1cblxuICBzZXRBY2NlcHQoKTogc3RyaW5nIHtcbiAgICBsZXQgdHlwZXMgPSAnJ1xuXG4gICAgdGhpcy52YWxpZEZpbGVUeXBlcy5mb3JFYWNoKHR5cGUgPT4ge1xuICAgICAgaWYgKHR5cGUuaW5jbHVkZXMoJ2ltYWdlJykpIHR5cGVzICs9ICcuanBnLCAucG5nLCAuYm1wLCAnO1xuICAgICAgaWYgKHR5cGUuaW5jbHVkZXMoJ2h0bWwnKSkgdHlwZXMgKz0gJy5odG1sLCAnO1xuICAgICAgaWYgKHR5cGUuaW5jbHVkZXMoJ3BkZicpKSB0eXBlcyArPSAnLnBkZiwgJztcbiAgICB9KTtcblxuICAgIC8vIEFkaWNpb25hIHRpcG9zIGRlIGFycXVpdm9zIGRvIE9mZmljZSBzZSBpbmNsdWRlT2ZmaWNlVHlwZXMgZm9yIHRydWVcbiAgICBpZiAodGhpcy5pbmNsdWRlT2ZmaWNlVHlwZXMpIHtcbiAgICAgIHR5cGVzICs9ICcuZG9jeCwgJztcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZXMuc2xpY2UoMCwgLTIpOyAvLyBSZW1vdmUgYSDDumx0aW1hIHbDrXJndWxhIGUgZXNwYcOnb1xuICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCJmb3JtR3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1ib3JkZXInOiBmb3JtR3JvdXAgJiYgZm9ybUNvbnRyb2xOYW1lICYmIGZvcm1Hcm91cC5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLmludmFsaWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0udG91Y2hlZH1cIlxuICAgIGNsYXNzPVwiYm9yZGVyLWRhc2hlZCBib3JkZXItMiBib3JkZXItcm91bmQtbGcgYm9yZGVyLWdyYXktNDAwIGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgKGRyYWdvdmVyKT1cIm9uRHJhZ092ZXIoJGV2ZW50KVwiXG4gICAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdMZWF2ZSgkZXZlbnQpXCJcbiAgICAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgW3N0eWxlLndpZHRoXT1cIndpZHRoQ29tcG9uZW50XCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodENvbXBvbmVudFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidy1mdWxsIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCJcbiAgICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxuXG4gICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwic2V0QWNjZXB0KClcIiBoaWRkZW4vPlxuXG4gICAgICBAaWYoZm9ybUdyb3VwICYmIGZvcm1Db250cm9sTmFtZSAmJiAhZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0udmFsdWUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICBAaWYodGFtYW5ob01heGltb1Blcm1pdGlkbykge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJ3LWZ1bGwgdGV4dC1zdGFydFwiPlRhbWFuaG8gbWF4aW1vIHBlcm1pdGlkbyAoIHt7dGFtYW5ob01heGltb1Blcm1pdGlkb319ICkqPC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtdC0yXCIgc3R5bGU9XCJmb250LXNpemU6IDNyZW07XCI+XG4gICAgICAgICAgICAgICAgY2xvdWRfdXBsb2FkXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIEBpZihkZXNjcmlwdGlvbikgeyAgXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtY2VudGVyXCI+e3tkZXNjcmlwdGlvbn19PC9wPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtY2VudGVyXCI+QXJyYXN0ZSBlIHNvbHRlIG8gYXJxdWl2byBhcXVpLCBvdTxicj5jbGlxdWUgcGFyYSBzZWxlY2lvbsOhLWxvPC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZihmb3JtR3JvdXAgJiYgZm9ybUNvbnRyb2xOYW1lICYmIGZvcm1Hcm91cC5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnZhbHVlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZFwiIHN0eWxlPVwicGFkZGluZzogMTBweDtcIj5BcnF1aXZvIFNlbGVjaW9uYWRvOjwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmc6IDEwcHg7XCI+e3sgZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0udmFsdWU/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZzogMTBweDtcIj4oe3sgZm9ybWF0Qnl0ZXMoZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0udmFsdWU/LnNpemUpIH19KTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGkgIHN0eWxlPVwicGFkZGluZzogMTBweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCJcbiAgICAgICAgICAgICAgICAgIHBUb29sdGlwPVwiRXhjbHVpciBhcnF1aXZvXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyLXNvbGlkIGJvcmRlci0xIGJvcmRlci1yb3VuZC1zbSBib3JkZXItZ3JheS00MDAgcGkgcGktdHJhc2ggZGVsZXRlIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVGaWxlKClcIlxuICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuXG5AaWYgKGZvcm1Hcm91cCAmJiBmb3JtQ29udHJvbE5hbWUgJiYgZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0uaW52YWxpZCAmJiBmb3JtR3JvdXAuY29udHJvbHNbZm9ybUNvbnRyb2xOYW1lXS50b3VjaGVkKSAge1xuICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5DYW1wbyBvYnJpZ2F0w7NyaW88L3A+XG59XG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7Ozs7QUFTOUYsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFibkQsbUJBQWMsR0FBVyxPQUFPLENBQUM7UUFDakMsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFFakMsbUJBQWMsR0FBYSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN0RSwyQkFBc0IsR0FBVyxFQUFFLENBQUM7UUFDcEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDLENBQUMsZ0RBQWdEO1FBRXBGLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBS0QsQ0FBQztJQUVqRSxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFNUIsVUFBVSxDQUFDLElBQUksQ0FDYixvQkFBb0IsRUFBRSxPQUFP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LENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7SUFDaEUsQ0FBQzs4R0E3SVUscUJBQXFCO2tHQUFyQixxQkFBcUIsd21CQ1RsQyxzdEZBd0RBOzsyRkQvQ2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQjt3RkFLakIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBRWlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDSSxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWZpbGUtdXBsb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2RmlsZVVwbG9hZENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSB3aWR0aENvbXBvbmVudDogc3RyaW5nID0gJzQwMHB4JztcclxuICBASW5wdXQoKSBoZWlnaHRDb21wb25lbnQ6IHN0cmluZyA9ICdhdXRvJztcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbiE6IHN0cmluZztcclxuICBASW5wdXQoKSB2YWxpZEZpbGVUeXBlczogc3RyaW5nW10gPSBbJ2ltYWdlLycsICdhcHBsaWNhdGlvbi9wZGYnLCAndGV4dC9odG1sJ107XHJcbiAgQElucHV0KCkgdGFtYW5ob01heGltb1Blcm1pdGlkbzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgaW5jbHVkZU9mZmljZVR5cGVzOiBib29sZWFuID0gZmFsc2U7IC8vIFByb3ByaWVkYWRlIHBhcmEgY29udHJvbGFyIG9zIHRpcG9zIGRlIE9mZmljZVxyXG5cclxuICBAT3V0cHV0KCkgZmlsZUVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVGaWxlRW1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRVcGxvYWQnKSBpbnB1dFVwbG9hZCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCB2YWxpZFR5cGVzID0gWy4uLnRoaXMudmFsaWRGaWxlVHlwZXNdO1xyXG5cclxuICAgIGlmICh0aGlzLmluY2x1ZGVPZmZpY2VUeXBlcykge1xyXG4gIFxyXG4gICAgICB2YWxpZFR5cGVzLnB1c2goXHJcbiAgICAgICAgJ2FwcGxpY2F0aW9uL21zd29yZCcsIC8vIC5kb2NcclxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLCAvLyAuZG9jeFxyXG4gICAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsIC8vIC5wcHRcclxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbicgLy8gLnBwdHhcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgaXNWYWxpZEZpbGVUeXBlID0gdmFsaWRUeXBlcy5zb21lKHR5cGUgPT4gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLnR5cGUuc3RhcnRzV2l0aCh0eXBlKSk7XHJcbiAgICBpZiAoIWlzVmFsaWRGaWxlVHlwZSkge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcignVGlwbyBkZSBhcnF1aXZvIGludsOhbGlkbycpO1xyXG4gICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1t0aGlzLmZvcm1Db250cm9sTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1t0aGlzLmZvcm1Db250cm9sTmFtZV0uc2V0VmFsdWUoZXZlbnQudGFyZ2V0LmZpbGVzWzBdKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUZpbGUoKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1t0aGlzLmZvcm1Db250cm9sTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnJlbW92ZUZpbGVFbWl0LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdEJ5dGVzKGJ5dGVzOiBhbnksIGRlY2ltYWxzID0gMikge1xyXG4gICAgaWYgKCFieXRlcykge1xyXG4gICAgICByZXR1cm4gXCIwIEJ5dGVzXCI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrID0gMTAyNDtcclxuICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscztcclxuICAgIGNvbnN0IHNpemVzID0gW1wiQnl0ZXNcIiwgXCJLQlwiLCBcIk1CXCIsIFwiR0JcIiwgXCJUQlwiLCBcIlBCXCIsIFwiRUJcIiwgXCJaQlwiLCBcIllCXCJdO1xyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoKGJ5dGVzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQoZG0pKSArIFwiIFwiICsgc2l6ZXNbaV07XHJcbiAgfVxyXG5cclxuICBhZGREcmFnT3ZlckNsYXNzKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdkcmFnb3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhZ092ZXJDbGFzcyhldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ292ZXInKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZpbGUoZmlsZTogRmlsZSkge1xyXG5cclxuXHJcbiAgaWYgKHRoaXMuaW5jbHVkZU9mZmljZVR5cGVzKSB7XHJcbiAgICBsZXQgdmFsaWRUeXBlcyA9IFsuLi50aGlzLnZhbGlkRmlsZVR5cGVzXTtcclxuXHJcbiAgICB2YWxpZFR5cGVzLnB1c2goXHJcbiAgICAgICdhcHBsaWNhdGlvbi9tc3dvcmQnLCAvLyAuZG9jXHJcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsIC8vIC5kb2N4XHJcbiAgICAgICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsIC8vIC5wcHRcclxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRpb25tbC5wcmVzZW50YXRpb24nIC8vIC5wcHR4XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgICBjb25zdCBpc1ZhbGlkRmlsZVR5cGUgPSB0aGlzLnZhbGlkRmlsZVR5cGVzLnNvbWUodHlwZSA9PiBmaWxlLnR5cGUuc3RhcnRzV2l0aCh0eXBlKSk7XHJcblxyXG4gICAgaWYgKCFpc1ZhbGlkRmlsZVR5cGUpIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoJ1RpcG8gZGUgYXJxdWl2byBpbnbDoWxpZG8nKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbdGhpcy5mb3JtQ29udHJvbE5hbWVdLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbdGhpcy5mb3JtQ29udHJvbE5hbWVdLnNldFZhbHVlKGZpbGUpO1xyXG5cclxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblxyXG4gICAgaWYgKGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSlcclxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTsgLy8gUGFyYSBvdXRyb3MgdGlwb3MgZGUgYXJxdWl2b1xyXG5cclxuICAgIHRoaXMuZmlsZUVtaXQuZW1pdChmaWxlKTtcclxuICB9XHJcblxyXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5hZGREcmFnT3ZlckNsYXNzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmVtb3ZlRHJhZ092ZXJDbGFzcyhldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5yZW1vdmVEcmFnT3ZlckNsYXNzKGV2ZW50KTtcclxuXHJcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRmlsZShldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0QWNjZXB0KCk6IHN0cmluZyB7XHJcbiAgICBsZXQgdHlwZXMgPSAnJ1xyXG5cclxuICAgIHRoaXMudmFsaWRGaWxlVHlwZXMuZm9yRWFjaCh0eXBlID0+IHtcclxuICAgICAgaWYgKHR5cGUuaW5jbHVkZXMoJ2ltYWdlJykpIHR5cGVzICs9ICcuanBnLCAucG5nLCAuYm1wLCAnO1xyXG4gICAgICBpZiAodHlwZS5pbmNsdWRlcygnaHRtbCcpKSB0eXBlcyArPSAnLmh0bWwsICc7XHJcbiAgICAgIGlmICh0eXBlLmluY2x1ZGVzKCdwZGYnKSkgdHlwZXMgKz0gJy5wZGYsICc7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZGljaW9uYSB0aXBvcyBkZSBhcnF1aXZvcyBkbyBPZmZpY2Ugc2UgaW5jbHVkZU9mZmljZVR5cGVzIGZvciB0cnVlXHJcbiAgICBpZiAodGhpcy5pbmNsdWRlT2ZmaWNlVHlwZXMpIHtcclxuICAgICAgdHlwZXMgKz0gJy5kb2MsIC5kb2N4LCAucHB0LCAucHB0eCwgJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHlwZXMuc2xpY2UoMCwgLTIpOyAvLyBSZW1vdmUgYSDDumx0aW1hIHbDrXJndWxhIGUgZXNwYcOnb1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICAqbmdJZj1cImZvcm1Hcm91cFwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2ludmFsaWQtYm9yZGVyJzogZm9ybUdyb3VwICYmIGZvcm1Db250cm9sTmFtZSAmJiBmb3JtR3JvdXAuY29udHJvbHNbZm9ybUNvbnRyb2xOYW1lXS5pbnZhbGlkICYmIGZvcm1Hcm91cC5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnRvdWNoZWR9XCJcclxuICAgIGNsYXNzPVwiYm9yZGVyLWRhc2hlZCBib3JkZXItMiBib3JkZXItcm91bmQtbGcgYm9yZGVyLWdyYXktNDAwIGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiXHJcbiAgICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcclxuICAgIChkcmFnbGVhdmUpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiXHJcbiAgICAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwid2lkdGhDb21wb25lbnRcIlxyXG4gICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRDb21wb25lbnRcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxyXG4gICAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cclxuXHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiICNmaWxlSW5wdXQgW2FjY2VwdF09XCJzZXRBY2NlcHQoKVwiIGhpZGRlbi8+XHJcblxyXG4gICAgICBAaWYoZm9ybUdyb3VwICYmIGZvcm1Db250cm9sTmFtZSAmJiAhZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0udmFsdWUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgQGlmKHRhbWFuaG9NYXhpbW9QZXJtaXRpZG8pIHtcclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ3LWZ1bGwgdGV4dC1zdGFydFwiPlRhbWFuaG8gbWF4aW1vIHBlcm1pdGlkbyAoIHt7dGFtYW5ob01heGltb1Blcm1pdGlkb319ICkqPC9wPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgbXQtMlwiIHN0eWxlPVwiZm9udC1zaXplOiAzcmVtO1wiPlxyXG4gICAgICAgICAgICAgICAgY2xvdWRfdXBsb2FkXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIEBpZihkZXNjcmlwdGlvbikgeyAgXHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtc2VtaWJvbGQgdGV4dC1jZW50ZXJcIj57e2Rlc2NyaXB0aW9ufX08L3A+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtY2VudGVyXCI+QXJyYXN0ZSBlIHNvbHRlIG8gYXJxdWl2byBhcXVpLCBvdTxicj5jbGlxdWUgcGFyYSBzZWxlY2lvbsOhLWxvPC9wPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZihmb3JtR3JvdXAgJiYgZm9ybUNvbnRyb2xOYW1lICYmIGZvcm1Hcm91cC5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnZhbHVlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIiBzdHlsZT1cInBhZGRpbmc6IDEwcHg7XCI+QXJxdWl2byBTZWxlY2lvbmFkbzo8L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZzogMTBweDtcIj57eyBmb3JtR3JvdXAuY29udHJvbHNbZm9ybUNvbnRyb2xOYW1lXS52YWx1ZT8ubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmc6IDEwcHg7XCI+KHt7IGZvcm1hdEJ5dGVzKGZvcm1Hcm91cC5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnZhbHVlPy5zaXplKSB9fSk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGkgIHN0eWxlPVwicGFkZGluZzogMTBweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCJcclxuICAgICAgICAgICAgICAgICAgcFRvb2x0aXA9XCJFeGNsdWlyIGFycXVpdm9cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJvcmRlci1zb2xpZCBib3JkZXItMSBib3JkZXItcm91bmQtc20gYm9yZGVyLWdyYXktNDAwIHBpIHBpLXRyYXNoIGRlbGV0ZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVGaWxlKClcIlxyXG4gICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuQGlmIChmb3JtR3JvdXAgJiYgZm9ybUNvbnRyb2xOYW1lICYmIGZvcm1Hcm91cC5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLmludmFsaWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0udG91Y2hlZCkgIHtcclxuICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5DYW1wbyBvYnJpZ2F0w7NyaW88L3A+XHJcbn1cclxuIl19
|
|
@@ -49,11 +49,11 @@ export class KvFileViewerNovoComponent {
|
|
|
49
49
|
this.xmlFormat = vkbeautify.xml(text);
|
|
50
50
|
}
|
|
51
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFileViewerNovoComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: { arquivo: "arquivo", type: "type", blob: "blob", width: "width", height: "height" }, usesOnChanges: true, ngImport: i0, template: "<img class=\"img\" *ngIf=\"type.match('image')\" [src]=\"sanitizedPdfSrc\" />\n\n<iframe\n class=\"txt-pdf\"\n *ngIf=\"type == 'text/plain'\"\n [src]=\"sanitizedPdfSrc\"\n [width]=\"width\"\n [height]=\"height\"\n>\n</iframe>\n\n<div *ngIf=\"xmlFormat\" class=\"txt-pdf xml-viewer\">\n <pre lang=\"xml\">\n {{ xmlFormat }}\n </pre>\n</div>\n\n<pdf-viewer\n class=\"txt-pdf-viewer\"\n [src]=\"pdffile\"\n *ngIf=\"type == 'application/pdf'\"\n [rotation]=\"0\"\n [original-size]=\"true\"\n [show-all]=\"true\"\n [fit-to-page]=\"true\"\n [zoom]=\"1\" \n [stick-to-page]=\"false\"\n [render-text]=\"true\"\n [external-link-target]=\"'blank'\"\n [autoresize]=\"true\"\n [show-borders]=\"false\"\n [ngStyle]=\"{ width: width, height: height }\"\n></pdf-viewer>\n\n", styles: [".img{width:100%;height:100%;overflow:auto}.txt-pdf-viewer{overflow:auto}.xml-viewer{overflow:auto;font-size:13px}.xml-viewer .tag{color:#6f517e}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }] }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: { arquivo: "arquivo", type: "type", blob: "blob", width: "width", height: "height" }, usesOnChanges: true, ngImport: i0, template: "<img class=\"img\" *ngIf=\"type.match('image')\" [src]=\"sanitizedPdfSrc\" />\r\n\r\n<iframe\r\n class=\"txt-pdf\"\r\n *ngIf=\"type == 'text/plain'\"\r\n [src]=\"sanitizedPdfSrc\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n>\r\n</iframe>\r\n\r\n<div *ngIf=\"xmlFormat\" class=\"txt-pdf xml-viewer\">\r\n <pre lang=\"xml\">\r\n {{ xmlFormat }}\r\n </pre>\r\n</div>\r\n\r\n<pdf-viewer\r\n class=\"txt-pdf-viewer\"\r\n [src]=\"pdffile\"\r\n *ngIf=\"type == 'application/pdf'\"\r\n [rotation]=\"0\"\r\n [original-size]=\"true\"\r\n [show-all]=\"true\"\r\n [fit-to-page]=\"true\"\r\n [zoom]=\"1\" \r\n [stick-to-page]=\"false\"\r\n [render-text]=\"true\"\r\n [external-link-target]=\"'blank'\"\r\n [autoresize]=\"true\"\r\n [show-borders]=\"false\"\r\n [ngStyle]=\"{ width: width, height: height }\"\r\n></pdf-viewer>\r\n\r\n", styles: [".img{width:100%;height:100%;overflow:auto}.txt-pdf-viewer{overflow:auto}.xml-viewer{overflow:auto;font-size:13px}.xml-viewer .tag{color:#6f517e}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }] }); }
|
|
53
53
|
}
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFileViewerNovoComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'kv-file-viewer-novo', template: "<img class=\"img\" *ngIf=\"type.match('image')\" [src]=\"sanitizedPdfSrc\" />\n\n<iframe\n class=\"txt-pdf\"\n *ngIf=\"type == 'text/plain'\"\n [src]=\"sanitizedPdfSrc\"\n [width]=\"width\"\n [height]=\"height\"\n>\n</iframe>\n\n<div *ngIf=\"xmlFormat\" class=\"txt-pdf xml-viewer\">\n <pre lang=\"xml\">\n {{ xmlFormat }}\n </pre>\n</div>\n\n<pdf-viewer\n class=\"txt-pdf-viewer\"\n [src]=\"pdffile\"\n *ngIf=\"type == 'application/pdf'\"\n [rotation]=\"0\"\n [original-size]=\"true\"\n [show-all]=\"true\"\n [fit-to-page]=\"true\"\n [zoom]=\"1\" \n [stick-to-page]=\"false\"\n [render-text]=\"true\"\n [external-link-target]=\"'blank'\"\n [autoresize]=\"true\"\n [show-borders]=\"false\"\n [ngStyle]=\"{ width: width, height: height }\"\n></pdf-viewer>\n\n", styles: [".img{width:100%;height:100%;overflow:auto}.txt-pdf-viewer{overflow:auto}.xml-viewer{overflow:auto;font-size:13px}.xml-viewer .tag{color:#6f517e}\n"] }]
|
|
56
|
+
args: [{ selector: 'kv-file-viewer-novo', template: "<img class=\"img\" *ngIf=\"type.match('image')\" [src]=\"sanitizedPdfSrc\" />\r\n\r\n<iframe\r\n class=\"txt-pdf\"\r\n *ngIf=\"type == 'text/plain'\"\r\n [src]=\"sanitizedPdfSrc\"\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n>\r\n</iframe>\r\n\r\n<div *ngIf=\"xmlFormat\" class=\"txt-pdf xml-viewer\">\r\n <pre lang=\"xml\">\r\n {{ xmlFormat }}\r\n </pre>\r\n</div>\r\n\r\n<pdf-viewer\r\n class=\"txt-pdf-viewer\"\r\n [src]=\"pdffile\"\r\n *ngIf=\"type == 'application/pdf'\"\r\n [rotation]=\"0\"\r\n [original-size]=\"true\"\r\n [show-all]=\"true\"\r\n [fit-to-page]=\"true\"\r\n [zoom]=\"1\" \r\n [stick-to-page]=\"false\"\r\n [render-text]=\"true\"\r\n [external-link-target]=\"'blank'\"\r\n [autoresize]=\"true\"\r\n [show-borders]=\"false\"\r\n [ngStyle]=\"{ width: width, height: height }\"\r\n></pdf-viewer>\r\n\r\n", styles: [".img{width:100%;height:100%;overflow:auto}.txt-pdf-viewer{overflow:auto}.xml-viewer{overflow:auto;font-size:13px}.xml-viewer .tag{color:#6f517e}\n"] }]
|
|
57
57
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { arquivo: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}], type: [{
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
65
65
|
}], height: [{
|
|
66
66
|
type: Input
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsZS12aWV3ZXItbm92by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci1ub3ZvL2t2LWZpbGUtdmlld2VyLW5vdm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsZS12aWV3ZXItbm92by9rdi1maWxlLXZpZXdlci1ub3ZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDOzs7OztBQU96QyxNQUFNLE9BQU8seUJBQXlCO0lBWXBDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFSbEMsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUN2QixXQUFNLEdBQVcsT0FBTyxDQUFDO1FBS2xDLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQUVRLENBQUM7SUFFL0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxpQkFBaUI7WUFDM0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUVsRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksaUJBQWlCO2dCQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7Z0JBQ3BELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBR0QsZ0JBQWdCO1FBQ2QsNkVBQTZFO1FBQzdFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWhFLCtCQUErQjtRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQ2xFLG9CQUFvQixDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUdELFlBQVksQ0FBQyxHQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsYUFBYTtRQUNYLDZFQUE2RTtRQUM3RSxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVoRSx1Q0FBdUM7UUFDdkMsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFHRCxLQUFLLENBQUMsYUFBYTtRQUNqQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0EvRFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEtDZnRDLHExQkFrQ0E7OzJGRG5CYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UscUJBQXFCO2lGQUt0QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgKiBhcyB2a2JlYXV0aWZ5IGZyb20gJ3ZrYmVhdXRpZnknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1maWxlLXZpZXdlci1ub3ZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtZmlsZS12aWV3ZXItbm92by5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWZpbGUtdmlld2VyLW5vdm8uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZGaWxlVmlld2VyTm92b0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBhcnF1aXZvITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHR5cGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYmxvYiE6IEJsb2I7XHJcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcxMDAlJztcclxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICc1MDBweCc7XHJcblxyXG4gIHBkZmZpbGU6IGFueTtcclxuICB4bWxCZWF1dGlmaWVkOiBhbnk7XHJcbiAgeG1sRm9ybWF0OiBhbnk7XHJcbiAgc2FuaXRpemVkUGRmU3JjOiBTYWZlUmVzb3VyY2VVcmwgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50eXBlID09ICd0ZXh0L3htbCcgfHwgdGhpcy50eXBlID09ICdhcHBsaWNhdGlvbi94bWwnKVxyXG4gICAgICB0aGlzLnZpc3VhbGl6YXJYbWwoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzWydhcnF1aXZvJ10gJiYgdGhpcy5hcnF1aXZvKSB7XHJcbiAgICAgIC8vIENvcnJpZ2UgcXVhbHF1ZXIgb2NvcnLDqm5jaWEgZGUgXCIuLlwiIG5vIG5vbWUgZG8gYXJxdWl2b1xyXG4gICAgICB0aGlzLmFycXVpdm8gPSB0aGlzLmFycXVpdm8ucmVwbGFjZSgvXFwuXFwuL2csICcuJyk7XHJcbiAgXHJcbiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3BkZicpIHRoaXMudmlzdWFsaXphclBERigpO1xyXG4gICAgICBlbHNlIHRoaXMudmlzdWFsaXphcklmcmFtZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbiAgdmlzdWFsaXphcklmcmFtZSgpIHtcclxuICAgIC8vIENvcnJpZ2UgcXVhbHF1ZXIgb2NvcnLDqm5jaWEgZGUgZG9pcyBwb250b3MgY29uc2VjdXRpdm9zIG5vIG5vbWUgZG8gYXJxdWl2b1xyXG4gICAgY29uc3Qgbm9tZUFycXVpdm9Db3JyaWdpZG8gPSB0aGlzLmFycXVpdm8ucmVwbGFjZSgvXFwuXFwuL2csICcuJyk7XHJcbiAgXHJcbiAgICAvLyBTYW5pdGl6YSBvIGNhbWluaG8gY29ycmlnaWRvXHJcbiAgICB0aGlzLnNhbml0aXplZFBkZlNyYyA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcclxuICAgICAgbm9tZUFycXVpdm9Db3JyaWdpZG9cclxuICAgICk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICBnZXRTYW5pdGl6ZXIodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIHZpc3VhbGl6YXJQREYoKSB7XHJcbiAgICAvLyBDb3JyaWdlIHF1YWxxdWVyIG9jb3Jyw6puY2lhIGRlIGRvaXMgcG9udG9zIGNvbnNlY3V0aXZvcyBubyBub21lIGRvIGFycXVpdm9cclxuICAgIGNvbnN0IG5vbWVBcnF1aXZvQ29ycmlnaWRvID0gdGhpcy5hcnF1aXZvLnJlcGxhY2UoL1xcLlxcLi9nLCAnLicpO1xyXG4gIFxyXG4gICAgLy8gQ29udGludWEgbyBwcm9jZXNzYW1lbnRvIG5vcm1hbG1lbnRlXHJcbiAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICBcclxuICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucGRmZmlsZSA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgIH07XHJcbiAgXHJcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIodGhpcy5ibG9iKTtcclxuICB9XHJcbiAgXHJcblxyXG4gIGFzeW5jIHZpc3VhbGl6YXJYbWwoKSB7XHJcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgbmV3IFJlc3BvbnNlKHRoaXMuYmxvYikudGV4dCgpO1xyXG4gICAgdGhpcy54bWxGb3JtYXQgPSB2a2JlYXV0aWZ5LnhtbCh0ZXh0KTtcclxuICB9XHJcbn1cclxuIiwiPGltZyBjbGFzcz1cImltZ1wiICpuZ0lmPVwidHlwZS5tYXRjaCgnaW1hZ2UnKVwiIFtzcmNdPVwic2FuaXRpemVkUGRmU3JjXCIgLz5cclxuXHJcbjxpZnJhbWVcclxuICBjbGFzcz1cInR4dC1wZGZcIlxyXG4gICpuZ0lmPVwidHlwZSA9PSAndGV4dC9wbGFpbidcIlxyXG4gIFtzcmNdPVwic2FuaXRpemVkUGRmU3JjXCJcclxuICBbd2lkdGhdPVwid2lkdGhcIlxyXG4gIFtoZWlnaHRdPVwiaGVpZ2h0XCJcclxuPlxyXG48L2lmcmFtZT5cclxuXHJcbjxkaXYgKm5nSWY9XCJ4bWxGb3JtYXRcIiBjbGFzcz1cInR4dC1wZGYgeG1sLXZpZXdlclwiPlxyXG4gIDxwcmUgbGFuZz1cInhtbFwiPlxyXG4gICAge3sgeG1sRm9ybWF0IH19XHJcbiAgPC9wcmU+XHJcbjwvZGl2PlxyXG5cclxuPHBkZi12aWV3ZXJcclxuICBjbGFzcz1cInR4dC1wZGYtdmlld2VyXCJcclxuICBbc3JjXT1cInBkZmZpbGVcIlxyXG4gICpuZ0lmPVwidHlwZSA9PSAnYXBwbGljYXRpb24vcGRmJ1wiXHJcbiAgW3JvdGF0aW9uXT1cIjBcIlxyXG4gIFtvcmlnaW5hbC1zaXplXT1cInRydWVcIlxyXG4gIFtzaG93LWFsbF09XCJ0cnVlXCJcclxuICBbZml0LXRvLXBhZ2VdPVwidHJ1ZVwiXHJcbiAgW3pvb21dPVwiMVwiICBcclxuICBbc3RpY2stdG8tcGFnZV09XCJmYWxzZVwiXHJcbiAgW3JlbmRlci10ZXh0XT1cInRydWVcIlxyXG4gIFtleHRlcm5hbC1saW5rLXRhcmdldF09XCInYmxhbmsnXCJcclxuICBbYXV0b3Jlc2l6ZV09XCJ0cnVlXCJcclxuICBbc2hvdy1ib3JkZXJzXT1cImZhbHNlXCJcclxuICBbbmdTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aCwgaGVpZ2h0OiBoZWlnaHQgfVwiXHJcbj48L3BkZi12aWV3ZXI+XHJcblxyXG4iXX0=
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
21
21
|
exports: [KvFileViewerNovoComponent]
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsZS12aWV3ZXItbm92by5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci1ub3ZvL2t2LWZpbGUtdmlld2VyLW5vdm8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFXakQsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsaUJBUGxCLHlCQUF5QixhQUV0QyxZQUFZO1lBQ1osZUFBZSxhQUVQLHlCQUF5QjsrR0FFeEIsc0JBQXNCLFlBTC9CLFlBQVk7WUFDWixlQUFlOzsyRkFJTixzQkFBc0I7a0JBUmxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEt2RmlsZVZpZXdlck5vdm9Db21wb25lbnQgfSBmcm9tICcuL2t2LWZpbGUtdmlld2VyLW5vdm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGRmVmlld2VyTW9kdWxlIH0gZnJvbSAnbmcyLXBkZi12aWV3ZXInO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbS3ZGaWxlVmlld2VyTm92b0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUGRmVmlld2VyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbS3ZGaWxlVmlld2VyTm92b0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2RmlsZVZpZXdlck5vdm9Nb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -13,14 +13,14 @@ export class KvFilterFieldsetComponent {
|
|
|
13
13
|
this.collapsedEvent.emit(this.isCollapsed);
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterFieldsetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterFieldsetComponent, selector: "kv-filter-fieldset", inputs: { isExpandable: "isExpandable" }, outputs: { collapsedEvent: "collapsedEvent" }, ngImport: i0, template: "<p-fieldset styleClass=\"p-0 mb-2\">\n <ng-template pTemplate=\"header\">\n @if(isExpandable) {\n <div\n class=\"flex flex-row align-items-center justify-content-center {{\n isExpandable && 'cursor-pointer'\n }}\"\n (click)=\"toggleField()\"\n >\n <span\n class=\"material-symbols-outlined flex align-items-center justify-content-center mr-1\"\n style=\"font-size: 1.2rem\"\n >\n {{ isCollapsed ? \"remove\" : \"add\" }}\n </span>\n\n <span class=\"text-xs\"> Filtros </span>\n </div>\n } @if(!isExpandable) {\n <span class=\"text-xs\"> Filtros </span>\n }\n </ng-template>\n\n <ng-content></ng-content>\n</p-fieldset>\n", styles: ["::ng-deep .p-fieldset .p-fieldset-legend{padding:.1rem .1rem 0rem!important;margin-left:1rem}::ng-deep .p-fieldset .p-fieldset-legend{background-color:#fff;border:none}::ng-deep .p-fieldset .p-fieldset-legend:hover{background-color:#f5f5f5}::ng-deep .p-fieldset .p-fieldset-legend:active{background-color:#e0e0e0}::ng-deep .p-fieldset .p-fieldset-content{padding:0 .5rem .5rem}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }] }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterFieldsetComponent, selector: "kv-filter-fieldset", inputs: { isExpandable: "isExpandable" }, outputs: { collapsedEvent: "collapsedEvent" }, ngImport: i0, template: "<p-fieldset styleClass=\"p-0 mb-2\">\r\n <ng-template pTemplate=\"header\">\r\n @if(isExpandable) {\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center {{\r\n isExpandable && 'cursor-pointer'\r\n }}\"\r\n (click)=\"toggleField()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center justify-content-center mr-1\"\r\n style=\"font-size: 1.2rem\"\r\n >\r\n {{ isCollapsed ? \"remove\" : \"add\" }}\r\n </span>\r\n\r\n <span class=\"text-xs\"> Filtros </span>\r\n </div>\r\n } @if(!isExpandable) {\r\n <span class=\"text-xs\"> Filtros </span>\r\n }\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n</p-fieldset>\r\n", styles: ["::ng-deep .p-fieldset .p-fieldset-legend{padding:.1rem .1rem 0rem!important;margin-left:1rem}::ng-deep .p-fieldset .p-fieldset-legend{background-color:#fff;border:none}::ng-deep .p-fieldset .p-fieldset-legend:hover{background-color:#f5f5f5}::ng-deep .p-fieldset .p-fieldset-legend:active{background-color:#e0e0e0}::ng-deep .p-fieldset .p-fieldset-content{padding:0 .5rem .5rem}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }] }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterFieldsetComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'kv-filter-fieldset', standalone: false, template: "<p-fieldset styleClass=\"p-0 mb-2\">\n <ng-template pTemplate=\"header\">\n @if(isExpandable) {\n <div\n class=\"flex flex-row align-items-center justify-content-center {{\n isExpandable && 'cursor-pointer'\n }}\"\n (click)=\"toggleField()\"\n >\n <span\n class=\"material-symbols-outlined flex align-items-center justify-content-center mr-1\"\n style=\"font-size: 1.2rem\"\n >\n {{ isCollapsed ? \"remove\" : \"add\" }}\n </span>\n\n <span class=\"text-xs\"> Filtros </span>\n </div>\n } @if(!isExpandable) {\n <span class=\"text-xs\"> Filtros </span>\n }\n </ng-template>\n\n <ng-content></ng-content>\n</p-fieldset>\n", styles: ["::ng-deep .p-fieldset .p-fieldset-legend{padding:.1rem .1rem 0rem!important;margin-left:1rem}::ng-deep .p-fieldset .p-fieldset-legend{background-color:#fff;border:none}::ng-deep .p-fieldset .p-fieldset-legend:hover{background-color:#f5f5f5}::ng-deep .p-fieldset .p-fieldset-legend:active{background-color:#e0e0e0}::ng-deep .p-fieldset .p-fieldset-content{padding:0 .5rem .5rem}\n"] }]
|
|
20
|
+
args: [{ selector: 'kv-filter-fieldset', standalone: false, template: "<p-fieldset styleClass=\"p-0 mb-2\">\r\n <ng-template pTemplate=\"header\">\r\n @if(isExpandable) {\r\n <div\r\n class=\"flex flex-row align-items-center justify-content-center {{\r\n isExpandable && 'cursor-pointer'\r\n }}\"\r\n (click)=\"toggleField()\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined flex align-items-center justify-content-center mr-1\"\r\n style=\"font-size: 1.2rem\"\r\n >\r\n {{ isCollapsed ? \"remove\" : \"add\" }}\r\n </span>\r\n\r\n <span class=\"text-xs\"> Filtros </span>\r\n </div>\r\n } @if(!isExpandable) {\r\n <span class=\"text-xs\"> Filtros </span>\r\n }\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n</p-fieldset>\r\n", styles: ["::ng-deep .p-fieldset .p-fieldset-legend{padding:.1rem .1rem 0rem!important;margin-left:1rem}::ng-deep .p-fieldset .p-fieldset-legend{background-color:#fff;border:none}::ng-deep .p-fieldset .p-fieldset-legend:hover{background-color:#f5f5f5}::ng-deep .p-fieldset .p-fieldset-legend:active{background-color:#e0e0e0}::ng-deep .p-fieldset .p-fieldset-content{padding:0 .5rem .5rem}\n"] }]
|
|
21
21
|
}], propDecorators: { isExpandable: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], collapsedEvent: [{
|
|
24
24
|
type: Output
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWZpZWxkc2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1maWVsZHNldC9rdi1maWx0ZXItZmllbGRzZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWZpZWxkc2V0L2t2LWZpbHRlci1maWVsZHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXZFLE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFPVyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU1QixtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBTXJCO0lBSkMsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QyxDQUFDOzhHQVZVLHlCQUF5QjtrR0FBekIseUJBQXlCLG1KQ1J0Qyx1dkJBeUJBOzsyRkRqQmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixLQUFLOzhCQUtSLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWZpbHRlci1maWVsZHNldCcsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWZpbHRlci1maWVsZHNldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWZpbHRlci1maWVsZHNldC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkZpbHRlckZpZWxkc2V0Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpc0V4cGFuZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgY29sbGFwc2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNDb2xsYXBzZWQgPSBmYWxzZTtcclxuXHJcbiAgdG9nZ2xlRmllbGQoKSB7XHJcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XHJcbiAgICB0aGlzLmNvbGxhcHNlZEV2ZW50LmVtaXQodGhpcy5pc0NvbGxhcHNlZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxwLWZpZWxkc2V0IHN0eWxlQ2xhc3M9XCJwLTAgbWItMlwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgIEBpZihpc0V4cGFuZGFibGUpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHt7XHJcbiAgICAgICAgaXNFeHBhbmRhYmxlICYmICdjdXJzb3ItcG9pbnRlcidcclxuICAgICAgfX1cIlxyXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRmllbGQoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgbXItMVwiXHJcbiAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDEuMnJlbVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBpc0NvbGxhcHNlZCA/IFwicmVtb3ZlXCIgOiBcImFkZFwiIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC14c1wiPiBGaWx0cm9zIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAaWYoIWlzRXhwYW5kYWJsZSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzXCI+IEZpbHRyb3MgPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9wLWZpZWxkc2V0PlxyXG4iXX0=
|