@wizco/fenixds-ngx 17.8.1 → 17.8.3

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.
@@ -7,6 +7,8 @@ export class PreviewFileComponent {
7
7
  sanitizer;
8
8
  ngZone;
9
9
  previewFileElement;
10
+ /* Controle de exibição do modal de visualização */
11
+ showDialog = false;
10
12
  /* Nome do arquivo (optioncal) */
11
13
  filename = '';
12
14
  /* Formato do arquivo (optional) */
@@ -64,9 +66,6 @@ export class PreviewFileComponent {
64
66
  this.sanitizer = sanitizer;
65
67
  this.ngZone = ngZone;
66
68
  }
67
- ngAfterViewChecked() {
68
- this.positionThumbnail();
69
- }
70
69
  transformFiles(file) {
71
70
  if (file) {
72
71
  const reader = new FileReader();
@@ -82,19 +81,29 @@ export class PreviewFileComponent {
82
81
  return this.sanitizer.bypassSecurityTrustResourceUrl(url);
83
82
  }
84
83
  positionThumbnail() {
84
+ if (!this.previewFileElement?.nativeElement) {
85
+ return;
86
+ }
85
87
  const previewFileElement = this.previewFileElement.nativeElement;
86
88
  const cardPosition = previewFileElement.getElementsByClassName('wco-previewFile--thumbl')[0];
87
- if (cardPosition) {
88
- const { x, y } = cardPosition.getBoundingClientRect();
89
- this.ngZone.runOutsideAngular(() => {
90
- setTimeout(() => {
89
+ if (!cardPosition) {
90
+ return;
91
+ }
92
+ this.ngZone.runOutsideAngular(() => {
93
+ requestAnimationFrame(() => {
94
+ requestAnimationFrame(() => {
95
+ const { x, y } = cardPosition.getBoundingClientRect();
91
96
  this.y.set(y + 'px');
92
97
  this.x.set(x + 'px');
93
- }, 1000);
98
+ });
94
99
  });
95
- }
100
+ });
96
101
  }
97
102
  actionEvent(action) {
103
+ // Caso o usuário clique no botão de visualização, abre o modal de visualização
104
+ if (action === 'view' && this.typeFileFormat() !== 'file' && this.preview) {
105
+ this.modalPreview();
106
+ }
98
107
  this.clickEvent.emit({
99
108
  action,
100
109
  data: {
@@ -112,6 +121,7 @@ export class PreviewFileComponent {
112
121
  if (!!!this.url || this.typeFileFormat() === 'file') {
113
122
  return;
114
123
  }
124
+ this.showDialog = true;
115
125
  this.positionThumbnail();
116
126
  const modal = document.getElementById(this.id);
117
127
  modal?.showModal();
@@ -119,6 +129,9 @@ export class PreviewFileComponent {
119
129
  closeDialog() {
120
130
  const modal = document.getElementById(this.id);
121
131
  modal?.close();
132
+ setTimeout(() => {
133
+ this.showDialog = false;
134
+ }, 500);
122
135
  }
123
136
  ///////////////////////////////////
124
137
  /// Formatos e posições de ícones
@@ -176,11 +189,11 @@ export class PreviewFileComponent {
176
189
  return typeMap[format] || 'file';
177
190
  }
178
191
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PreviewFileComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
179
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PreviewFileComponent, isStandalone: true, selector: "wco-preview-file", inputs: { filename: "filename", format: "format", preview: "preview", actions: "actions", status: "status", url: "url", customContent: "customContent", type: "type", title: "title", setfile: "setfile" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "previewFileElement", first: true, predicate: ["previewFileElement"], descendants: true }], ngImport: i0, template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <button *ngIf=\"actions.includes('download')\" (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n <button *ngIf=\"actions.includes('delete')\" (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div>\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <video *ngIf=\"typeFileFormat() === 'video'\" [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open]{opacity:1;background-color:transparent;box-shadow:none}dialog[open]>div{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open]{max-width:80vw}}@starting-style{dialog[open]{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop{background-color:#0000}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
192
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PreviewFileComponent, isStandalone: true, selector: "wco-preview-file", inputs: { filename: "filename", format: "format", preview: "preview", actions: "actions", status: "status", url: "url", customContent: "customContent", type: "type", title: "title", setfile: "setfile" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "previewFileElement", first: true, predicate: ["previewFileElement"], descendants: true }], ngImport: i0, template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <span *ngIf=\"actions.includes('download')\" data-tooltip=\"Download\" data-flow=\"top\">\n <button (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('delete')\" data-tooltip=\"Excluir\" data-flow=\"top\">\n <button (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('view')\" data-tooltip=\"Visualizar\" data-flow=\"top\">\n <button (click)=\"actionEvent('view')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">visibility</span>\n </button>\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div>\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <ng-container *ngIf=\"showDialog\"> \n <video *ngIf=\"typeFileFormat() === 'video'\" autoplay [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </ng-container>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open][role=dialog]{opacity:1;background-color:transparent;box-shadow:none}dialog[open][role=dialog]>div{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open][role=dialog]{max-width:80vw}}@starting-style{dialog[open]{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop{background-color:#0000}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
180
193
  }
181
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PreviewFileComponent, decorators: [{
182
195
  type: Component,
183
- args: [{ selector: 'wco-preview-file', standalone: true, imports: [CommonModule], template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <button *ngIf=\"actions.includes('download')\" (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n <button *ngIf=\"actions.includes('delete')\" (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div>\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <video *ngIf=\"typeFileFormat() === 'video'\" [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open]{opacity:1;background-color:transparent;box-shadow:none}dialog[open]>div{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open]{max-width:80vw}}@starting-style{dialog[open]{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop{background-color:#0000}}\n"] }]
196
+ args: [{ selector: 'wco-preview-file', standalone: true, imports: [CommonModule], template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <span *ngIf=\"actions.includes('download')\" data-tooltip=\"Download\" data-flow=\"top\">\n <button (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('delete')\" data-tooltip=\"Excluir\" data-flow=\"top\">\n <button (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('view')\" data-tooltip=\"Visualizar\" data-flow=\"top\">\n <button (click)=\"actionEvent('view')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">visibility</span>\n </button>\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div>\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <ng-container *ngIf=\"showDialog\"> \n <video *ngIf=\"typeFileFormat() === 'video'\" autoplay [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </ng-container>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open][role=dialog]{opacity:1;background-color:transparent;box-shadow:none}dialog[open][role=dialog]>div{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open][role=dialog]{max-width:80vw}}@starting-style{dialog[open]{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop{background-color:#0000}}\n"] }]
184
197
  }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.NgZone }], propDecorators: { previewFileElement: [{
185
198
  type: ViewChild,
186
199
  args: ['previewFileElement', { static: false }]
@@ -207,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
207
220
  }], clickEvent: [{
208
221
  type: Output
209
222
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvcHJldmlldy1maWxlL3ByZXZpZXctZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWMvQyxNQUFNLE9BQU8sb0JBQW9CO0lBdUVYO0lBQWlDO0lBckVyRCxrQkFBa0IsQ0FBOEI7SUFFaEQsaUNBQWlDO0lBQ3hCLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsbUNBQW1DO0lBQzFCLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsbURBQW1EO0lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsaURBQWlEO0lBQ3hDLE9BQU8sQ0FBNkI7SUFDN0Msa0NBQWtDO0lBQ3pCLE1BQU0sQ0FBMEI7SUFDekMsK0JBQStCO0lBQ3RCLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDbEIscUNBQXFDO0lBQzVCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0IsZ0RBQWdEO0lBQ3ZDLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBQ3RDLGtDQUFrQztJQUN6QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLG9EQUFvRDtJQUNwRCxJQUFhLE9BQU8sQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJ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RyxLQUFLO3NCQUFiLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFNSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzLFxuICBQcmV2aWV3RmlsZVN0YXR1c1R5cGVzLFxufSBmcm9tICcuL3ByZXZpZXctZmlsZS50eXBlcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1wcmV2aWV3LWZpbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3RmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICBAVmlld0NoaWxkKCdwcmV2aWV3RmlsZUVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJldmlld0ZpbGVFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgLyogTm9tZSBkbyBhcnF1aXZvIChvcHRpb25jYWwpICovXG4gIEBJbnB1dCgpIGZpbGVuYW1lID0gJyc7XG4gIC8qIEZvcm1hdG8gZG8gYXJxdWl2byAob3B0aW9uYWwpICovXG4gIEBJbnB1dCgpIGZvcm1hdCA9ICcnO1xuICAvKiBNb3N0cmFyIHByZXZpc3VhbGl6YcOnw6NvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBwcmV2aWV3ID0gdHJ1ZTtcbiAgLyogQcOnw7VlcyBkaXNwb27DrXZlaXMgcGFyYSBvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBhY3Rpb25zITogUHJldmlld0ZpbGVBY3Rpb25zVHlwZXNbXTtcbiAgLyogU3RhdHVzIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBzdGF0dXMhOiBQcmV2aWV3RmlsZVN0YXR1c1R5cGVzO1xuICAvKiBVUkwgZG8gYXJxdWl2byAob3B0aW9uYWwpICovXG4gIEBJbnB1dCgpIHVybCA9ICcnO1xuICAvKiBDb250ZcO6ZG8gY3VzdG9taXphZG8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBjdXN0b21Db250ZW50ID0gZmFsc2U7XG4gIC8qIFRpcG8gZGUgdmlzdWFsaXphw6fDo28gZG8gYXJxdWl2byAob3B0aW9uYWwpICovXG4gIEBJbnB1dCgpIHR5cGU6ICdtaW5pJyB8ICdib3gnID0gJ2JveCc7XG4gIC8qIFTDrXR1bG8gZG8gYXJxdWl2byAob3B0aW9uYWwpICovXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG5cbiAgLyogQXJxdWl2byBwYXJhIHZpc3VhbGl6YcOnw6NvIG5hdGl2byBkbyBpbnB1dCBmaWxlICovXG4gIEBJbnB1dCgpIHNldCBzZXRmaWxlKGZpbGU6IEZpbGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFmaWxlKSByZXR1cm47XG4gICAgdGhpcy50cmFuc2Zvcm1GaWxlcyhmaWxlKTtcbiAgfVxuXG4gIC8qIEV2ZW50byBkZSBjbGlxdWUgbmFzIGHDp8O1ZXMgZG8gYXJxdWl2byAqL1xuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIGFjdGlvbjogUHJldmlld0ZpbGVBY3Rpb25zVHlwZXM7XG4gICAgZGF0YTogYW55O1xuICB9PigpO1xuXG5cbiAgZ2V0IG5hbWUoKSB7XG4gICAgaWYoISF0aGlzLmZpbGVuYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWxlbmFtZVxuICAgIH1cblxuICAgIGlmKCEhdGhpcy51cmwpIHtcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGhpcy51cmwpO1xuICAgICAgY29uc3QgbmFtZSA9IHVybC5wYXRobmFtZS5zcGxpdCgnLycpLnBvcCgpO1xuICAgICAgY29uc3QgdG90YWwgPSBuYW1lID8gbmFtZT8ubGVuZ3RoID49IDMwID8gMTUgOiAwIDogMDtcbiAgICAgIHJldHVybiBuYW1lPy5zdWJzdHJpbmcodG90YWwsIG5hbWUubGVuZ3RoKTtcbiAgICB9XG4gICAgcmV0dXJuICdOb21lIG7Do28gaW5mb3JtYWRvJztcbiAgfVxuXG4gIGdldCBfZm9ybWF0KCkgeyBcblxuICAgIGlmICghIXRoaXMuZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudXJsKSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMudXJsKTtcbiAgICAgIGNvbnN0IGZvcm1hdCA9IHVybC5wYXRobmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgICAgcmV0dXJuIGZvcm1hdDtcbiAgICB9XG5cbiAgICByZXR1cm4gJ2ZpbGUnO1xuICB9XG4gIFxuICBpZFJhbmRvbSA9ICdwcmV2aWV3LScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNyk7XG4gIGlkID0gJ21vZGFsLScgKyB0aGlzLmlkUmFuZG9tO1xuXG4gIHkgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4oJzEwMHB4Jyk7XG4gIHggPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4oJzEwMHB4Jyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy5wb3NpdGlvblRodW1ibmFpbCgpO1xuICB9XG5cblxuICBwcml2YXRlIHRyYW5zZm9ybUZpbGVzKGZpbGU6IEZpbGUpIHtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZmlsZW5hbWUgPSBmaWxlLm5hbWU7XG4gICAgICAgIHRoaXMuZm9ybWF0ID0gZmlsZS50eXBlIHx8ICdmaWxlJztcbiAgICAgICAgdGhpcy51cmwgPSBlLnRhcmdldC5yZXN1bHQ7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNmb3JtUERGU2VjdXJpdHkodXJsOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh1cmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3NpdGlvblRodW1ibmFpbCgpIHtcbiAgICBjb25zdCBwcmV2aWV3RmlsZUVsZW1lbnQgPSB0aGlzLnByZXZpZXdGaWxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGNhcmRQb3NpdGlvbiA9IHByZXZpZXdGaWxlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFxuICAgICAgJ3djby1wcmV2aWV3RmlsZS0tdGh1bWJsJ1xuICAgIClbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoY2FyZFBvc2l0aW9uKSB7XG4gICAgICBjb25zdCB7IHgsIHkgfSA9IGNhcmRQb3NpdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy55LnNldCh5ICsgJ3B4Jyk7XG4gICAgICAgICAgdGhpcy54LnNldCh4ICsgJ3B4Jyk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGlvbkV2ZW50KGFjdGlvbjogUHJldmlld0ZpbGVBY3Rpb25zVHlwZXMpIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0LFxuICAgICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgICBmaWxlOiB0aGlzLnVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBFdmVudG9zIGRlIG1vZGFsXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIG1vZGFsUHJldmlldygpIHtcbiAgICBpZiAoISEhdGhpcy51cmwgfHwgdGhpcy50eXBlRmlsZUZvcm1hdCgpID09PSAnZmlsZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wb3NpdGlvblRodW1ibmFpbCgpO1xuICAgIGNvbnN0IG1vZGFsOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcbiAgICBtb2RhbD8uc2hvd01vZGFsKCk7XG4gIH1cblxuICBjbG9zZURpYWxvZygpIHtcbiAgICBjb25zdCBtb2RhbDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG4gICAgbW9kYWw/LmNsb3NlKCk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLy8gRm9ybWF0b3MgZSBwb3Npw6fDtWVzIGRlIMOtY29uZXNcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgZ2V0SWNvbk1hdGVyaWFsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaWNvbk1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICdwZGYnOiAncGljdHVyZV9hc19wZGYnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3BkZic6ICdwaWN0dXJlX2FzX3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOlxuICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzpcbiAgICAgICAgJ3RhYmxlX2NoYXJ0JyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJzpcbiAgICAgICAgJ3NsaWRlc2hvdycsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgICd2aWRlby9tcDQnOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ21wNCc6ICdvbmRlbWFuZF92aWRlbycsXG4gICAgICAndmlkZW8vcXVpY2t0aW1lJzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICd2aWRlby94LW1zdmlkZW8nOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ3ZpZGVvL3gtbXMtd212JzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICdhdWRpby9tcGVnJzogJ2F1ZGlvdHJhY2snLFxuICAgICAgJ2F1ZGlvL29nZyc6ICdhdWRpb3RyYWNrJyxcbiAgICAgICdhdWRpby93YXYnOiAnYXVkaW90cmFjaycsXG4gICAgICAnYXVkaW8vd2VibSc6ICdhdWRpb3RyYWNrJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGljb25NYXBbdHlwZV0gfHwgJ2luc2VydF9kcml2ZV9maWxlJztcbiAgfVxuXG4gIHR5cGVGaWxlRm9ybWF0KCk6ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScge1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuX2Zvcm1hdCB8fCAnZmlsZSdcbiAgICBjb25zdCB0eXBlTWFwOiB7IFtrZXk6IHN0cmluZ106ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScgfSA9IHtcbiAgICAgIHBkZjogJ3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vcGRmJzogJ3BkZicsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAganBnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgIG1wNDogJ3ZpZGVvJyxcbiAgICAgIG1vdjogJ3ZpZGVvJyxcbiAgICAgICd2aWRlby9tcDQnOiAndmlkZW8nLFxuICAgICAgJ3ZpZGVvL3F1aWNrdGltZSc6ICd2aWRlbydcbiAgICB9O1xuXG4gICAgcmV0dXJuIHR5cGVNYXBbZm9ybWF0XSB8fCAnZmlsZSc7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIid3Y28tcHJldmlld0ZpbGUgd2NvLXByZXZpZXdGaWxlLXR5cGUnICsgdHlwZVwiICNwcmV2aWV3RmlsZUVsZW1lbnQ+XG4gIDxoNCAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJkaXNwbGF5LWJvZHkgYm9sZFwiPnt7IHRpdGxlIH19PC9oND5cblxuICA8ZGl2IFtjbGFzc109XCInd2NvLXByZXZpZXdGaWxlLS10aHVtYmwgdHlwZS1maWxlLScgKyB0eXBlRmlsZUZvcm1hdCgpXCIgW2lkXT1cImlkUmFuZG9tXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtcHJldmlld1wiIChjbGljayk9XCJwcmV2aWV3ID8gbW9kYWxQcmV2aWV3KCkgOiBudWxsXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdpbWFnZScgJiYgISF1cmxcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInVybFwiIGFsdD1cIkltYWdlbSBkbyBkb2N1bWVudG9cIiBsb2FkaW5nPVwibGF6eVwiIHJvbGU9XCJpbWdcIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgIT09ICdpbWFnZScgfHwgIXVybFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPnt7IGdldEljb25NYXRlcmlhbChmb3JtYXQpIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxoNSAoY2xpY2spPVwicHJldmlldyA/IG1vZGFsUHJldmlldygpIDogbnVsbFwiIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIj5cbiAgICAgIHt7IG5hbWUgfX08L2g1PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLXN0YXR1c1wiICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXMgJiYgc3RhdHVzLnR5cGUgJiYgc3RhdHVzLnRleHRcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIid3Y28tdGFnIHRhZy0nICsgc3RhdHVzLnR5cGVcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXMuaWNvbk1hdGVyaWFsXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj57eyBzdGF0dXMuaWNvbk1hdGVyaWFsIH19PC9zcGFuPlxuICAgICAgICAgIHt7IHN0YXR1cy50ZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDYgKm5nSWY9XCJzdGF0dXMucHJlZml4RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgc3RhdHVzLnByZWZpeERlc2NyaXB0aW9uIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9oNj5cbiAgICAgICAgICA8cCAqbmdJZj1cInN0YXR1cy5kZXNjcmlwdGlvblwiPnt7IHN0YXR1cy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLWJ1dHRvbnNcIiAqbmdJZj1cIiFjdXN0b21Db250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnQgJiYgISFhY3Rpb25zPy5sZW5ndGhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygncmVmcmVzaCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdyZWZyZXNoJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2FjaGVkPC9zcGFuPlxuICAgICAgICAgICAgUmVlbnZpYXJcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnYXByb3ZlZCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdhcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIEFwcm92YXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZG9uZTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ3JlcHJvdmVkJylcIiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ3JlcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIFJlY3VzYXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ2Rvd25sb2FkJykgfHwgYWN0aW9ucy5pbmNsdWRlcygnZGVsZXRlJykgXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGVfX2FjdGlvbi0tYnV0dG9uc0ljb25cIj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhY3Rpb25zLmluY2x1ZGVzKCdkb3dubG9hZCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdkb3dubG9hZCcpXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtLWJ1dHRvbkljb25cIlxuICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZmlsZV9kb3dubG9hZDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ2RlbGV0ZScpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdkZWxldGUnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLWJ1dHRvbkljb25cIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZGVsZXRlPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlldyAmJiB4KCkgJiYgeSgpXCI+XG4gIDxkaWFsb2cgW2lkXT1cImlkXCIgW25nU3R5bGVdPVwieyctLWRpYWxvZy14JzogeCgpLCAnLS1kaWFsb2cteSc6IHkoKX1cIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJ0eXBlRmlsZUZvcm1hdCgpID09PSAnaW1hZ2UnXCIgW3NyY109XCJ1cmxcIiBhbHQ9XCJJbWFnZW0gZG8gZG9jdW1lbnRvXCIgbG9hZGluZz1cImxhenlcIiByb2xlPVwiaW1nXCI+XG4gICAgICAgIDx2aWRlbyAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICd2aWRlbydcIiBbc3JjXT1cInVybFwiIGNvbnRyb2xzIHJvbGU9XCJ2aWRlb1wiPjwvdmlkZW8+XG4gICAgICAgIDxpZnJhbWUgKm5nSWY9XCJ0eXBlRmlsZUZvcm1hdCgpID09PSAncGRmJ1wiIFtzcmNdPVwidHJhbnNmb3JtUERGU2VjdXJpdHkodXJsKVwiIHJvbGU9XCJkb2N1bWVudFwiPjwvaWZyYW1lPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXIgbXkteHhzXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cIndjby1idG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPkZlY2hhcjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGlhbG9nPlxuPC9uZy1jb250YWluZXI+Il19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvcHJldmlldy1maWxlL3ByZXZpZXctZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWMvQyxNQUFNLE9BQU8sb0JBQW9CO0lBMkVYO0lBQWlDO0lBekVyRCxrQkFBa0IsQ0FBOEI7SUFFaEQsbURBQW1EO0lBQzVDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHMUIsaUNBQWlDO0lBQ3hCLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsbUNBQW1DO0lBQzFCLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsbURBQW1EO0lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsaURBQWlEO0lBQ3hDLE9BQU8sQ0FBNkI7SUFDN0Msa0NBQWtDO0lBQ3pCLE1BQU0sQ0FBMEI7SUFDekMsK0JBQStCO0lBQ3RCLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDbEIscUNBQXFDO0lBQzVCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0IsZ0RBQWdEO0lBQ3ZDLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBQ3RDLGtDQUFrQztJQUN6QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLG9EQUFvRDtJQUNwRCxJQUFhLE9BQU8sQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLENBQUMsSUFB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Q0FBQzt3R0F4TlUsb0JBQW9COzRGQUFwQixvQkFBb0IseWJDeEJqQyx5OEpBOEZlLHN5TEQxRUgsWUFBWTs7NEZBSVgsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7c0dBTXZCLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBUXpDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFNSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzLFxuICBQcmV2aWV3RmlsZVN0YXR1c1R5cGVzLFxufSBmcm9tICcuL3ByZXZpZXctZmlsZS50eXBlcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1wcmV2aWV3LWZpbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3RmlsZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ3ByZXZpZXdGaWxlRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcmV2aWV3RmlsZUVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKiBDb250cm9sZSBkZSBleGliacOnw6NvIGRvIG1vZGFsIGRlIHZpc3VhbGl6YcOnw6NvICovXG4gIHB1YmxpYyBzaG93RGlhbG9nID0gZmFsc2U7XG4gIFxuXG4gIC8qIE5vbWUgZG8gYXJxdWl2byAob3B0aW9uY2FsKSAqL1xuICBASW5wdXQoKSBmaWxlbmFtZSA9ICcnO1xuICAvKiBGb3JtYXRvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBmb3JtYXQgPSAnJztcbiAgLyogTW9zdHJhciBwcmV2aXN1YWxpemHDp8OjbyBkbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgcHJldmlldyA9IHRydWU7XG4gIC8qIEHDp8O1ZXMgZGlzcG9uw612ZWlzIHBhcmEgbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgYWN0aW9ucyE6IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzW107XG4gIC8qIFN0YXR1cyBkbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgc3RhdHVzITogUHJldmlld0ZpbGVTdGF0dXNUeXBlcztcbiAgLyogVVJMIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB1cmwgPSAnJztcbiAgLyogQ29udGXDumRvIGN1c3RvbWl6YWRvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgY3VzdG9tQ29udGVudCA9IGZhbHNlO1xuICAvKiBUaXBvIGRlIHZpc3VhbGl6YcOnw6NvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB0eXBlOiAnbWluaScgfCAnYm94JyA9ICdib3gnO1xuICAvKiBUw610dWxvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuXG4gIC8qIEFycXVpdm8gcGFyYSB2aXN1YWxpemHDp8OjbyBuYXRpdm8gZG8gaW5wdXQgZmlsZSAqL1xuICBASW5wdXQoKSBzZXQgc2V0ZmlsZShmaWxlOiBGaWxlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghZmlsZSkgcmV0dXJuO1xuICAgIHRoaXMudHJhbnNmb3JtRmlsZXMoZmlsZSk7XG4gIH1cblxuICAvKiBFdmVudG8gZGUgY2xpcXVlIG5hcyBhw6fDtWVzIGRvIGFycXVpdm8gKi9cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBhY3Rpb246IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzO1xuICAgIGRhdGE6IGFueTtcbiAgfT4oKTtcblxuXG4gIGdldCBuYW1lKCkge1xuICAgIGlmKCEhdGhpcy5maWxlbmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsZW5hbWVcbiAgICB9XG5cbiAgICBpZighIXRoaXMudXJsKSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMudXJsKTtcbiAgICAgIGNvbnN0IG5hbWUgPSB1cmwucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgICAgIGNvbnN0IHRvdGFsID0gbmFtZSA/IG5hbWU/Lmxlbmd0aCA+PSAzMCA/IDE1IDogMCA6IDA7XG4gICAgICByZXR1cm4gbmFtZT8uc3Vic3RyaW5nKHRvdGFsLCBuYW1lLmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiAnTm9tZSBuw6NvIGluZm9ybWFkbyc7XG4gIH1cblxuICBnZXQgX2Zvcm1hdCgpIHsgXG5cbiAgICBpZiAoISF0aGlzLmZvcm1hdCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnVybCkge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnVybCk7XG4gICAgICBjb25zdCBmb3JtYXQgPSB1cmwucGF0aG5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuICdmaWxlJztcbiAgfVxuICBcbiAgaWRSYW5kb20gPSAncHJldmlldy0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpO1xuICBpZCA9ICdtb2RhbC0nICsgdGhpcy5pZFJhbmRvbTtcblxuICB5ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KCcxMDBweCcpO1xuICB4ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KCcxMDBweCcpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1GaWxlcyhmaWxlOiBGaWxlKSB7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmZpbGVuYW1lID0gZmlsZS5uYW1lO1xuICAgICAgICB0aGlzLmZvcm1hdCA9IGZpbGUudHlwZSB8fCAnZmlsZSc7XG4gICAgICAgIHRoaXMudXJsID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zZm9ybVBERlNlY3VyaXR5KHVybDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25UaHVtYm5haWwoKSB7XG4gICAgaWYgKCF0aGlzLnByZXZpZXdGaWxlRWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpZXdGaWxlRWxlbWVudCA9IHRoaXMucHJldmlld0ZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY2FyZFBvc2l0aW9uID0gcHJldmlld0ZpbGVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAnd2NvLXByZXZpZXdGaWxlLS10aHVtYmwnXG4gICAgKVswXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghY2FyZFBvc2l0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHgsIHkgfSA9IGNhcmRQb3NpdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB0aGlzLnkuc2V0KHkgKyAncHgnKTtcbiAgICAgICAgICB0aGlzLnguc2V0KHggKyAncHgnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25FdmVudChhY3Rpb246IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzKSB7XG5cbiAgICAvLyBDYXNvIG8gdXN1w6FyaW8gY2xpcXVlIG5vIGJvdMOjbyBkZSB2aXN1YWxpemHDp8OjbywgYWJyZSBvIG1vZGFsIGRlIHZpc3VhbGl6YcOnw6NvXG4gICAgaWYoYWN0aW9uID09PSAndmlldycgJiYgdGhpcy50eXBlRmlsZUZvcm1hdCgpICE9PSAnZmlsZScgJiYgdGhpcy5wcmV2aWV3KSB7XG4gICAgICB0aGlzLm1vZGFsUHJldmlldygpO1xuICAgIH1cbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0LFxuICAgICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgICBmaWxlOiB0aGlzLnVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBFdmVudG9zIGRlIG1vZGFsXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIG1vZGFsUHJldmlldygpIHtcbiAgICBpZiAoISEhdGhpcy51cmwgfHwgdGhpcy50eXBlRmlsZUZvcm1hdCgpID09PSAnZmlsZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaG93RGlhbG9nID0gdHJ1ZTtcbiAgICB0aGlzLnBvc2l0aW9uVGh1bWJuYWlsKCk7XG4gICAgY29uc3QgbW9kYWw6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xuICAgIG1vZGFsPy5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCkge1xuICAgIGNvbnN0IG1vZGFsOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcbiAgICBtb2RhbD8uY2xvc2UoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLy8gRm9ybWF0b3MgZSBwb3Npw6fDtWVzIGRlIMOtY29uZXNcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgZ2V0SWNvbk1hdGVyaWFsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaWNvbk1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICdwZGYnOiAncGljdHVyZV9hc19wZGYnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3BkZic6ICdwaWN0dXJlX2FzX3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOlxuICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzpcbiAgICAgICAgJ3RhYmxlX2NoYXJ0JyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJzpcbiAgICAgICAgJ3NsaWRlc2hvdycsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgICd2aWRlby9tcDQnOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ21wNCc6ICdvbmRlbWFuZF92aWRlbycsXG4gICAgICAndmlkZW8vcXVpY2t0aW1lJzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICd2aWRlby94LW1zdmlkZW8nOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ3ZpZGVvL3gtbXMtd212JzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICdhdWRpby9tcGVnJzogJ2F1ZGlvdHJhY2snLFxuICAgICAgJ2F1ZGlvL29nZyc6ICdhdWRpb3RyYWNrJyxcbiAgICAgICdhdWRpby93YXYnOiAnYXVkaW90cmFjaycsXG4gICAgICAnYXVkaW8vd2VibSc6ICdhdWRpb3RyYWNrJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGljb25NYXBbdHlwZV0gfHwgJ2luc2VydF9kcml2ZV9maWxlJztcbiAgfVxuXG4gIHR5cGVGaWxlRm9ybWF0KCk6ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScge1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuX2Zvcm1hdCB8fCAnZmlsZSdcbiAgICBjb25zdCB0eXBlTWFwOiB7IFtrZXk6IHN0cmluZ106ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScgfSA9IHtcbiAgICAgIHBkZjogJ3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vcGRmJzogJ3BkZicsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAganBnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgIG1wNDogJ3ZpZGVvJyxcbiAgICAgIG1vdjogJ3ZpZGVvJyxcbiAgICAgICd2aWRlby9tcDQnOiAndmlkZW8nLFxuICAgICAgJ3ZpZGVvL3F1aWNrdGltZSc6ICd2aWRlbydcbiAgICB9O1xuXG4gICAgcmV0dXJuIHR5cGVNYXBbZm9ybWF0XSB8fCAnZmlsZSc7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIid3Y28tcHJldmlld0ZpbGUgd2NvLXByZXZpZXdGaWxlLXR5cGUnICsgdHlwZVwiICNwcmV2aWV3RmlsZUVsZW1lbnQ+XG4gIDxoNCAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJkaXNwbGF5LWJvZHkgYm9sZFwiPnt7IHRpdGxlIH19PC9oND5cblxuICA8ZGl2IFtjbGFzc109XCInd2NvLXByZXZpZXdGaWxlLS10aHVtYmwgdHlwZS1maWxlLScgKyB0eXBlRmlsZUZvcm1hdCgpXCIgW2lkXT1cImlkUmFuZG9tXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtcHJldmlld1wiIChjbGljayk9XCJwcmV2aWV3ID8gbW9kYWxQcmV2aWV3KCkgOiBudWxsXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdpbWFnZScgJiYgISF1cmxcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInVybFwiIGFsdD1cIkltYWdlbSBkbyBkb2N1bWVudG9cIiBsb2FkaW5nPVwibGF6eVwiIHJvbGU9XCJpbWdcIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgIT09ICdpbWFnZScgfHwgIXVybFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPnt7IGdldEljb25NYXRlcmlhbChmb3JtYXQpIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxoNSAoY2xpY2spPVwicHJldmlldyA/IG1vZGFsUHJldmlldygpIDogbnVsbFwiIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIj5cbiAgICAgIHt7IG5hbWUgfX08L2g1PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLXN0YXR1c1wiICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXMgJiYgc3RhdHVzLnR5cGUgJiYgc3RhdHVzLnRleHRcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIid3Y28tdGFnIHRhZy0nICsgc3RhdHVzLnR5cGVcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXMuaWNvbk1hdGVyaWFsXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj57eyBzdGF0dXMuaWNvbk1hdGVyaWFsIH19PC9zcGFuPlxuICAgICAgICAgIHt7IHN0YXR1cy50ZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDYgKm5nSWY9XCJzdGF0dXMucHJlZml4RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgc3RhdHVzLnByZWZpeERlc2NyaXB0aW9uIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9oNj5cbiAgICAgICAgICA8cCAqbmdJZj1cInN0YXR1cy5kZXNjcmlwdGlvblwiPnt7IHN0YXR1cy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLWJ1dHRvbnNcIiAqbmdJZj1cIiFjdXN0b21Db250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnQgJiYgISFhY3Rpb25zPy5sZW5ndGhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygncmVmcmVzaCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdyZWZyZXNoJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2FjaGVkPC9zcGFuPlxuICAgICAgICAgICAgUmVlbnZpYXJcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnYXByb3ZlZCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdhcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIEFwcm92YXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZG9uZTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ3JlcHJvdmVkJylcIiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ3JlcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIFJlY3VzYXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ2Rvd25sb2FkJykgfHwgYWN0aW9ucy5pbmNsdWRlcygnZGVsZXRlJykgXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGVfX2FjdGlvbi0tYnV0dG9uc0ljb25cIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnZG93bmxvYWQnKVwiIGRhdGEtdG9vbHRpcD1cIkRvd25sb2FkXCIgZGF0YS1mbG93PVwidG9wXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdkb3dubG9hZCcpXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtLWJ1dHRvbkljb25cIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPmZpbGVfZG93bmxvYWQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpb25zLmluY2x1ZGVzKCdkZWxldGUnKVwiIGRhdGEtdG9vbHRpcD1cIkV4Y2x1aXJcIiBkYXRhLWZsb3c9XCJ0b3BcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ2RlbGV0ZScpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndjby1wcmV2aWV3RmlsZV9fYWN0aW9uLS1idXR0b25JY29uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZGVsZXRlPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygndmlldycpXCIgZGF0YS10b29sdGlwPVwiVmlzdWFsaXphclwiIGRhdGEtZmxvdz1cInRvcFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhY3Rpb25FdmVudCgndmlldycpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndjby1wcmV2aWV3RmlsZV9fYWN0aW9uLS1idXR0b25JY29uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+dmlzaWJpbGl0eTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlldyAmJiB4KCkgJiYgeSgpXCI+XG4gIDxkaWFsb2cgW2lkXT1cImlkXCIgW25nU3R5bGVdPVwieyctLWRpYWxvZy14JzogeCgpLCAnLS1kaWFsb2cteSc6IHkoKX1cIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJ0eXBlRmlsZUZvcm1hdCgpID09PSAnaW1hZ2UnXCIgW3NyY109XCJ1cmxcIiBhbHQ9XCJJbWFnZW0gZG8gZG9jdW1lbnRvXCIgbG9hZGluZz1cImxhenlcIiByb2xlPVwiaW1nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RGlhbG9nXCI+IFxuICAgICAgICAgIDx2aWRlbyAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICd2aWRlbydcIiBhdXRvcGxheSBbc3JjXT1cInVybFwiIGNvbnRyb2xzIHJvbGU9XCJ2aWRlb1wiPjwvdmlkZW8+XG4gICAgICAgICAgPGlmcmFtZSAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdwZGYnXCIgW3NyY109XCJ0cmFuc2Zvcm1QREZTZWN1cml0eSh1cmwpXCIgcm9sZT1cImRvY3VtZW50XCI+PC9pZnJhbWU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXIgbXkteHhzXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cIndjby1idG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPkZlY2hhcjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGlhbG9nPlxuPC9uZy1jb250YWluZXI+Il19
@@ -11,12 +11,12 @@ export class TimelineComponent {
11
11
  error: 'priority_high',
12
12
  };
13
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TimelineComponent, isStandalone: true, selector: "wco-timeline", inputs: { timelineItems: "timelineItems" }, ngImport: i0, template: "<div class=\"wco-timeline\">\n <div class=\"wco-timeline-item\" *ngFor=\"let item of timelineItems; let i = index\">\n <div class=\"wco-timeline-item-dot-container\">\n <div class=\"wco-timeline-item-dot-container-inner\">\n <span class=\"wco-timeline-item-dot-number\">\n {{ timelineItems.length - i }}\n </span>\n <div class=\"wco-timeline-item-dot-line-container\">\n <div [className]=\"'wco-timeline-item-dot wco-timeline-item-dot-' + item.status\">\n <span [className]=\"'material-icons wco-timeline-item-dot-icon wco-timeline-item-dot-icon-' + item.status\"> {{ statusToIcon[item.status] }} </span>\n </div>\n <hr class=\"wco-timeline-item-dot-line\" />\n </div>\n </div>\n </div>\n <div class=\"wco-timeline-item-content-container\">\n <div class=\"wco-timeline-item-content\">\n <h4 [className]=\"'wco-timeline-item-content-title wco-timeline-item-content-title-' + item.status\"> {{ item.title }} </h4>\n <p *ngIf=\"item.descriptionPre?.text\" [className]=\"item.descriptionPre?.customClass\"> {{ item.descriptionPre?.text }} </p>\n <p [className]=\"'wco-timeline-item-content-description wco-timeline-item-content-description-' + item.status\"> {{ item.description }} </p>\n <p *ngIf=\"item.descriptionPos?.text\" [className]=\"item.descriptionPos?.customClass\"> {{ item.descriptionPos?.text }} </p>\n <button class=\"wco-btn btn-primary btn-link\" *ngIf=\"item.action\" (click)=\"item.action.handler()\" [disabled]=\"item.status === 'waiting'\"> {{item.action.label}} </button>\n </div>\n <span [className]=\"'wco-timeline-item-content-date wco-timeline-item-content-date-' + item.status\"> {{ item.date }} </span>\n </div>\n </div>\n</div>\n", styles: [".wco-timeline{display:flex;flex-wrap:wrap;flex-direction:column;align-items:center;margin:20px 0;--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item{width:100%;display:flex;flex-direction:row;gap:10px}.wco-timeline .wco-timeline-item-dot-container{display:flex;flex-direction:column;align-items:center;gap:5px}.wco-timeline .wco-timeline-item-dot-container-inner{height:100%;display:flex;flex-direction:row;gap:5px}.wco-timeline .wco-timeline-item-dot-line-container{display:flex;flex-direction:column;align-items:center}.wco-timeline .wco-timeline-item-dot-line{width:var(--wco-borderwidth-thin);height:100%;background-color:var(--wco-color-neutral-500)}.wco-timeline .wco-timeline-item-dot{min-width:20px;min-height:20px;max-width:20px;max-height:20px;justify-content:center;align-items:center;display:flex;border-radius:var(--wco-radius-circular);background-color:var(--wco-timeline-dot-color)}.wco-timeline .wco-timeline-item-dot-finalized{--wco-timeline-dot-color: var(--wco-color-success-500)}.wco-timeline .wco-timeline-item-dot-current{--wco-timeline-dot-color: var(--wco-color-primary-600)}.wco-timeline .wco-timeline-item-dot-waiting{--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item-dot-error{--wco-timeline-dot-color: var(--wco-color-danger-100)}.wco-timeline .wco-timeline-item-content{flex-direction:column;display:flex;margin-bottom:var(--wco-spacing-xl)}@media (max-width: 900px){.wco-timeline .wco-timeline-item-content{margin-bottom:var(--wco-spacing-xs)}}.wco-timeline .wco-timeline-item-content-container{width:100%;display:grid;grid-template-columns:1fr minmax(200px,250px);grid-template-areas:\". .\";gap:2rem}.wco-timeline .wco-timeline-item-content-title{font-size:var(--wco-font-size-sm);font-weight:var(--wco-timeline-item-content-title-font-weight);color:var(--wco-timeline-item-content-title-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-title-finalized{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-current{--wco-timeline-item-content-title-font-weight: 700;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-waiting{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-600)}.wco-timeline .wco-timeline-item-content-title-error{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-danger-600)}.wco-timeline .wco-timeline-item-content-description{font-size:var(--wco-font-size-sm);font-weight:var(--wco-timeline-item-content-description-font-weight);color:var(--wco-timeline-item-content-description-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-description-finalized,.wco-timeline .wco-timeline-item-content-description-current{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var( --wco-color-neutral-700 )}.wco-timeline .wco-timeline-item-content-description-waiting{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var( --wco-color-neutral-600 )}.wco-timeline .wco-timeline-item-content-description-error{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var( --wco-color-neutral-700 )}.wco-timeline .wco-timeline-item-content-date{font-size:1rem;color:var(--wco-color-neutral-700)}.wco-timeline .wco-timeline-item-dot-icon{font-size:.8rem;color:var(--wco-timeline-dot-icon-color)}.wco-timeline .wco-timeline-item-dot-icon-finalized{--wco-timeline-dot-icon-color: var(--wco-color-neutral-50)}.wco-timeline .wco-timeline-item-dot-icon-error{--wco-timeline-dot-icon-color: var(--wco-color-danger-600)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TimelineComponent, isStandalone: true, selector: "wco-timeline", inputs: { timelineItems: "timelineItems" }, ngImport: i0, template: "<div class=\"wco-timeline\">\n <div class=\"wco-timeline-item\" *ngFor=\"let line of timelineItems; let i = index\">\n <div class=\"wco-timeline-item-dot-container\">\n <div class=\"wco-timeline-item-dot-container-inner\">\n <span class=\"wco-timeline-item-dot-number\">\n {{ timelineItems.length - i }}\n </span>\n <div class=\"wco-timeline-item-dot-line-container\">\n <div [className]=\"'wco-timeline-item-dot wco-timeline-item-dot-' + line.status\">\n <span [className]=\"'material-icons wco-timeline-item-dot-icon wco-timeline-item-dot-icon-' + line.status\"> {{ statusToIcon[line.status] }} </span>\n </div>\n <hr class=\"wco-timeline-item-dot-line\" />\n </div>\n </div>\n </div>\n <div class=\"wco-timeline-item-content\">\n <div class=\"wco-timeline-item-content-container\">\n <h4 [className]=\"'wco-timeline-item-content-title wco-timeline-item-content-title-' + line.status\"> {{ line.title }} </h4>\n <span [className]=\"'wco-timeline-item-content-date wco-timeline-item-content-date-' + line.status\"> {{ line.date }} </span>\n </div>\n <p *ngIf=\"line.descriptionPre?.text\" [className]=\"line.descriptionPre?.customClass\"> {{ line.descriptionPre?.text }} </p>\n <p [className]=\"'wco-timeline-item-content-description wco-timeline-item-content-description-' + line.status\"> {{ line.description }} </p>\n <p *ngIf=\"line.descriptionPos?.text\" [className]=\"line.descriptionPos?.customClass\"> {{ line.descriptionPos?.text }} </p>\n <button class=\"wco-btn btn-primary btn-link btn-md\" *ngIf=\"line.action?.label\" (click)=\"line.action?.handler()\" [disabled]=\"line.status === 'waiting'\"> {{line.action?.label}} </button>\n <div class=\"mt-xxxs\" *ngFor=\"let item of line.itens\">\n <p *ngIf=\"item.title\" [className]=\"'wco-timeline-item-content-sub-title ' + item.customClassTitle\"> {{ item.title }} </p>\n <p *ngIf=\"item.description\" [className]=\"'wco-timeline-item-content-sub-description ' + item.customClassDescription\"> {{ item.description }} </p>\n <button class=\"wco-btn btn-primary btn-link btn-md\" *ngIf=\"item.action?.label\" (click)=\"item.action?.handler()\"> {{item.action?.label}} </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}.wco-timeline{display:flex;flex-wrap:wrap;flex-direction:column;align-items:center;margin:20px 0;--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item{width:100%;display:flex;flex-direction:row;gap:10px}.wco-timeline .wco-timeline-item-dot-container{display:flex;flex-direction:column;align-items:center;gap:5px}.wco-timeline .wco-timeline-item-dot-container-inner{height:100%;display:flex;flex-direction:row;gap:5px}.wco-timeline .wco-timeline-item-dot-line-container{display:flex;flex-direction:column;align-items:center}.wco-timeline .wco-timeline-item-dot-line{width:var(--wco-borderwidth-thin);height:100%;background-color:var(--wco-color-neutral-500)}.wco-timeline .wco-timeline-item-dot{min-width:20px;min-height:20px;max-width:20px;max-height:20px;justify-content:center;align-items:center;display:flex;border-radius:var(--wco-radius-circular);background-color:var(--wco-timeline-dot-color)}.wco-timeline .wco-timeline-item-dot-finalized{--wco-timeline-dot-color: var(--wco-color-success-500)}.wco-timeline .wco-timeline-item-dot-current{--wco-timeline-dot-color: var(--wco-color-primary-600)}.wco-timeline .wco-timeline-item-dot-waiting{--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item-dot-error{--wco-timeline-dot-color: var(--wco-color-danger-100)}.wco-timeline .wco-timeline-item-content{flex:1;flex-direction:column;display:flex;margin-bottom:var(--wco-spacing-xl)}@media (max-width: 900px){.wco-timeline .wco-timeline-item-content{margin-bottom:var(--wco-spacing-xs)}}.wco-timeline .wco-timeline-item-content-container{width:100%;display:flex;gap:2rem}.wco-timeline .wco-timeline-item-content-title{flex:1;letter-spacing:.45px;font-size:var(--wco-font-size-sm);font-weight:var(--wco-timeline-item-content-title-font-weight);color:var(--wco-timeline-item-content-title-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-title-finalized{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-current{--wco-timeline-item-content-title-font-weight: 700;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-waiting{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-600)}.wco-timeline .wco-timeline-item-content-title-error{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-danger-600)}.wco-timeline .wco-timeline-item-content-description{letter-spacing:.4px;font-size:var(--wco-font-size-xs);font-weight:var(--wco-timeline-item-content-description-font-weight);color:var(--wco-timeline-item-content-description-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-description-finalized,.wco-timeline .wco-timeline-item-content-description-current,.wco-timeline .wco-timeline-item-content-description-waiting,.wco-timeline .wco-timeline-item-content-description-error{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var(--wco-color-neutral-700)}.wco-timeline .wco-timeline-item-content-sub-title{color:var(--wco-color-neutral-900, #080809);font-size:16px;font-weight:700;letter-spacing:.4px}.wco-timeline .wco-timeline-item-content-sub-description{color:var(--wco-color-neutral-700, #50555A);letter-spacing:.4px}.wco-timeline .wco-timeline-item-content-date{text-align:right;font-size:.85rem;letter-spacing:.35px;color:var(--wco-color-neutral-700)}.wco-timeline .wco-timeline-item-dot-icon{font-size:.8rem;color:var(--wco-timeline-dot-icon-color)}.wco-timeline .wco-timeline-item-dot-icon-finalized{--wco-timeline-dot-icon-color: var(--wco-color-neutral-50)}.wco-timeline .wco-timeline-item-dot-icon-error{--wco-timeline-dot-icon-color: var(--wco-color-danger-600)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimelineComponent, decorators: [{
17
17
  type: Component,
18
- args: [{ selector: 'wco-timeline', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"wco-timeline\">\n <div class=\"wco-timeline-item\" *ngFor=\"let item of timelineItems; let i = index\">\n <div class=\"wco-timeline-item-dot-container\">\n <div class=\"wco-timeline-item-dot-container-inner\">\n <span class=\"wco-timeline-item-dot-number\">\n {{ timelineItems.length - i }}\n </span>\n <div class=\"wco-timeline-item-dot-line-container\">\n <div [className]=\"'wco-timeline-item-dot wco-timeline-item-dot-' + item.status\">\n <span [className]=\"'material-icons wco-timeline-item-dot-icon wco-timeline-item-dot-icon-' + item.status\"> {{ statusToIcon[item.status] }} </span>\n </div>\n <hr class=\"wco-timeline-item-dot-line\" />\n </div>\n </div>\n </div>\n <div class=\"wco-timeline-item-content-container\">\n <div class=\"wco-timeline-item-content\">\n <h4 [className]=\"'wco-timeline-item-content-title wco-timeline-item-content-title-' + item.status\"> {{ item.title }} </h4>\n <p *ngIf=\"item.descriptionPre?.text\" [className]=\"item.descriptionPre?.customClass\"> {{ item.descriptionPre?.text }} </p>\n <p [className]=\"'wco-timeline-item-content-description wco-timeline-item-content-description-' + item.status\"> {{ item.description }} </p>\n <p *ngIf=\"item.descriptionPos?.text\" [className]=\"item.descriptionPos?.customClass\"> {{ item.descriptionPos?.text }} </p>\n <button class=\"wco-btn btn-primary btn-link\" *ngIf=\"item.action\" (click)=\"item.action.handler()\" [disabled]=\"item.status === 'waiting'\"> {{item.action.label}} </button>\n </div>\n <span [className]=\"'wco-timeline-item-content-date wco-timeline-item-content-date-' + item.status\"> {{ item.date }} </span>\n </div>\n </div>\n</div>\n", styles: [".wco-timeline{display:flex;flex-wrap:wrap;flex-direction:column;align-items:center;margin:20px 0;--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item{width:100%;display:flex;flex-direction:row;gap:10px}.wco-timeline .wco-timeline-item-dot-container{display:flex;flex-direction:column;align-items:center;gap:5px}.wco-timeline .wco-timeline-item-dot-container-inner{height:100%;display:flex;flex-direction:row;gap:5px}.wco-timeline .wco-timeline-item-dot-line-container{display:flex;flex-direction:column;align-items:center}.wco-timeline .wco-timeline-item-dot-line{width:var(--wco-borderwidth-thin);height:100%;background-color:var(--wco-color-neutral-500)}.wco-timeline .wco-timeline-item-dot{min-width:20px;min-height:20px;max-width:20px;max-height:20px;justify-content:center;align-items:center;display:flex;border-radius:var(--wco-radius-circular);background-color:var(--wco-timeline-dot-color)}.wco-timeline .wco-timeline-item-dot-finalized{--wco-timeline-dot-color: var(--wco-color-success-500)}.wco-timeline .wco-timeline-item-dot-current{--wco-timeline-dot-color: var(--wco-color-primary-600)}.wco-timeline .wco-timeline-item-dot-waiting{--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item-dot-error{--wco-timeline-dot-color: var(--wco-color-danger-100)}.wco-timeline .wco-timeline-item-content{flex-direction:column;display:flex;margin-bottom:var(--wco-spacing-xl)}@media (max-width: 900px){.wco-timeline .wco-timeline-item-content{margin-bottom:var(--wco-spacing-xs)}}.wco-timeline .wco-timeline-item-content-container{width:100%;display:grid;grid-template-columns:1fr minmax(200px,250px);grid-template-areas:\". .\";gap:2rem}.wco-timeline .wco-timeline-item-content-title{font-size:var(--wco-font-size-sm);font-weight:var(--wco-timeline-item-content-title-font-weight);color:var(--wco-timeline-item-content-title-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-title-finalized{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-current{--wco-timeline-item-content-title-font-weight: 700;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-waiting{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-600)}.wco-timeline .wco-timeline-item-content-title-error{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-danger-600)}.wco-timeline .wco-timeline-item-content-description{font-size:var(--wco-font-size-sm);font-weight:var(--wco-timeline-item-content-description-font-weight);color:var(--wco-timeline-item-content-description-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-description-finalized,.wco-timeline .wco-timeline-item-content-description-current{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var( --wco-color-neutral-700 )}.wco-timeline .wco-timeline-item-content-description-waiting{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var( --wco-color-neutral-600 )}.wco-timeline .wco-timeline-item-content-description-error{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var( --wco-color-neutral-700 )}.wco-timeline .wco-timeline-item-content-date{font-size:1rem;color:var(--wco-color-neutral-700)}.wco-timeline .wco-timeline-item-dot-icon{font-size:.8rem;color:var(--wco-timeline-dot-icon-color)}.wco-timeline .wco-timeline-item-dot-icon-finalized{--wco-timeline-dot-icon-color: var(--wco-color-neutral-50)}.wco-timeline .wco-timeline-item-dot-icon-error{--wco-timeline-dot-icon-color: var(--wco-color-danger-600)}\n"] }]
18
+ args: [{ selector: 'wco-timeline', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"wco-timeline\">\n <div class=\"wco-timeline-item\" *ngFor=\"let line of timelineItems; let i = index\">\n <div class=\"wco-timeline-item-dot-container\">\n <div class=\"wco-timeline-item-dot-container-inner\">\n <span class=\"wco-timeline-item-dot-number\">\n {{ timelineItems.length - i }}\n </span>\n <div class=\"wco-timeline-item-dot-line-container\">\n <div [className]=\"'wco-timeline-item-dot wco-timeline-item-dot-' + line.status\">\n <span [className]=\"'material-icons wco-timeline-item-dot-icon wco-timeline-item-dot-icon-' + line.status\"> {{ statusToIcon[line.status] }} </span>\n </div>\n <hr class=\"wco-timeline-item-dot-line\" />\n </div>\n </div>\n </div>\n <div class=\"wco-timeline-item-content\">\n <div class=\"wco-timeline-item-content-container\">\n <h4 [className]=\"'wco-timeline-item-content-title wco-timeline-item-content-title-' + line.status\"> {{ line.title }} </h4>\n <span [className]=\"'wco-timeline-item-content-date wco-timeline-item-content-date-' + line.status\"> {{ line.date }} </span>\n </div>\n <p *ngIf=\"line.descriptionPre?.text\" [className]=\"line.descriptionPre?.customClass\"> {{ line.descriptionPre?.text }} </p>\n <p [className]=\"'wco-timeline-item-content-description wco-timeline-item-content-description-' + line.status\"> {{ line.description }} </p>\n <p *ngIf=\"line.descriptionPos?.text\" [className]=\"line.descriptionPos?.customClass\"> {{ line.descriptionPos?.text }} </p>\n <button class=\"wco-btn btn-primary btn-link btn-md\" *ngIf=\"line.action?.label\" (click)=\"line.action?.handler()\" [disabled]=\"line.status === 'waiting'\"> {{line.action?.label}} </button>\n <div class=\"mt-xxxs\" *ngFor=\"let item of line.itens\">\n <p *ngIf=\"item.title\" [className]=\"'wco-timeline-item-content-sub-title ' + item.customClassTitle\"> {{ item.title }} </p>\n <p *ngIf=\"item.description\" [className]=\"'wco-timeline-item-content-sub-description ' + item.customClassDescription\"> {{ item.description }} </p>\n <button class=\"wco-btn btn-primary btn-link btn-md\" *ngIf=\"item.action?.label\" (click)=\"item.action?.handler()\"> {{item.action?.label}} </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;width:100%}.wco-timeline{display:flex;flex-wrap:wrap;flex-direction:column;align-items:center;margin:20px 0;--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item{width:100%;display:flex;flex-direction:row;gap:10px}.wco-timeline .wco-timeline-item-dot-container{display:flex;flex-direction:column;align-items:center;gap:5px}.wco-timeline .wco-timeline-item-dot-container-inner{height:100%;display:flex;flex-direction:row;gap:5px}.wco-timeline .wco-timeline-item-dot-line-container{display:flex;flex-direction:column;align-items:center}.wco-timeline .wco-timeline-item-dot-line{width:var(--wco-borderwidth-thin);height:100%;background-color:var(--wco-color-neutral-500)}.wco-timeline .wco-timeline-item-dot{min-width:20px;min-height:20px;max-width:20px;max-height:20px;justify-content:center;align-items:center;display:flex;border-radius:var(--wco-radius-circular);background-color:var(--wco-timeline-dot-color)}.wco-timeline .wco-timeline-item-dot-finalized{--wco-timeline-dot-color: var(--wco-color-success-500)}.wco-timeline .wco-timeline-item-dot-current{--wco-timeline-dot-color: var(--wco-color-primary-600)}.wco-timeline .wco-timeline-item-dot-waiting{--wco-timeline-dot-color: var(--wco-color-neutral-300)}.wco-timeline .wco-timeline-item-dot-error{--wco-timeline-dot-color: var(--wco-color-danger-100)}.wco-timeline .wco-timeline-item-content{flex:1;flex-direction:column;display:flex;margin-bottom:var(--wco-spacing-xl)}@media (max-width: 900px){.wco-timeline .wco-timeline-item-content{margin-bottom:var(--wco-spacing-xs)}}.wco-timeline .wco-timeline-item-content-container{width:100%;display:flex;gap:2rem}.wco-timeline .wco-timeline-item-content-title{flex:1;letter-spacing:.45px;font-size:var(--wco-font-size-sm);font-weight:var(--wco-timeline-item-content-title-font-weight);color:var(--wco-timeline-item-content-title-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-title-finalized{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-current{--wco-timeline-item-content-title-font-weight: 700;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-900)}.wco-timeline .wco-timeline-item-content-title-waiting{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-neutral-600)}.wco-timeline .wco-timeline-item-content-title-error{--wco-timeline-item-content-title-font-weight: 400;--wco-timeline-item-content-title-font-color: var(--wco-color-danger-600)}.wco-timeline .wco-timeline-item-content-description{letter-spacing:.4px;font-size:var(--wco-font-size-xs);font-weight:var(--wco-timeline-item-content-description-font-weight);color:var(--wco-timeline-item-content-description-font-color);margin-bottom:var(--wco-spacing-quark)}.wco-timeline .wco-timeline-item-content-description-finalized,.wco-timeline .wco-timeline-item-content-description-current,.wco-timeline .wco-timeline-item-content-description-waiting,.wco-timeline .wco-timeline-item-content-description-error{--wco-timeline-item-content-description-font-weight: 400;--wco-timeline-item-content-description-font-color: var(--wco-color-neutral-700)}.wco-timeline .wco-timeline-item-content-sub-title{color:var(--wco-color-neutral-900, #080809);font-size:16px;font-weight:700;letter-spacing:.4px}.wco-timeline .wco-timeline-item-content-sub-description{color:var(--wco-color-neutral-700, #50555A);letter-spacing:.4px}.wco-timeline .wco-timeline-item-content-date{text-align:right;font-size:.85rem;letter-spacing:.35px;color:var(--wco-color-neutral-700)}.wco-timeline .wco-timeline-item-dot-icon{font-size:.8rem;color:var(--wco-timeline-dot-icon-color)}.wco-timeline .wco-timeline-item-dot-icon-finalized{--wco-timeline-dot-icon-color: var(--wco-color-neutral-50)}.wco-timeline .wco-timeline-item-dot-icon-error{--wco-timeline-dot-icon-color: var(--wco-color-danger-600)}\n"] }]
19
19
  }], propDecorators: { timelineItems: [{
20
20
  type: Input
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBNkIvQyxNQUFNLE9BQU8saUJBQWlCO0lBQ25CLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRTVDLFlBQVksR0FBRztRQUNiLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsZUFBZTtLQUN2QixDQUFDO3dHQVJTLGlCQUFpQjs0RkFBakIsaUJBQWlCLG9IQzlCOUIsNndEQTJCQSw2OUhERlksWUFBWTs7NEZBS1gsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBUaW1lbGluZUl0ZW0gPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uUHJlPzoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjdXN0b21DbGFzczogc3RyaW5nO1xuICB9O1xuICBkZXNjcmlwdGlvblBvcz86IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgY3VzdG9tQ2xhc3M6IHN0cmluZztcbiAgfTtcbiAgZGF0ZTogc3RyaW5nO1xuICBzdGF0dXM6ICdmaW5hbGl6ZWQnIHwgJ2N1cnJlbnQnIHwgJ3dhaXRpbmcnIHwgJ2Vycm9yJztcbiAgYWN0aW9uPzoge1xuICAgIGhhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfTtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby10aW1lbGluZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZWxpbmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aW1lbGluZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpbWVsaW5lSXRlbXM6IFRpbWVsaW5lSXRlbVtdID0gW107XG5cbiAgc3RhdHVzVG9JY29uID0ge1xuICAgIGZpbmFsaXplZDogJ2NoZWNrJyxcbiAgICBjdXJyZW50OiAnJyxcbiAgICB3YWl0aW5nOiAnJyxcbiAgICBlcnJvcjogJ3ByaW9yaXR5X2hpZ2gnLFxuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cIndjby10aW1lbGluZVwiPlxuICA8ZGl2IGNsYXNzPVwid2NvLXRpbWVsaW5lLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aW1lbGluZUl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cIndjby10aW1lbGluZS1pdGVtLWRvdC1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbS1kb3QtY29udGFpbmVyLWlubmVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2NvLXRpbWVsaW5lLWl0ZW0tZG90LW51bWJlclwiPlxuICAgICAgICAgIHt7IHRpbWVsaW5lSXRlbXMubGVuZ3RoIC0gaSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbS1kb3QtbGluZS1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IFtjbGFzc05hbWVdPVwiJ3djby10aW1lbGluZS1pdGVtLWRvdCB3Y28tdGltZWxpbmUtaXRlbS1kb3QtJyArIGl0ZW0uc3RhdHVzXCI+XG4gICAgICAgICAgICA8c3BhbiBbY2xhc3NOYW1lXT1cIidtYXRlcmlhbC1pY29ucyB3Y28tdGltZWxpbmUtaXRlbS1kb3QtaWNvbiB3Y28tdGltZWxpbmUtaXRlbS1kb3QtaWNvbi0nICsgaXRlbS5zdGF0dXNcIj4ge3sgc3RhdHVzVG9JY29uW2l0ZW0uc3RhdHVzXSB9fSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGhyIGNsYXNzPVwid2NvLXRpbWVsaW5lLWl0ZW0tZG90LWxpbmVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIndjby10aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgPGg0IFtjbGFzc05hbWVdPVwiJ3djby10aW1lbGluZS1pdGVtLWNvbnRlbnQtdGl0bGUgd2NvLXRpbWVsaW5lLWl0ZW0tY29udGVudC10aXRsZS0nICsgaXRlbS5zdGF0dXNcIj4ge3sgaXRlbS50aXRsZSB9fSA8L2g0PlxuICAgICAgICA8cCAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25QcmU/LnRleHRcIiBbY2xhc3NOYW1lXT1cIml0ZW0uZGVzY3JpcHRpb25QcmU/LmN1c3RvbUNsYXNzXCI+IHt7IGl0ZW0uZGVzY3JpcHRpb25QcmU/LnRleHQgfX0gPC9wPlxuICAgICAgICA8cCBbY2xhc3NOYW1lXT1cIid3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LWRlc2NyaXB0aW9uIHdjby10aW1lbGluZS1pdGVtLWNvbnRlbnQtZGVzY3JpcHRpb24tJyArIGl0ZW0uc3RhdHVzXCI+IHt7IGl0ZW0uZGVzY3JpcHRpb24gfX0gPC9wPlxuICAgICAgICA8cCAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25Qb3M/LnRleHRcIiBbY2xhc3NOYW1lXT1cIml0ZW0uZGVzY3JpcHRpb25Qb3M/LmN1c3RvbUNsYXNzXCI+IHt7IGl0ZW0uZGVzY3JpcHRpb25Qb3M/LnRleHQgfX0gPC9wPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwid2NvLWJ0biBidG4tcHJpbWFyeSBidG4tbGlua1wiICpuZ0lmPVwiaXRlbS5hY3Rpb25cIiAoY2xpY2spPVwiaXRlbS5hY3Rpb24uaGFuZGxlcigpXCIgW2Rpc2FibGVkXT1cIml0ZW0uc3RhdHVzID09PSAnd2FpdGluZydcIj4ge3tpdGVtLmFjdGlvbi5sYWJlbH19IDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBbY2xhc3NOYW1lXT1cIid3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LWRhdGUgd2NvLXRpbWVsaW5lLWl0ZW0tY29udGVudC1kYXRlLScgKyBpdGVtLnN0YXR1c1wiPiB7eyBpdGVtLmRhdGUgfX0gPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBMEMvQyxNQUFNLE9BQU8saUJBQWlCO0lBRW5CLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRTVDLFlBQVksR0FBRztRQUNiLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsZUFBZTtLQUN2QixDQUFDO3dHQVRTLGlCQUFpQjs0RkFBakIsaUJBQWlCLG9IQzNDOUIsNnlFQWdDQSxrZ0lES1ksWUFBWTs7NEZBTVgsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs4QkFLNUIsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBJdGVtcyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGN1c3RvbUNsYXNzVGl0bGU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjdXN0b21DbGFzc0Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBhY3Rpb24/OiB7XG4gICAgaGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBUaW1lbGluZUl0ZW0gPSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGRhdGU6IHN0cmluZztcbiAgc3RhdHVzOiAnZmluYWxpemVkJyB8ICdjdXJyZW50JyB8ICd3YWl0aW5nJyB8ICdlcnJvcic7XG4gIGRlc2NyaXB0aW9uUHJlPzoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjdXN0b21DbGFzczogc3RyaW5nO1xuICB9O1xuICBkZXNjcmlwdGlvblBvcz86IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgY3VzdG9tQ2xhc3M6IHN0cmluZztcbiAgfTtcbiAgYWN0aW9uPzoge1xuICAgIGhhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfTtcbiAgaXRlbnM/OiBJdGVtc1tdO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2NvLXRpbWVsaW5lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuXG5leHBvcnQgY2xhc3MgVGltZWxpbmVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHRpbWVsaW5lSXRlbXM6IFRpbWVsaW5lSXRlbVtdID0gW107XG5cbiAgc3RhdHVzVG9JY29uID0ge1xuICAgIGZpbmFsaXplZDogJ2NoZWNrJyxcbiAgICBjdXJyZW50OiAnJyxcbiAgICB3YWl0aW5nOiAnJyxcbiAgICBlcnJvcjogJ3ByaW9yaXR5X2hpZ2gnLFxuICB9O1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwid2NvLXRpbWVsaW5lXCI+XG4gIDxkaXYgY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbVwiICpuZ0Zvcj1cImxldCBsaW5lIG9mIHRpbWVsaW5lSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXRpbWVsaW5lLWl0ZW0tZG90LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIndjby10aW1lbGluZS1pdGVtLWRvdC1jb250YWluZXItaW5uZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbS1kb3QtbnVtYmVyXCI+XG4gICAgICAgICAge3sgdGltZWxpbmVJdGVtcy5sZW5ndGggLSBpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndjby10aW1lbGluZS1pdGVtLWRvdC1saW5lLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgW2NsYXNzTmFtZV09XCInd2NvLXRpbWVsaW5lLWl0ZW0tZG90IHdjby10aW1lbGluZS1pdGVtLWRvdC0nICsgbGluZS5zdGF0dXNcIj5cbiAgICAgICAgICAgIDxzcGFuIFtjbGFzc05hbWVdPVwiJ21hdGVyaWFsLWljb25zIHdjby10aW1lbGluZS1pdGVtLWRvdC1pY29uIHdjby10aW1lbGluZS1pdGVtLWRvdC1pY29uLScgKyBsaW5lLnN0YXR1c1wiPiB7eyBzdGF0dXNUb0ljb25bbGluZS5zdGF0dXNdIH19IDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aHIgY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbS1kb3QtbGluZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndjby10aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICA8aDQgW2NsYXNzTmFtZV09XCInd2NvLXRpbWVsaW5lLWl0ZW0tY29udGVudC10aXRsZSB3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LXRpdGxlLScgKyBsaW5lLnN0YXR1c1wiPiB7eyBsaW5lLnRpdGxlIH19IDwvaDQ+XG4gICAgICAgIDxzcGFuIFtjbGFzc05hbWVdPVwiJ3djby10aW1lbGluZS1pdGVtLWNvbnRlbnQtZGF0ZSB3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LWRhdGUtJyArIGxpbmUuc3RhdHVzXCI+IHt7IGxpbmUuZGF0ZSB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwICpuZ0lmPVwibGluZS5kZXNjcmlwdGlvblByZT8udGV4dFwiIFtjbGFzc05hbWVdPVwibGluZS5kZXNjcmlwdGlvblByZT8uY3VzdG9tQ2xhc3NcIj4ge3sgbGluZS5kZXNjcmlwdGlvblByZT8udGV4dCB9fSA8L3A+XG4gICAgICA8cCBbY2xhc3NOYW1lXT1cIid3Y28tdGltZWxpbmUtaXRlbS1jb250ZW50LWRlc2NyaXB0aW9uIHdjby10aW1lbGluZS1pdGVtLWNvbnRlbnQtZGVzY3JpcHRpb24tJyArIGxpbmUuc3RhdHVzXCI+IHt7IGxpbmUuZGVzY3JpcHRpb24gfX0gPC9wPlxuICAgICAgPHAgKm5nSWY9XCJsaW5lLmRlc2NyaXB0aW9uUG9zPy50ZXh0XCIgW2NsYXNzTmFtZV09XCJsaW5lLmRlc2NyaXB0aW9uUG9zPy5jdXN0b21DbGFzc1wiPiB7eyBsaW5lLmRlc2NyaXB0aW9uUG9zPy50ZXh0IH19IDwvcD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1saW5rIGJ0bi1tZFwiICpuZ0lmPVwibGluZS5hY3Rpb24/LmxhYmVsXCIgKGNsaWNrKT1cImxpbmUuYWN0aW9uPy5oYW5kbGVyKClcIiBbZGlzYWJsZWRdPVwibGluZS5zdGF0dXMgPT09ICd3YWl0aW5nJ1wiPiB7e2xpbmUuYWN0aW9uPy5sYWJlbH19IDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cIm10LXh4eHNcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaW5lLml0ZW5zXCI+XG4gICAgICAgIDxwICpuZ0lmPVwiaXRlbS50aXRsZVwiIFtjbGFzc05hbWVdPVwiJ3djby10aW1lbGluZS1pdGVtLWNvbnRlbnQtc3ViLXRpdGxlICcgKyBpdGVtLmN1c3RvbUNsYXNzVGl0bGVcIj4ge3sgaXRlbS50aXRsZSB9fSA8L3A+XG4gICAgICAgIDxwICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiIFtjbGFzc05hbWVdPVwiJ3djby10aW1lbGluZS1pdGVtLWNvbnRlbnQtc3ViLWRlc2NyaXB0aW9uICcgKyBpdGVtLmN1c3RvbUNsYXNzRGVzY3JpcHRpb25cIj4ge3sgaXRlbS5kZXNjcmlwdGlvbiB9fSA8L3A+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1saW5rIGJ0bi1tZFwiICpuZ0lmPVwiaXRlbS5hY3Rpb24/LmxhYmVsXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uPy5oYW5kbGVyKClcIj4ge3tpdGVtLmFjdGlvbj8ubGFiZWx9fSA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19