valtech-components 2.0.360 → 2.0.362

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.
@@ -1,5 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, HostListener, inject, Input } from '@angular/core';
3
+ import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonModal, IonTitle, IonToolbar, } from '@ionic/angular/standalone';
3
4
  import { LangService } from '../../../services/lang-provider/lang-provider.service';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
@@ -88,11 +89,9 @@ export class ImageComponent {
88
89
  return;
89
90
  this.isPreviewOpen = true;
90
91
  this.resetZoom();
91
- document.body.style.overflow = 'hidden'; // Prevent background scrolling
92
92
  }
93
93
  closePreview() {
94
94
  this.isPreviewOpen = false;
95
- document.body.style.overflow = ''; // Restore scrolling
96
95
  }
97
96
  // Zoom methods
98
97
  zoomIn() {
@@ -292,51 +291,47 @@ export class ImageComponent {
292
291
  }
293
292
  </figure>
294
293
 
295
- <!-- Modal de previsualización -->
296
- @if (isPreviewOpen) {
297
- <div class="val-image-preview-modal" (click)="closePreview()">
298
- <div class="val-image-preview-container">
299
- <!-- Botón de cerrar -->
300
- <button
301
- class="val-image-preview-close"
302
- (click)="closePreview()"
303
- [attr.aria-label]="langService.getText('ImageComponent', 'close')"
304
- >
305
- <span>&times;</span>
306
- </button>
294
+ <!-- Modal de previsualización con ion-modal -->
295
+ <ion-modal [isOpen]="isPreviewOpen" (didDismiss)="closePreview()">
296
+ <ng-template>
297
+ <ion-header>
298
+ <ion-toolbar>
299
+ <!-- <ion-title>{{ props.alt || 'Previsualización de imagen' }}</ion-title> -->
300
+ <ion-buttons slot="end">
301
+ <ion-button (click)="closePreview()" fill="clear">
302
+ <ion-icon name="close"></ion-icon>
303
+ </ion-button>
304
+ </ion-buttons>
305
+ </ion-toolbar>
306
+ </ion-header>
307
307
 
308
+ <ion-content>
308
309
  <!-- Controles de zoom -->
309
310
  <div class="val-image-preview-controls">
310
- <button
311
- class="val-image-preview-zoom-btn"
312
- (click)="zoomOut()"
311
+ <ion-button
312
+ (click)="zoomOut(); $event.stopPropagation()"
313
313
  [disabled]="zoomLevel <= minZoom"
314
- [attr.aria-label]="langService.getText('ImageComponent', 'zoomOut')"
314
+ fill="clear"
315
+ size="large"
315
316
  >
316
- <span>−</span>
317
- </button>
317
+ <ion-icon name="remove-outline"></ion-icon>
318
+ </ion-button>
319
+
318
320
  <span class="val-image-preview-zoom-level">{{ Math.round(zoomLevel * 100) }}%</span>
319
- <button
320
- class="val-image-preview-zoom-btn"
321
- (click)="zoomIn()"
321
+
322
+ <ion-button
323
+ (click)="zoomIn(); $event.stopPropagation()"
322
324
  [disabled]="zoomLevel >= maxZoom"
323
- [attr.aria-label]="langService.getText('ImageComponent', 'zoomIn')"
325
+ fill="clear"
326
+ size="large"
324
327
  >
325
- <span>+</span>
326
- </button>
327
- <button
328
- class="val-image-preview-reset-btn"
329
- (click)="resetZoom()"
330
- [attr.aria-label]="langService.getText('ImageComponent', 'resetZoom')"
331
- >
332
- <span>⌂</span>
333
- </button>
328
+ <ion-icon name="add-outline"></ion-icon>
329
+ </ion-button>
334
330
  </div>
335
331
 
336
332
  <!-- Imagen ampliada -->
337
333
  <div
338
334
  class="val-image-preview-viewport"
339
- (click)="$event.stopPropagation()"
340
335
  (touchstart)="onTouchStart($event)"
341
336
  (touchmove)="onTouchMove($event)"
342
337
  (touchend)="onTouchEnd($event)"
@@ -359,14 +354,14 @@ export class ImageComponent {
359
354
  draggable="false"
360
355
  />
361
356
  </div>
362
- </div>
363
- </div>
364
- }
365
- `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-image-container{margin:0;padding:0;max-width:100%}.val-image-container--left{margin-right:auto;text-align:left}.val-image-container--center{margin-left:auto;margin-right:auto;text-align:center}.val-image-container--right{margin-left:auto;text-align:right}.val-image-wrapper{display:inline-block;position:relative}.val-image{width:100%;height:auto;display:block;opacity:1;max-width:100%}.val-image.center{margin:0 auto}.val-image.rounded{border-radius:.5rem}.val-image.circular{border-radius:50%;aspect-ratio:1;object-fit:cover}.val-image.box{border-radius:0}.val-image.bordered{border:.0625rem solid var(--ion-color-medium)}.val-image.shaded{box-shadow:.1875rem .625rem .5rem #1219541a}@media (prefers-color-scheme: dark){.val-image.dark{filter:invert(1)}}.val-image.limited{max-width:100%}@media (max-width: 768px){.val-image .val-image-wrapper.small{width:40%}.val-image .val-image-wrapper.medium{width:60%}.val-image .val-image-wrapper.large{width:80%}.val-image .val-image-wrapper.xlarge{width:100%}}.val-image.small{width:30%}.val-image.medium{width:50%}.val-image.large{width:70%}.val-image.xlarge{width:100%}.val-image-caption{margin-top:.5rem;color:var(--ion-color-medium-shade, #666);font-style:italic;line-height:1.4}.val-image-caption--small{font-size:.75rem}.val-image-caption--medium{font-size:.875rem}.val-image-caption--large{font-size:1rem}.val-image.visible{animation:appearance ease-in 1s forwards}@keyframes appearance{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.val-image-container{flex-shrink:0;align-self:flex-start}.flexbox-container .val-image-container--left{align-self:flex-start}.flexbox-container .val-image-container--center{align-self:center}.flexbox-container .val-image-container--right{align-self:flex-end}.val-image--preview-enabled{cursor:pointer;transition:opacity .2s ease,transform .2s ease}.val-image--preview-enabled:hover{opacity:.9;transform:scale(1.02)}.val-image-preview-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.val-image-preview-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.val-image-preview-close{position:absolute;top:20px;right:20px;z-index:10001;background:#ffffff1a;border:none;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;font-weight:700;transition:background .2s ease}.val-image-preview-close:hover{background:#fff3}.val-image-preview-close span{line-height:1}.val-image-preview-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:10001;display:flex;align-items:center;gap:10px;background:#000000b3;padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.val-image-preview-zoom-btn,.val-image-preview-reset-btn{background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s ease}.val-image-preview-zoom-btn:hover:not(:disabled),.val-image-preview-reset-btn:hover:not(:disabled){background:#fff3;transform:scale(1.1)}.val-image-preview-zoom-btn:disabled,.val-image-preview-reset-btn:disabled{opacity:.4;cursor:not-allowed}.val-image-preview-zoom-btn span,.val-image-preview-reset-btn span{line-height:1}.val-image-preview-zoom-level{color:#fff;font-size:14px;font-weight:600;min-width:50px;text-align:center}.val-image-preview-viewport{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.val-image-preview-img{max-width:90vw;max-height:90vh;object-fit:contain;transition:transform .1s ease-out;transform-origin:center center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.val-image-preview-close{top:10px;right:10px;width:40px;height:40px;font-size:20px}.val-image-preview-controls{bottom:10px;padding:8px 16px}.val-image-preview-zoom-btn,.val-image-preview-reset-btn{width:35px;height:35px;font-size:18px}.val-image-preview-zoom-level{font-size:12px;min-width:40px}.val-image-preview-img{max-width:95vw;max-height:85vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
357
+ </ion-content>
358
+ </ng-template>
359
+ </ion-modal>
360
+ `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-image-container{margin:0;padding:0;max-width:100%}.val-image-container--left{margin-right:auto;text-align:left}.val-image-container--center{margin-left:auto;margin-right:auto;text-align:center}.val-image-container--right{margin-left:auto;text-align:right}.val-image-wrapper{display:inline-block;position:relative}.val-image{width:100%;height:auto;display:block;opacity:1;max-width:100%}.val-image.center{margin:0 auto}.val-image.rounded{border-radius:.5rem}.val-image.circular{border-radius:50%;aspect-ratio:1;object-fit:cover}.val-image.box{border-radius:0}.val-image.bordered{border:.0625rem solid var(--ion-color-medium)}.val-image.shaded{box-shadow:.1875rem .625rem .5rem #1219541a}@media (prefers-color-scheme: dark){.val-image.dark{filter:invert(1)}}.val-image.limited{max-width:100%}@media (max-width: 768px){.val-image .val-image-wrapper.small{width:40%}.val-image .val-image-wrapper.medium{width:60%}.val-image .val-image-wrapper.large{width:80%}.val-image .val-image-wrapper.xlarge{width:100%}}.val-image.small{width:30%}.val-image.medium{width:50%}.val-image.large{width:70%}.val-image.xlarge{width:100%}.val-image-caption{margin-top:.5rem;color:var(--ion-color-medium-shade, #666);font-style:italic;line-height:1.4}.val-image-caption--small{font-size:.75rem}.val-image-caption--medium{font-size:.875rem}.val-image-caption--large{font-size:1rem}.val-image.visible{animation:appearance ease-in 1s forwards}@keyframes appearance{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.val-image-container{flex-shrink:0;align-self:flex-start}.flexbox-container .val-image-container--left{align-self:flex-start}.flexbox-container .val-image-container--center{align-self:center}.flexbox-container .val-image-container--right{align-self:flex-end}.val-image--preview-enabled{cursor:pointer;transition:opacity .2s ease,transform .2s ease}.val-image--preview-enabled:hover{opacity:.9;transform:scale(1.02)}ion-modal ion-content{position:relative;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.val-image-preview-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:15px;background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.9);padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000026}.val-image-preview-zoom-level{font-size:14px;font-weight:600;min-width:50px;text-align:center;color:var(--ion-text-color)}.val-image-preview-viewport{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.val-image-preview-img{max-width:90vw;max-height:90vh;object-fit:contain;transition:transform .1s ease-out;transform-origin:center center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width: 768px){.val-image-preview-controls{bottom:10px;padding:8px 16px;gap:10px}.val-image-preview-zoom-level{font-size:12px;min-width:40px}.val-image-preview-img{max-width:95vw;max-height:85vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }] }); }
366
361
  }
367
362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImageComponent, decorators: [{
368
363
  type: Component,
369
- args: [{ selector: 'val-image', standalone: true, imports: [CommonModule], template: `
364
+ args: [{ selector: 'val-image', standalone: true, imports: [CommonModule, IonModal, IonHeader, IonToolbar, IonTitle, IonContent, IonButton, IonIcon, IonButtons], template: `
370
365
  <figure
371
366
  class="val-image-container"
372
367
  [class]="props.containerClass"
@@ -439,51 +434,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
439
434
  }
440
435
  </figure>
441
436
 
442
- <!-- Modal de previsualización -->
443
- @if (isPreviewOpen) {
444
- <div class="val-image-preview-modal" (click)="closePreview()">
445
- <div class="val-image-preview-container">
446
- <!-- Botón de cerrar -->
447
- <button
448
- class="val-image-preview-close"
449
- (click)="closePreview()"
450
- [attr.aria-label]="langService.getText('ImageComponent', 'close')"
451
- >
452
- <span>&times;</span>
453
- </button>
437
+ <!-- Modal de previsualización con ion-modal -->
438
+ <ion-modal [isOpen]="isPreviewOpen" (didDismiss)="closePreview()">
439
+ <ng-template>
440
+ <ion-header>
441
+ <ion-toolbar>
442
+ <!-- <ion-title>{{ props.alt || 'Previsualización de imagen' }}</ion-title> -->
443
+ <ion-buttons slot="end">
444
+ <ion-button (click)="closePreview()" fill="clear">
445
+ <ion-icon name="close"></ion-icon>
446
+ </ion-button>
447
+ </ion-buttons>
448
+ </ion-toolbar>
449
+ </ion-header>
454
450
 
451
+ <ion-content>
455
452
  <!-- Controles de zoom -->
456
453
  <div class="val-image-preview-controls">
457
- <button
458
- class="val-image-preview-zoom-btn"
459
- (click)="zoomOut()"
454
+ <ion-button
455
+ (click)="zoomOut(); $event.stopPropagation()"
460
456
  [disabled]="zoomLevel <= minZoom"
461
- [attr.aria-label]="langService.getText('ImageComponent', 'zoomOut')"
457
+ fill="clear"
458
+ size="large"
462
459
  >
463
- <span>−</span>
464
- </button>
460
+ <ion-icon name="remove-outline"></ion-icon>
461
+ </ion-button>
462
+
465
463
  <span class="val-image-preview-zoom-level">{{ Math.round(zoomLevel * 100) }}%</span>
466
- <button
467
- class="val-image-preview-zoom-btn"
468
- (click)="zoomIn()"
464
+
465
+ <ion-button
466
+ (click)="zoomIn(); $event.stopPropagation()"
469
467
  [disabled]="zoomLevel >= maxZoom"
470
- [attr.aria-label]="langService.getText('ImageComponent', 'zoomIn')"
468
+ fill="clear"
469
+ size="large"
471
470
  >
472
- <span>+</span>
473
- </button>
474
- <button
475
- class="val-image-preview-reset-btn"
476
- (click)="resetZoom()"
477
- [attr.aria-label]="langService.getText('ImageComponent', 'resetZoom')"
478
- >
479
- <span>⌂</span>
480
- </button>
471
+ <ion-icon name="add-outline"></ion-icon>
472
+ </ion-button>
481
473
  </div>
482
474
 
483
475
  <!-- Imagen ampliada -->
484
476
  <div
485
477
  class="val-image-preview-viewport"
486
- (click)="$event.stopPropagation()"
487
478
  (touchstart)="onTouchStart($event)"
488
479
  (touchmove)="onTouchMove($event)"
489
480
  (touchend)="onTouchEnd($event)"
@@ -506,14 +497,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
506
497
  draggable="false"
507
498
  />
508
499
  </div>
509
- </div>
510
- </div>
511
- }
512
- `, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-image-container{margin:0;padding:0;max-width:100%}.val-image-container--left{margin-right:auto;text-align:left}.val-image-container--center{margin-left:auto;margin-right:auto;text-align:center}.val-image-container--right{margin-left:auto;text-align:right}.val-image-wrapper{display:inline-block;position:relative}.val-image{width:100%;height:auto;display:block;opacity:1;max-width:100%}.val-image.center{margin:0 auto}.val-image.rounded{border-radius:.5rem}.val-image.circular{border-radius:50%;aspect-ratio:1;object-fit:cover}.val-image.box{border-radius:0}.val-image.bordered{border:.0625rem solid var(--ion-color-medium)}.val-image.shaded{box-shadow:.1875rem .625rem .5rem #1219541a}@media (prefers-color-scheme: dark){.val-image.dark{filter:invert(1)}}.val-image.limited{max-width:100%}@media (max-width: 768px){.val-image .val-image-wrapper.small{width:40%}.val-image .val-image-wrapper.medium{width:60%}.val-image .val-image-wrapper.large{width:80%}.val-image .val-image-wrapper.xlarge{width:100%}}.val-image.small{width:30%}.val-image.medium{width:50%}.val-image.large{width:70%}.val-image.xlarge{width:100%}.val-image-caption{margin-top:.5rem;color:var(--ion-color-medium-shade, #666);font-style:italic;line-height:1.4}.val-image-caption--small{font-size:.75rem}.val-image-caption--medium{font-size:.875rem}.val-image-caption--large{font-size:1rem}.val-image.visible{animation:appearance ease-in 1s forwards}@keyframes appearance{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.val-image-container{flex-shrink:0;align-self:flex-start}.flexbox-container .val-image-container--left{align-self:flex-start}.flexbox-container .val-image-container--center{align-self:center}.flexbox-container .val-image-container--right{align-self:flex-end}.val-image--preview-enabled{cursor:pointer;transition:opacity .2s ease,transform .2s ease}.val-image--preview-enabled:hover{opacity:.9;transform:scale(1.02)}.val-image-preview-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.val-image-preview-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.val-image-preview-close{position:absolute;top:20px;right:20px;z-index:10001;background:#ffffff1a;border:none;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;font-weight:700;transition:background .2s ease}.val-image-preview-close:hover{background:#fff3}.val-image-preview-close span{line-height:1}.val-image-preview-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:10001;display:flex;align-items:center;gap:10px;background:#000000b3;padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.val-image-preview-zoom-btn,.val-image-preview-reset-btn{background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s ease}.val-image-preview-zoom-btn:hover:not(:disabled),.val-image-preview-reset-btn:hover:not(:disabled){background:#fff3;transform:scale(1.1)}.val-image-preview-zoom-btn:disabled,.val-image-preview-reset-btn:disabled{opacity:.4;cursor:not-allowed}.val-image-preview-zoom-btn span,.val-image-preview-reset-btn span{line-height:1}.val-image-preview-zoom-level{color:#fff;font-size:14px;font-weight:600;min-width:50px;text-align:center}.val-image-preview-viewport{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.val-image-preview-img{max-width:90vw;max-height:90vh;object-fit:contain;transition:transform .1s ease-out;transform-origin:center center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.val-image-preview-close{top:10px;right:10px;width:40px;height:40px;font-size:20px}.val-image-preview-controls{bottom:10px;padding:8px 16px}.val-image-preview-zoom-btn,.val-image-preview-reset-btn{width:35px;height:35px;font-size:18px}.val-image-preview-zoom-level{font-size:12px;min-width:40px}.val-image-preview-img{max-width:95vw;max-height:85vh}}\n"] }]
500
+ </ion-content>
501
+ </ng-template>
502
+ </ion-modal>
503
+ `, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.val-image-container{margin:0;padding:0;max-width:100%}.val-image-container--left{margin-right:auto;text-align:left}.val-image-container--center{margin-left:auto;margin-right:auto;text-align:center}.val-image-container--right{margin-left:auto;text-align:right}.val-image-wrapper{display:inline-block;position:relative}.val-image{width:100%;height:auto;display:block;opacity:1;max-width:100%}.val-image.center{margin:0 auto}.val-image.rounded{border-radius:.5rem}.val-image.circular{border-radius:50%;aspect-ratio:1;object-fit:cover}.val-image.box{border-radius:0}.val-image.bordered{border:.0625rem solid var(--ion-color-medium)}.val-image.shaded{box-shadow:.1875rem .625rem .5rem #1219541a}@media (prefers-color-scheme: dark){.val-image.dark{filter:invert(1)}}.val-image.limited{max-width:100%}@media (max-width: 768px){.val-image .val-image-wrapper.small{width:40%}.val-image .val-image-wrapper.medium{width:60%}.val-image .val-image-wrapper.large{width:80%}.val-image .val-image-wrapper.xlarge{width:100%}}.val-image.small{width:30%}.val-image.medium{width:50%}.val-image.large{width:70%}.val-image.xlarge{width:100%}.val-image-caption{margin-top:.5rem;color:var(--ion-color-medium-shade, #666);font-style:italic;line-height:1.4}.val-image-caption--small{font-size:.75rem}.val-image-caption--medium{font-size:.875rem}.val-image-caption--large{font-size:1rem}.val-image.visible{animation:appearance ease-in 1s forwards}@keyframes appearance{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.val-image-container{flex-shrink:0;align-self:flex-start}.flexbox-container .val-image-container--left{align-self:flex-start}.flexbox-container .val-image-container--center{align-self:center}.flexbox-container .val-image-container--right{align-self:flex-end}.val-image--preview-enabled{cursor:pointer;transition:opacity .2s ease,transform .2s ease}.val-image--preview-enabled:hover{opacity:.9;transform:scale(1.02)}ion-modal ion-content{position:relative;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.val-image-preview-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:15px;background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.9);padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000026}.val-image-preview-zoom-level{font-size:14px;font-weight:600;min-width:50px;text-align:center;color:var(--ion-text-color)}.val-image-preview-viewport{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.val-image-preview-img{max-width:90vw;max-height:90vh;object-fit:contain;transition:transform .1s ease-out;transform-origin:center center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width: 768px){.val-image-preview-controls{bottom:10px;padding:8px 16px;gap:10px}.val-image-preview-zoom-level{font-size:12px;min-width:40px}.val-image-preview-img{max-width:95vw;max-height:85vh}}\n"] }]
513
504
  }], ctorParameters: () => [], propDecorators: { props: [{
514
505
  type: Input
515
506
  }], onKeyDown: [{
516
507
  type: HostListener,
517
508
  args: ['document:keydown', ['$event']]
518
509
  }] } });
519
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7QUF5SnBGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQWdDekI7UUE1QkEsY0FBUyxHQUFZLElBQUksQ0FBQztRQUUxQiwwQkFBMEI7UUFDMUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBQ3RCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRWpCLHlDQUF5QztRQUN6QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFFbkIsMkJBQTJCO1FBQzNCLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFFdEIsZUFBZTtRQUNmLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxDLG9CQUFvQjtRQUNwQixTQUFJLEdBQUcsSUFBSSxDQUFDO0lBRUcsQ0FBQztJQUVoQixRQUFRO1FBQ04scUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsK0JBQStCO0lBQzFFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQjtJQUN6RCxDQUFDO0lBRUQsZUFBZTtJQUNmLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELHdDQUF3QztZQUN4QyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlO0lBQ2YsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDO1lBQUUsT0FBTztRQUVoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN4QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUM7WUFBRSxPQUFPO1FBRXBELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsWUFBWSxDQUFDLEtBQWlCO1FBQzVCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsZ0NBQWdDO1lBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkUsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDcEQsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsMkJBQTJCO1lBQzNCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0UsTUFBTSxLQUFLLEdBQUcsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUxRix3Q0FBd0M7WUFDeEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBaUI7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUM7UUFFbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3Rix3Q0FBd0M7UUFDeEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUI7SUFDVCxXQUFXLENBQUMsTUFBYSxFQUFFLE1BQWE7UUFDOUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzNDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELHFCQUFxQjtJQUVyQixTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUVoQyxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsQixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixNQUFNO1lBQ1IsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2QsTUFBTTtZQUNSLEtBQUssR0FBRztnQkFDTixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7K0dBN01VLGNBQWM7bUdBQWQsY0FBYyxtS0F2TGY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0lULG80TkFoSlMsWUFBWTs7NEZBd0xYLGNBQWM7a0JBM0wxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErSVQ7d0RBMENELEtBQUs7c0JBREosS0FBSztnQkF1TE4sU0FBUztzQkFEUixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtaW1hZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZmlndXJlXG4gICAgICBjbGFzcz1cInZhbC1pbWFnZS1jb250YWluZXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNvbnRhaW5lckNsYXNzXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3ZhbC1pbWFnZS1jb250YWluZXItLWxlZnQnOiBwcm9wcy5hbGlnbm1lbnQgPT09ICdsZWZ0JyxcbiAgICAgICAgJ3ZhbC1pbWFnZS1jb250YWluZXItLWNlbnRlcic6IHByb3BzLmFsaWdubWVudCA9PT0gJ2NlbnRlcicgfHwgIXByb3BzLmFsaWdubWVudCxcbiAgICAgICAgJ3ZhbC1pbWFnZS1jb250YWluZXItLXJpZ2h0JzogcHJvcHMuYWxpZ25tZW50ID09PSAncmlnaHQnLFxuICAgICAgfVwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGRpc3BsYXk6IHByb3BzLmZsZXggPyAnZmxleCcgOiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtaW1hZ2Utd3JhcHBlclwiPlxuICAgICAgICBAaWYgKHByb3BzLnNyYy5pbmNsdWRlcygnLS0nKSkge1xuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgcHJvcHMubW9kZSxcbiAgICAgICAgICAgICAgIXByb3BzLndpZHRoID8gcHJvcHMuc2l6ZSA6ICcnLFxuICAgICAgICAgICAgICBwcm9wcy5wcmV2aWV3TW9kZSA/ICd2YWwtaW1hZ2UtLXByZXZpZXctZW5hYmxlZCcgOiAnJyxcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICBjb250ZW50OiAndmFyKCcgKyBwcm9wcy5zcmMgKyAnKScsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtjbGFzcy5ib3JkZXJlZF09XCJwcm9wcy5ib3JkZXJlZFwiXG4gICAgICAgICAgICBbY2xhc3Muc2hhZGVkXT1cInByb3BzLnNoYWRlZFwiXG4gICAgICAgICAgICBbY2xhc3MuZGFya109XCJwcm9wcy5kYXJrXCJcbiAgICAgICAgICAgIFtjbGFzcy5saW1pdGVkXT1cInByb3BzLmxpbWl0ZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmNlbnRlcl09XCJwcm9wcy5hbGlnbm1lbnQgPT09ICdjZW50ZXInXCJcbiAgICAgICAgICAgIFthbHRdPVwicHJvcHMuYWx0XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC5yZW1dPVwicHJvcHMud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5yZW1dPVwicHJvcHMud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJwcm9wcy5oZWlnaHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInByb3BzLnByZXZpZXdNb2RlID8gb3BlblByZXZpZXcoKSA6IG51bGxcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgcHJvcHMubW9kZSxcbiAgICAgICAgICAgICAgIXByb3BzLndpZHRoID8gcHJvcHMuc2l6ZSA6ICcnLFxuICAgICAgICAgICAgICBwcm9wcy5wcmV2aWV3TW9kZSA/ICd2YWwtaW1hZ2UtLXByZXZpZXctZW5hYmxlZCcgOiAnJyxcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgICAgW2NsYXNzLmJvcmRlcmVkXT1cInByb3BzLmJvcmRlcmVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5zaGFkZWRdPVwicHJvcHMuc2hhZGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5kYXJrXT1cInByb3BzLmRhcmtcIlxuICAgICAgICAgICAgW2NsYXNzLmxpbWl0ZWRdPVwicHJvcHMubGltaXRlZFwiXG4gICAgICAgICAgICBbY2xhc3MuY2VudGVyXT1cInByb3BzLmFsaWdubWVudCA9PT0gJ2NlbnRlcidcIlxuICAgICAgICAgICAgW3NyY109XCJwcm9wcy5zcmNcIlxuICAgICAgICAgICAgW2FsdF09XCJwcm9wcy5hbHRcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLnJlbV09XCJwcm9wcy53aWR0aFwiXG4gICAgICAgICAgICBbc3R5bGUubWF4LXdpZHRoLnJlbV09XCJwcm9wcy53aWR0aFwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInByb3BzLmhlaWdodFwiXG4gICAgICAgICAgICAoY2xpY2spPVwicHJvcHMucHJldmlld01vZGUgPyBvcGVuUHJldmlldygpIDogbnVsbFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAocHJvcHMuY2FwdGlvbikge1xuICAgICAgICA8ZmlnY2FwdGlvblxuICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlLWNhcHRpb25cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICd2YWwtaW1hZ2UtY2FwdGlvbi0tc21hbGwnOiBwcm9wcy5jYXB0aW9uU2l6ZSA9PT0gJ3NtYWxsJyxcbiAgICAgICAgICAgICd2YWwtaW1hZ2UtY2FwdGlvbi0tbWVkaXVtJzogcHJvcHMuY2FwdGlvblNpemUgPT09ICdtZWRpdW0nIHx8ICFwcm9wcy5jYXB0aW9uU2l6ZSxcbiAgICAgICAgICAgICd2YWwtaW1hZ2UtY2FwdGlvbi0tbGFyZ2UnOiBwcm9wcy5jYXB0aW9uU2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHByb3BzLmNhcHRpb24gfX1cbiAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgfVxuICAgIDwvZmlndXJlPlxuXG4gICAgPCEtLSBNb2RhbCBkZSBwcmV2aXN1YWxpemFjacOzbiAtLT5cbiAgICBAaWYgKGlzUHJldmlld09wZW4pIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtaW1hZ2UtcHJldmlldy1tb2RhbFwiIChjbGljayk9XCJjbG9zZVByZXZpZXcoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctY29udGFpbmVyXCI+XG4gICAgICAgICAgPCEtLSBCb3TDs24gZGUgY2VycmFyIC0tPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctY2xvc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUHJldmlldygpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFuZ1NlcnZpY2UuZ2V0VGV4dCgnSW1hZ2VDb21wb25lbnQnLCAnY2xvc2UnKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+JnRpbWVzOzwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIDwhLS0gQ29udHJvbGVzIGRlIHpvb20gLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1pbWFnZS1wcmV2aWV3LWNvbnRyb2xzXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctem9vbS1idG5cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiem9vbU91dCgpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInpvb21MZXZlbCA8PSBtaW5ab29tXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYW5nU2VydmljZS5nZXRUZXh0KCdJbWFnZUNvbXBvbmVudCcsICd6b29tT3V0JylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj7iiJI8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctem9vbS1sZXZlbFwiPnt7IE1hdGgucm91bmQoem9vbUxldmVsICogMTAwKSB9fSU8L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctem9vbS1idG5cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiem9vbUluKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiem9vbUxldmVsID49IG1heFpvb21cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhbmdTZXJ2aWNlLmdldFRleHQoJ0ltYWdlQ29tcG9uZW50JywgJ3pvb21JbicpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4+Kzwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1pbWFnZS1wcmV2aWV3LXJlc2V0LWJ0blwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZXNldFpvb20oKVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFuZ1NlcnZpY2UuZ2V0VGV4dCgnSW1hZ2VDb21wb25lbnQnLCAncmVzZXRab29tJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj7ijII8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gSW1hZ2VuIGFtcGxpYWRhIC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctdmlld3BvcnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJvblRvdWNoU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAodG91Y2htb3ZlKT1cIm9uVG91Y2hNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgKHRvdWNoZW5kKT1cIm9uVG91Y2hFbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAod2hlZWwpPVwib25XaGVlbCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAobW91c2Vtb3ZlKT1cIm9uTW91c2VNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudClcIlxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZVVwKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgI3ByZXZpZXdJbWFnZVxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1pbWFnZS1wcmV2aWV3LWltZ1wiXG4gICAgICAgICAgICAgIFtzcmNdPVwicHJvcHMuc3JjLmluY2x1ZGVzKCctLScpID8gbnVsbCA6IHByb3BzLnNyY1wiXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICBjb250ZW50OiBwcm9wcy5zcmMuaW5jbHVkZXMoJy0tJykgPyAndmFyKCcgKyBwcm9wcy5zcmMgKyAnKScgOiBudWxsLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKCcgKyB6b29tTGV2ZWwgKyAnKSB0cmFuc2xhdGUoJyArIHBhblggKyAncHgsICcgKyBwYW5ZICsgJ3B4KScsXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBpc0RyYWdnaW5nID8gJ2dyYWJiaW5nJyA6IHpvb21MZXZlbCA+IDEgPyAnZ3JhYicgOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBbYWx0XT1cInByb3BzLmFsdFwiXG4gICAgICAgICAgICAgIGRyYWdnYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWltYWdlXG4gKlxuICogRGlzcGxheXMgYW4gaW1hZ2Ugd2l0aCB2YXJpb3VzIGRpc3BsYXkgb3B0aW9ucyAoYm9yZGVyZWQsIHNoYWRlZCwgZGFyaywgZXRjKS5cbiAqIE5vdyBpbmNsdWRlcyBhIGNvbnRhaW5lciB3cmFwcGVyIGZvciBiZXR0ZXIgZmxleGJveCBzdXBwb3J0IGFuZCBhbGlnbm1lbnQgb3B0aW9ucy5cbiAqXG4gKiBORVc6IE9wdGlvbmFsIHByZXZpZXcgbW9kZSB3aXRoIGZ1bGwtc2NyZWVuIHpvb20gY2FwYWJpbGl0aWVzOlxuICogLSBDbGljayB0byBvcGVuIGZ1bGwtc2NyZWVuIHByZXZpZXcgKHdoZW4gcHJldmlld01vZGUgaXMgZW5hYmxlZClcbiAqIC0gUGluY2gtdG8tem9vbSBvbiBtb2JpbGUgZGV2aWNlc1xuICogLSBNb3VzZSB3aGVlbCB6b29tIG9uIGRlc2t0b3BcbiAqIC0gUGFuL2RyYWcgdG8gbmF2aWdhdGUgem9vbWVkIGltYWdlc1xuICogLSBab29tIGNvbnRyb2xzIHdpdGggYnV0dG9uc1xuICogLSBLZXlib2FyZCBzaG9ydGN1dHMgKEVzYyB0byBjbG9zZSwgKy8tIHRvIHpvb20sIDAgdG8gcmVzZXQpXG4gKiAtIFRvdWNoLWZyaWVuZGx5IGludGVyZmFjZSB3aXRoIGdlc3R1cmUgc3VwcG9ydFxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlOlxuICogPHZhbC1pbWFnZSBbcHJvcHNdPVwie1xuICogICBzcmM6ICd1cmwnLFxuICogICBhbHQ6ICdkZXNjJyxcbiAqICAgd2lkdGg6IDEwMCxcbiAqICAgaGVpZ2h0OiAxMDAsXG4gKiAgIGJvcmRlcmVkOiB0cnVlLFxuICogICBhbGlnbm1lbnQ6ICdjZW50ZXInLFxuICogICBjYXB0aW9uOiAnSW1hZ2UgZGVzY3JpcHRpb24nXG4gKiB9XCI+PC92YWwtaW1hZ2U+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBwcmV2aWV3IG1vZGU6XG4gKiA8dmFsLWltYWdlIFtwcm9wc109XCJ7XG4gKiAgIHNyYzogJ3VybCcsXG4gKiAgIGFsdDogJ2Rlc2MnLFxuICogICBwcmV2aWV3TW9kZTogdHJ1ZSxcbiAqICAgYm9yZGVyZWQ6IHRydWUsXG4gKiAgIGFsaWdubWVudDogJ2NlbnRlcidcbiAqIH1cIj48L3ZhbC1pbWFnZT5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEltYWdlTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgaW1hZ2UgKHNyYywgYWx0LCBzaXplLCBtb2RlLCBhbGlnbm1lbnQsIGNhcHRpb24sIHByZXZpZXdNb2RlLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgSW1hZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwcm9wcyE6IEltYWdlTWV0YWRhdGE7XG5cbiAgYXZhaWxhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvLyBQcmV2aWV3IG1vZGUgcHJvcGVydGllc1xuICBpc1ByZXZpZXdPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHpvb21MZXZlbDogbnVtYmVyID0gMTtcbiAgbWluWm9vbTogbnVtYmVyID0gMC41O1xuICBtYXhab29tOiBudW1iZXIgPSA1O1xuICBwYW5YOiBudW1iZXIgPSAwO1xuICBwYW5ZOiBudW1iZXIgPSAwO1xuXG4gIC8vIFRvdWNoIGFuZCBtb3VzZSBpbnRlcmFjdGlvbiBwcm9wZXJ0aWVzXG4gIGlzRHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbGFzdFBhblg6IG51bWJlciA9IDA7XG4gIGxhc3RQYW5ZOiBudW1iZXIgPSAwO1xuICBzdGFydFg6IG51bWJlciA9IDA7XG4gIHN0YXJ0WTogbnVtYmVyID0gMDtcblxuICAvLyBUb3VjaCBnZXN0dXJlIHByb3BlcnRpZXNcbiAgaW5pdGlhbERpc3RhbmNlOiBudW1iZXIgPSAwO1xuICBpbml0aWFsWm9vbTogbnVtYmVyID0gMTtcbiAgdG91Y2hlczogVG91Y2hbXSA9IFtdO1xuXG4gIC8vIExhbmcgc2VydmljZVxuICBsYW5nU2VydmljZSA9IGluamVjdChMYW5nU2VydmljZSk7XG5cbiAgLy8gTWF0aCBmb3IgdGVtcGxhdGVcbiAgTWF0aCA9IE1hdGg7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFNldCBkZWZhdWx0IHZhbHVlc1xuICAgIGlmICghdGhpcy5wcm9wcy5hbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMucHJvcHMuYWxpZ25tZW50ID0gJ2NlbnRlcic7XG4gICAgfVxuICAgIGlmICghdGhpcy5wcm9wcy5jYXB0aW9uU2l6ZSkge1xuICAgICAgdGhpcy5wcm9wcy5jYXB0aW9uU2l6ZSA9ICdtZWRpdW0nO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMubW9kZSkge1xuICAgICAgdGhpcy5wcm9wcy5tb2RlID0gJ2JveCc7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVG9WaXNpYmxlKCkge1xuICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuYXZhaWxhYmxlID0gdHJ1ZTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgLy8gUHJldmlldyBtb2RlIG1ldGhvZHNcbiAgb3BlblByZXZpZXcoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnByZXZpZXdNb2RlKSByZXR1cm47XG4gICAgdGhpcy5pc1ByZXZpZXdPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLnJlc2V0Wm9vbSgpO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJzsgLy8gUHJldmVudCBiYWNrZ3JvdW5kIHNjcm9sbGluZ1xuICB9XG5cbiAgY2xvc2VQcmV2aWV3KCkge1xuICAgIHRoaXMuaXNQcmV2aWV3T3BlbiA9IGZhbHNlO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsgLy8gUmVzdG9yZSBzY3JvbGxpbmdcbiAgfVxuXG4gIC8vIFpvb20gbWV0aG9kc1xuICB6b29tSW4oKSB7XG4gICAgaWYgKHRoaXMuem9vbUxldmVsIDwgdGhpcy5tYXhab29tKSB7XG4gICAgICB0aGlzLnpvb21MZXZlbCA9IE1hdGgubWluKHRoaXMuem9vbUxldmVsICogMS4yLCB0aGlzLm1heFpvb20pO1xuICAgIH1cbiAgfVxuXG4gIHpvb21PdXQoKSB7XG4gICAgaWYgKHRoaXMuem9vbUxldmVsID4gdGhpcy5taW5ab29tKSB7XG4gICAgICB0aGlzLnpvb21MZXZlbCA9IE1hdGgubWF4KHRoaXMuem9vbUxldmVsIC8gMS4yLCB0aGlzLm1pblpvb20pO1xuICAgICAgLy8gUmVzZXQgcGFuIGlmIHpvb21lZCBvdXQgdG8gMXggb3IgbGVzc1xuICAgICAgaWYgKHRoaXMuem9vbUxldmVsIDw9IDEpIHtcbiAgICAgICAgdGhpcy5wYW5YID0gMDtcbiAgICAgICAgdGhpcy5wYW5ZID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXNldFpvb20oKSB7XG4gICAgdGhpcy56b29tTGV2ZWwgPSAxO1xuICAgIHRoaXMucGFuWCA9IDA7XG4gICAgdGhpcy5wYW5ZID0gMDtcbiAgfVxuXG4gIC8vIE1vdXNlIGV2ZW50c1xuICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLnpvb21MZXZlbCA8PSAxKSByZXR1cm47XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RhcnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMucGFuWDtcbiAgICB0aGlzLnN0YXJ0WSA9IGV2ZW50LmNsaWVudFkgLSB0aGlzLnBhblk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcgfHwgdGhpcy56b29tTGV2ZWwgPD0gMSkgcmV0dXJuO1xuXG4gICAgdGhpcy5wYW5YID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuc3RhcnRYO1xuICAgIHRoaXMucGFuWSA9IGV2ZW50LmNsaWVudFkgLSB0aGlzLnN0YXJ0WTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gIH1cblxuICAvLyBUb3VjaCBldmVudHMgZm9yIG1vYmlsZVxuICBvblRvdWNoU3RhcnQoZXZlbnQ6IFRvdWNoRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMudG91Y2hlcyA9IEFycmF5LmZyb20oZXZlbnQudG91Y2hlcyk7XG5cbiAgICBpZiAodGhpcy50b3VjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gU2luZ2xlIHRvdWNoIC0gc3RhcnQgZHJhZ2dpbmdcbiAgICAgIGlmICh0aGlzLnpvb21MZXZlbCA+IDEpIHtcbiAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdGFydFggPSB0aGlzLnRvdWNoZXNbMF0uY2xpZW50WCAtIHRoaXMucGFuWDtcbiAgICAgICAgdGhpcy5zdGFydFkgPSB0aGlzLnRvdWNoZXNbMF0uY2xpZW50WSAtIHRoaXMucGFuWTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudG91Y2hlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgIC8vIFR3byB0b3VjaGVzIC0gc3RhcnQgcGluY2ggem9vbVxuICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmluaXRpYWxEaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UodGhpcy50b3VjaGVzWzBdLCB0aGlzLnRvdWNoZXNbMV0pO1xuICAgICAgdGhpcy5pbml0aWFsWm9vbSA9IHRoaXMuem9vbUxldmVsO1xuICAgIH1cbiAgfVxuXG4gIG9uVG91Y2hNb3ZlKGV2ZW50OiBUb3VjaEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnRvdWNoZXMgPSBBcnJheS5mcm9tKGV2ZW50LnRvdWNoZXMpO1xuXG4gICAgaWYgKHRoaXMudG91Y2hlcy5sZW5ndGggPT09IDEgJiYgdGhpcy5pc0RyYWdnaW5nICYmIHRoaXMuem9vbUxldmVsID4gMSkge1xuICAgICAgLy8gU2luZ2xlIHRvdWNoIC0gZHJhZ1xuICAgICAgdGhpcy5wYW5YID0gdGhpcy50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLnN0YXJ0WDtcbiAgICAgIHRoaXMucGFuWSA9IHRoaXMudG91Y2hlc1swXS5jbGllbnRZIC0gdGhpcy5zdGFydFk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvdWNoZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAvLyBUd28gdG91Y2hlcyAtIHBpbmNoIHpvb21cbiAgICAgIGNvbnN0IGN1cnJlbnREaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UodGhpcy50b3VjaGVzWzBdLCB0aGlzLnRvdWNoZXNbMV0pO1xuICAgICAgY29uc3Qgc2NhbGUgPSBjdXJyZW50RGlzdGFuY2UgLyB0aGlzLmluaXRpYWxEaXN0YW5jZTtcbiAgICAgIHRoaXMuem9vbUxldmVsID0gTWF0aC5taW4oTWF0aC5tYXgodGhpcy5pbml0aWFsWm9vbSAqIHNjYWxlLCB0aGlzLm1pblpvb20pLCB0aGlzLm1heFpvb20pO1xuXG4gICAgICAvLyBSZXNldCBwYW4gaWYgem9vbWVkIG91dCB0byAxeCBvciBsZXNzXG4gICAgICBpZiAodGhpcy56b29tTGV2ZWwgPD0gMSkge1xuICAgICAgICB0aGlzLnBhblggPSAwO1xuICAgICAgICB0aGlzLnBhblkgPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uVG91Y2hFbmQoZXZlbnQ6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnRvdWNoZXMgPSBBcnJheS5mcm9tKGV2ZW50LnRvdWNoZXMpO1xuICB9XG5cbiAgLy8gTW91c2Ugd2hlZWwgem9vbVxuICBvbldoZWVsKGV2ZW50OiBXaGVlbEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGRlbHRhID0gZXZlbnQuZGVsdGFZID4gMCA/IC0xIDogMTtcbiAgICBjb25zdCB6b29tRmFjdG9yID0gMSArIGRlbHRhICogMC4xO1xuXG4gICAgdGhpcy56b29tTGV2ZWwgPSBNYXRoLm1pbihNYXRoLm1heCh0aGlzLnpvb21MZXZlbCAqIHpvb21GYWN0b3IsIHRoaXMubWluWm9vbSksIHRoaXMubWF4Wm9vbSk7XG5cbiAgICAvLyBSZXNldCBwYW4gaWYgem9vbWVkIG91dCB0byAxeCBvciBsZXNzXG4gICAgaWYgKHRoaXMuem9vbUxldmVsIDw9IDEpIHtcbiAgICAgIHRoaXMucGFuWCA9IDA7XG4gICAgICB0aGlzLnBhblkgPSAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlbHBlciBtZXRob2RzXG4gIHByaXZhdGUgZ2V0RGlzdGFuY2UodG91Y2gxOiBUb3VjaCwgdG91Y2gyOiBUb3VjaCk6IG51bWJlciB7XG4gICAgY29uc3QgZHggPSB0b3VjaDEuY2xpZW50WCAtIHRvdWNoMi5jbGllbnRYO1xuICAgIGNvbnN0IGR5ID0gdG91Y2gxLmNsaWVudFkgLSB0b3VjaDIuY2xpZW50WTtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KTtcbiAgfVxuXG4gIC8vIEtleWJvYXJkIHNob3J0Y3V0c1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzUHJldmlld09wZW4pIHJldHVybjtcblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmNsb3NlUHJldmlldygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJysnOlxuICAgICAgY2FzZSAnPSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuem9vbUluKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnLSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuem9vbU91dCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJzAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlc2V0Wm9vbSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdURBQXVELENBQUM7OztBQXFKcEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBZ0N6QjtRQTVCQSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLDBCQUEwQjtRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLFlBQU8sR0FBVyxHQUFHLENBQUM7UUFDdEIsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFFakIseUNBQXlDO1FBQ3pDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUVuQiwyQkFBMkI7UUFDM0Isb0JB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMklULGluTEE1SVMsWUFBWSxrTkFBRSxRQUFRLHNEQUFFLFNBQVMsb0dBQUUsVUFBVSxtRkFBWSxVQUFVLGtKQUFFLFNBQVMsb1BBQUUsT0FBTywySkFBRSxVQUFVOzs0RkFvTGxHLGNBQWM7a0JBdkwxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUNwRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJJVDt3REEwQ0QsS0FBSztzQkFESixLQUFLO2dCQXFMTixTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSW9uQnV0dG9uLFxuICBJb25CdXR0b25zLFxuICBJb25Db250ZW50LFxuICBJb25IZWFkZXIsXG4gIElvbkljb24sXG4gIElvbk1vZGFsLFxuICBJb25UaXRsZSxcbiAgSW9uVG9vbGJhcixcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvbGFuZy1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEltYWdlTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWltYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uTW9kYWwsIElvbkhlYWRlciwgSW9uVG9vbGJhciwgSW9uVGl0bGUsIElvbkNvbnRlbnQsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uQnV0dG9uc10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZpZ3VyZVxuICAgICAgY2xhc3M9XCJ2YWwtaW1hZ2UtY29udGFpbmVyXCJcbiAgICAgIFtjbGFzc109XCJwcm9wcy5jb250YWluZXJDbGFzc1wiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd2YWwtaW1hZ2UtY29udGFpbmVyLS1sZWZ0JzogcHJvcHMuYWxpZ25tZW50ID09PSAnbGVmdCcsXG4gICAgICAgICd2YWwtaW1hZ2UtY29udGFpbmVyLS1jZW50ZXInOiBwcm9wcy5hbGlnbm1lbnQgPT09ICdjZW50ZXInIHx8ICFwcm9wcy5hbGlnbm1lbnQsXG4gICAgICAgICd2YWwtaW1hZ2UtY29udGFpbmVyLS1yaWdodCc6IHByb3BzLmFsaWdubWVudCA9PT0gJ3JpZ2h0JyxcbiAgICAgIH1cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBkaXNwbGF5OiBwcm9wcy5mbGV4ID8gJ2ZsZXgnIDogJ2lubGluZS1ibG9jaycsXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwidmFsLWltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgQGlmIChwcm9wcy5zcmMuaW5jbHVkZXMoJy0tJykpIHtcbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cInZhbC1pbWFnZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAgIHByb3BzLm1vZGUsXG4gICAgICAgICAgICAgICFwcm9wcy53aWR0aCA/IHByb3BzLnNpemUgOiAnJyxcbiAgICAgICAgICAgICAgcHJvcHMucHJldmlld01vZGUgPyAndmFsLWltYWdlLS1wcmV2aWV3LWVuYWJsZWQnIDogJycsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgY29udGVudDogJ3ZhcignICsgcHJvcHMuc3JjICsgJyknLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbY2xhc3MuYm9yZGVyZWRdPVwicHJvcHMuYm9yZGVyZWRcIlxuICAgICAgICAgICAgW2NsYXNzLnNoYWRlZF09XCJwcm9wcy5zaGFkZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmRhcmtdPVwicHJvcHMuZGFya1wiXG4gICAgICAgICAgICBbY2xhc3MubGltaXRlZF09XCJwcm9wcy5saW1pdGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5jZW50ZXJdPVwicHJvcHMuYWxpZ25tZW50ID09PSAnY2VudGVyJ1wiXG4gICAgICAgICAgICBbYWx0XT1cInByb3BzLmFsdFwiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGgucmVtXT1cInByb3BzLndpZHRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGgucmVtXT1cInByb3BzLndpZHRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicHJvcHMuaGVpZ2h0XCJcbiAgICAgICAgICAgIChjbGljayk9XCJwcm9wcy5wcmV2aWV3TW9kZSA/IG9wZW5QcmV2aWV3KCkgOiBudWxsXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cInZhbC1pbWFnZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAgIHByb3BzLm1vZGUsXG4gICAgICAgICAgICAgICFwcm9wcy53aWR0aCA/IHByb3BzLnNpemUgOiAnJyxcbiAgICAgICAgICAgICAgcHJvcHMucHJldmlld01vZGUgPyAndmFsLWltYWdlLS1wcmV2aWV3LWVuYWJsZWQnIDogJycsXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICAgIFtjbGFzcy5ib3JkZXJlZF09XCJwcm9wcy5ib3JkZXJlZFwiXG4gICAgICAgICAgICBbY2xhc3Muc2hhZGVkXT1cInByb3BzLnNoYWRlZFwiXG4gICAgICAgICAgICBbY2xhc3MuZGFya109XCJwcm9wcy5kYXJrXCJcbiAgICAgICAgICAgIFtjbGFzcy5saW1pdGVkXT1cInByb3BzLmxpbWl0ZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmNlbnRlcl09XCJwcm9wcy5hbGlnbm1lbnQgPT09ICdjZW50ZXInXCJcbiAgICAgICAgICAgIFtzcmNdPVwicHJvcHMuc3JjXCJcbiAgICAgICAgICAgIFthbHRdPVwicHJvcHMuYWx0XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC5yZW1dPVwicHJvcHMud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5yZW1dPVwicHJvcHMud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJwcm9wcy5oZWlnaHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInByb3BzLnByZXZpZXdNb2RlID8gb3BlblByZXZpZXcoKSA6IG51bGxcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHByb3BzLmNhcHRpb24pIHtcbiAgICAgICAgPGZpZ2NhcHRpb25cbiAgICAgICAgICBjbGFzcz1cInZhbC1pbWFnZS1jYXB0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAndmFsLWltYWdlLWNhcHRpb24tLXNtYWxsJzogcHJvcHMuY2FwdGlvblNpemUgPT09ICdzbWFsbCcsXG4gICAgICAgICAgICAndmFsLWltYWdlLWNhcHRpb24tLW1lZGl1bSc6IHByb3BzLmNhcHRpb25TaXplID09PSAnbWVkaXVtJyB8fCAhcHJvcHMuY2FwdGlvblNpemUsXG4gICAgICAgICAgICAndmFsLWltYWdlLWNhcHRpb24tLWxhcmdlJzogcHJvcHMuY2FwdGlvblNpemUgPT09ICdsYXJnZScsXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBwcm9wcy5jYXB0aW9uIH19XG4gICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgIH1cbiAgICA8L2ZpZ3VyZT5cblxuICAgIDwhLS0gTW9kYWwgZGUgcHJldmlzdWFsaXphY2nDs24gY29uIGlvbi1tb2RhbCAtLT5cbiAgICA8aW9uLW1vZGFsIFtpc09wZW5dPVwiaXNQcmV2aWV3T3BlblwiIChkaWREaXNtaXNzKT1cImNsb3NlUHJldmlldygpXCI+XG4gICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxpb24taGVhZGVyPlxuICAgICAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgICAgIDwhLS0gPGlvbi10aXRsZT57eyBwcm9wcy5hbHQgfHwgJ1ByZXZpc3VhbGl6YWNpw7NuIGRlIGltYWdlbicgfX08L2lvbi10aXRsZT4gLS0+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VQcmV2aWV3KClcIiBmaWxsPVwiY2xlYXJcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgICA8L2lvbi10b29sYmFyPlxuICAgICAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICAgICAgPGlvbi1jb250ZW50PlxuICAgICAgICAgIDwhLS0gQ29udHJvbGVzIGRlIHpvb20gLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1pbWFnZS1wcmV2aWV3LWNvbnRyb2xzXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPVwiem9vbU91dCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiem9vbUxldmVsIDw9IG1pblpvb21cIlxuICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInJlbW92ZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWwtaW1hZ2UtcHJldmlldy16b29tLWxldmVsXCI+e3sgTWF0aC5yb3VuZCh6b29tTGV2ZWwgKiAxMDApIH19JTwvc3Bhbj5cblxuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT1cInpvb21JbigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiem9vbUxldmVsID49IG1heFpvb21cIlxuICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gSW1hZ2VuIGFtcGxpYWRhIC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWltYWdlLXByZXZpZXctdmlld3BvcnRcIlxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwib25Ub3VjaFN0YXJ0KCRldmVudClcIlxuICAgICAgICAgICAgKHRvdWNobW92ZSk9XCJvblRvdWNoTW92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICh0b3VjaGVuZCk9XCJvblRvdWNoRW5kKCRldmVudClcIlxuICAgICAgICAgICAgKHdoZWVsKT1cIm9uV2hlZWwoJGV2ZW50KVwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgICAgKG1vdXNlbW92ZSk9XCJvbk1vdXNlTW92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VVcCgkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICNwcmV2aWV3SW1hZ2VcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWwtaW1hZ2UtcHJldmlldy1pbWdcIlxuICAgICAgICAgICAgICBbc3JjXT1cInByb3BzLnNyYy5pbmNsdWRlcygnLS0nKSA/IG51bGwgOiBwcm9wcy5zcmNcIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgY29udGVudDogcHJvcHMuc3JjLmluY2x1ZGVzKCctLScpID8gJ3ZhcignICsgcHJvcHMuc3JjICsgJyknIDogbnVsbCxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgnICsgem9vbUxldmVsICsgJykgdHJhbnNsYXRlKCcgKyBwYW5YICsgJ3B4LCAnICsgcGFuWSArICdweCknLFxuICAgICAgICAgICAgICAgIGN1cnNvcjogaXNEcmFnZ2luZyA/ICdncmFiYmluZycgOiB6b29tTGV2ZWwgPiAxID8gJ2dyYWInIDogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgW2FsdF09XCJwcm9wcy5hbHRcIlxuICAgICAgICAgICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2lvbi1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2lvbi1tb2RhbD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1pbWFnZVxuICpcbiAqIERpc3BsYXlzIGFuIGltYWdlIHdpdGggdmFyaW91cyBkaXNwbGF5IG9wdGlvbnMgKGJvcmRlcmVkLCBzaGFkZWQsIGRhcmssIGV0YykuXG4gKiBOb3cgaW5jbHVkZXMgYSBjb250YWluZXIgd3JhcHBlciBmb3IgYmV0dGVyIGZsZXhib3ggc3VwcG9ydCBhbmQgYWxpZ25tZW50IG9wdGlvbnMuXG4gKlxuICogTkVXOiBPcHRpb25hbCBwcmV2aWV3IG1vZGUgd2l0aCBmdWxsLXNjcmVlbiB6b29tIGNhcGFiaWxpdGllczpcbiAqIC0gQ2xpY2sgdG8gb3BlbiBmdWxsLXNjcmVlbiBwcmV2aWV3ICh3aGVuIHByZXZpZXdNb2RlIGlzIGVuYWJsZWQpXG4gKiAtIFBpbmNoLXRvLXpvb20gb24gbW9iaWxlIGRldmljZXNcbiAqIC0gTW91c2Ugd2hlZWwgem9vbSBvbiBkZXNrdG9wXG4gKiAtIFBhbi9kcmFnIHRvIG5hdmlnYXRlIHpvb21lZCBpbWFnZXNcbiAqIC0gWm9vbSBjb250cm9scyB3aXRoIGJ1dHRvbnNcbiAqIC0gS2V5Ym9hcmQgc2hvcnRjdXRzIChFc2MgdG8gY2xvc2UsICsvLSB0byB6b29tLCAwIHRvIHJlc2V0KVxuICogLSBUb3VjaC1mcmllbmRseSBpbnRlcmZhY2Ugd2l0aCBnZXN0dXJlIHN1cHBvcnRcbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZTpcbiAqIDx2YWwtaW1hZ2UgW3Byb3BzXT1cIntcbiAqICAgc3JjOiAndXJsJyxcbiAqICAgYWx0OiAnZGVzYycsXG4gKiAgIHdpZHRoOiAxMDAsXG4gKiAgIGhlaWdodDogMTAwLFxuICogICBib3JkZXJlZDogdHJ1ZSxcbiAqICAgYWxpZ25tZW50OiAnY2VudGVyJyxcbiAqICAgY2FwdGlvbjogJ0ltYWdlIGRlc2NyaXB0aW9uJ1xuICogfVwiPjwvdmFsLWltYWdlPlxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJldmlldyBtb2RlOlxuICogPHZhbC1pbWFnZSBbcHJvcHNdPVwie1xuICogICBzcmM6ICd1cmwnLFxuICogICBhbHQ6ICdkZXNjJyxcbiAqICAgcHJldmlld01vZGU6IHRydWUsXG4gKiAgIGJvcmRlcmVkOiB0cnVlLFxuICogICBhbGlnbm1lbnQ6ICdjZW50ZXInXG4gKiB9XCI+PC92YWwtaW1hZ2U+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbWFnZU1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGltYWdlIChzcmMsIGFsdCwgc2l6ZSwgbW9kZSwgYWxpZ25tZW50LCBjYXB0aW9uLCBwcmV2aWV3TW9kZSwgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHJvcHMhOiBJbWFnZU1ldGFkYXRhO1xuXG4gIGF2YWlsYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLy8gUHJldmlldyBtb2RlIHByb3BlcnRpZXNcbiAgaXNQcmV2aWV3T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICB6b29tTGV2ZWw6IG51bWJlciA9IDE7XG4gIG1pblpvb206IG51bWJlciA9IDAuNTtcbiAgbWF4Wm9vbTogbnVtYmVyID0gNTtcbiAgcGFuWDogbnVtYmVyID0gMDtcbiAgcGFuWTogbnVtYmVyID0gMDtcblxuICAvLyBUb3VjaCBhbmQgbW91c2UgaW50ZXJhY3Rpb24gcHJvcGVydGllc1xuICBpc0RyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGxhc3RQYW5YOiBudW1iZXIgPSAwO1xuICBsYXN0UGFuWTogbnVtYmVyID0gMDtcbiAgc3RhcnRYOiBudW1iZXIgPSAwO1xuICBzdGFydFk6IG51bWJlciA9IDA7XG5cbiAgLy8gVG91Y2ggZ2VzdHVyZSBwcm9wZXJ0aWVzXG4gIGluaXRpYWxEaXN0YW5jZTogbnVtYmVyID0gMDtcbiAgaW5pdGlhbFpvb206IG51bWJlciA9IDE7XG4gIHRvdWNoZXM6IFRvdWNoW10gPSBbXTtcblxuICAvLyBMYW5nIHNlcnZpY2VcbiAgbGFuZ1NlcnZpY2UgPSBpbmplY3QoTGFuZ1NlcnZpY2UpO1xuXG4gIC8vIE1hdGggZm9yIHRlbXBsYXRlXG4gIE1hdGggPSBNYXRoO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBTZXQgZGVmYXVsdCB2YWx1ZXNcbiAgICBpZiAoIXRoaXMucHJvcHMuYWxpZ25tZW50KSB7XG4gICAgICB0aGlzLnByb3BzLmFsaWdubWVudCA9ICdjZW50ZXInO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMuY2FwdGlvblNpemUpIHtcbiAgICAgIHRoaXMucHJvcHMuY2FwdGlvblNpemUgPSAnbWVkaXVtJztcbiAgICB9XG4gICAgaWYgKCF0aGlzLnByb3BzLm1vZGUpIHtcbiAgICAgIHRoaXMucHJvcHMubW9kZSA9ICdib3gnO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVRvVmlzaWJsZSgpIHtcbiAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLmF2YWlsYWJsZSA9IHRydWU7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIC8vIFByZXZpZXcgbW9kZSBtZXRob2RzXG4gIG9wZW5QcmV2aWV3KCkge1xuICAgIGlmICghdGhpcy5wcm9wcy5wcmV2aWV3TW9kZSkgcmV0dXJuO1xuICAgIHRoaXMuaXNQcmV2aWV3T3BlbiA9IHRydWU7XG4gICAgdGhpcy5yZXNldFpvb20oKTtcbiAgfVxuXG4gIGNsb3NlUHJldmlldygpIHtcbiAgICB0aGlzLmlzUHJldmlld09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8vIFpvb20gbWV0aG9kc1xuICB6b29tSW4oKSB7XG4gICAgaWYgKHRoaXMuem9vbUxldmVsIDwgdGhpcy5tYXhab29tKSB7XG4gICAgICB0aGlzLnpvb21MZXZlbCA9IE1hdGgubWluKHRoaXMuem9vbUxldmVsICogMS4yLCB0aGlzLm1heFpvb20pO1xuICAgIH1cbiAgfVxuXG4gIHpvb21PdXQoKSB7XG4gICAgaWYgKHRoaXMuem9vbUxldmVsID4gdGhpcy5taW5ab29tKSB7XG4gICAgICB0aGlzLnpvb21MZXZlbCA9IE1hdGgubWF4KHRoaXMuem9vbUxldmVsIC8gMS4yLCB0aGlzLm1pblpvb20pO1xuICAgICAgLy8gUmVzZXQgcGFuIGlmIHpvb21lZCBvdXQgdG8gMXggb3IgbGVzc1xuICAgICAgaWYgKHRoaXMuem9vbUxldmVsIDw9IDEpIHtcbiAgICAgICAgdGhpcy5wYW5YID0gMDtcbiAgICAgICAgdGhpcy5wYW5ZID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXNldFpvb20oKSB7XG4gICAgdGhpcy56b29tTGV2ZWwgPSAxO1xuICAgIHRoaXMucGFuWCA9IDA7XG4gICAgdGhpcy5wYW5ZID0gMDtcbiAgfVxuXG4gIC8vIE1vdXNlIGV2ZW50c1xuICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLnpvb21MZXZlbCA8PSAxKSByZXR1cm47XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3RhcnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMucGFuWDtcbiAgICB0aGlzLnN0YXJ0WSA9IGV2ZW50LmNsaWVudFkgLSB0aGlzLnBhblk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIG9uTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcgfHwgdGhpcy56b29tTGV2ZWwgPD0gMSkgcmV0dXJuO1xuXG4gICAgdGhpcy5wYW5YID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuc3RhcnRYO1xuICAgIHRoaXMucGFuWSA9IGV2ZW50LmNsaWVudFkgLSB0aGlzLnN0YXJ0WTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gIH1cblxuICAvLyBUb3VjaCBldmVudHMgZm9yIG1vYmlsZVxuICBvblRvdWNoU3RhcnQoZXZlbnQ6IFRvdWNoRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMudG91Y2hlcyA9IEFycmF5LmZyb20oZXZlbnQudG91Y2hlcyk7XG5cbiAgICBpZiAodGhpcy50b3VjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gU2luZ2xlIHRvdWNoIC0gc3RhcnQgZHJhZ2dpbmdcbiAgICAgIGlmICh0aGlzLnpvb21MZXZlbCA+IDEpIHtcbiAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdGFydFggPSB0aGlzLnRvdWNoZXNbMF0uY2xpZW50WCAtIHRoaXMucGFuWDtcbiAgICAgICAgdGhpcy5zdGFydFkgPSB0aGlzLnRvdWNoZXNbMF0uY2xpZW50WSAtIHRoaXMucGFuWTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudG91Y2hlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgIC8vIFR3byB0b3VjaGVzIC0gc3RhcnQgcGluY2ggem9vbVxuICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmluaXRpYWxEaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UodGhpcy50b3VjaGVzWzBdLCB0aGlzLnRvdWNoZXNbMV0pO1xuICAgICAgdGhpcy5pbml0aWFsWm9vbSA9IHRoaXMuem9vbUxldmVsO1xuICAgIH1cbiAgfVxuXG4gIG9uVG91Y2hNb3ZlKGV2ZW50OiBUb3VjaEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnRvdWNoZXMgPSBBcnJheS5mcm9tKGV2ZW50LnRvdWNoZXMpO1xuXG4gICAgaWYgKHRoaXMudG91Y2hlcy5sZW5ndGggPT09IDEgJiYgdGhpcy5pc0RyYWdnaW5nICYmIHRoaXMuem9vbUxldmVsID4gMSkge1xuICAgICAgLy8gU2luZ2xlIHRvdWNoIC0gZHJhZ1xuICAgICAgdGhpcy5wYW5YID0gdGhpcy50b3VjaGVzWzBdLmNsaWVudFggLSB0aGlzLnN0YXJ0WDtcbiAgICAgIHRoaXMucGFuWSA9IHRoaXMudG91Y2hlc1swXS5jbGllbnRZIC0gdGhpcy5zdGFydFk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvdWNoZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAvLyBUd28gdG91Y2hlcyAtIHBpbmNoIHpvb21cbiAgICAgIGNvbnN0IGN1cnJlbnREaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UodGhpcy50b3VjaGVzWzBdLCB0aGlzLnRvdWNoZXNbMV0pO1xuICAgICAgY29uc3Qgc2NhbGUgPSBjdXJyZW50RGlzdGFuY2UgLyB0aGlzLmluaXRpYWxEaXN0YW5jZTtcbiAgICAgIHRoaXMuem9vbUxldmVsID0gTWF0aC5taW4oTWF0aC5tYXgodGhpcy5pbml0aWFsWm9vbSAqIHNjYWxlLCB0aGlzLm1pblpvb20pLCB0aGlzLm1heFpvb20pO1xuXG4gICAgICAvLyBSZXNldCBwYW4gaWYgem9vbWVkIG91dCB0byAxeCBvciBsZXNzXG4gICAgICBpZiAodGhpcy56b29tTGV2ZWwgPD0gMSkge1xuICAgICAgICB0aGlzLnBhblggPSAwO1xuICAgICAgICB0aGlzLnBhblkgPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uVG91Y2hFbmQoZXZlbnQ6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnRvdWNoZXMgPSBBcnJheS5mcm9tKGV2ZW50LnRvdWNoZXMpO1xuICB9XG5cbiAgLy8gTW91c2Ugd2hlZWwgem9vbVxuICBvbldoZWVsKGV2ZW50OiBXaGVlbEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGRlbHRhID0gZXZlbnQuZGVsdGFZID4gMCA/IC0xIDogMTtcbiAgICBjb25zdCB6b29tRmFjdG9yID0gMSArIGRlbHRhICogMC4xO1xuXG4gICAgdGhpcy56b29tTGV2ZWwgPSBNYXRoLm1pbihNYXRoLm1heCh0aGlzLnpvb21MZXZlbCAqIHpvb21GYWN0b3IsIHRoaXMubWluWm9vbSksIHRoaXMubWF4Wm9vbSk7XG5cbiAgICAvLyBSZXNldCBwYW4gaWYgem9vbWVkIG91dCB0byAxeCBvciBsZXNzXG4gICAgaWYgKHRoaXMuem9vbUxldmVsIDw9IDEpIHtcbiAgICAgIHRoaXMucGFuWCA9IDA7XG4gICAgICB0aGlzLnBhblkgPSAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlbHBlciBtZXRob2RzXG4gIHByaXZhdGUgZ2V0RGlzdGFuY2UodG91Y2gxOiBUb3VjaCwgdG91Y2gyOiBUb3VjaCk6IG51bWJlciB7XG4gICAgY29uc3QgZHggPSB0b3VjaDEuY2xpZW50WCAtIHRvdWNoMi5jbGllbnRYO1xuICAgIGNvbnN0IGR5ID0gdG91Y2gxLmNsaWVudFkgLSB0b3VjaDIuY2xpZW50WTtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KTtcbiAgfVxuXG4gIC8vIEtleWJvYXJkIHNob3J0Y3V0c1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmlzUHJldmlld09wZW4pIHJldHVybjtcblxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmNsb3NlUHJldmlldygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJysnOlxuICAgICAgY2FzZSAnPSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuem9vbUluKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnLSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuem9vbU91dCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJzAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlc2V0Wm9vbSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { Injectable } from '@angular/core';
7
7
  import { addIcons } from 'ionicons';
8
- import { addCircleOutline, addOutline, alertCircleOutline, alertOutline, arrowBackOutline, arrowDownOutline, arrowForwardOutline, businessOutline, calendarOutline, chatbubblesOutline, checkmarkCircleOutline, checkmarkOutline, chevronDownOutline, chevronForwardOutline, clipboardOutline, closeOutline, copyOutline, createOutline, documentTextOutline, ellipsisHorizontalOutline, eyeOffOutline, eyeOutline, filterOutline, heart, heartOutline, homeOutline, informationCircleOutline, locationOutline, lockClosedOutline, logoFacebook, logoInstagram, logoLinkedin, logoNpm, logoTiktok, logoTwitter, logoYoutube, notificationsOutline, openOutline, playOutline, refreshOutline, scanOutline, shareOutline, trashOutline, } from 'ionicons/icons';
8
+ import { addCircleOutline, addOutline, alertCircleOutline, alertOutline, arrowBackOutline, arrowDownOutline, arrowForwardOutline, businessOutline, calendarOutline, chatbubblesOutline, checkmarkCircleOutline, checkmarkOutline, chevronDownOutline, chevronForwardOutline, clipboardOutline, closeOutline, copyOutline, createOutline, documentTextOutline, ellipsisHorizontalOutline, eyeOffOutline, eyeOutline, filterOutline, heart, heartOutline, homeOutline, informationCircleOutline, locationOutline, lockClosedOutline, logoFacebook, logoInstagram, logoLinkedin, logoNpm, logoTiktok, logoTwitter, logoYoutube, notificationsOutline, openOutline, playOutline, refreshOutline, removeOutline, scanOutline, shareOutline, trashOutline, } from 'ionicons/icons';
9
9
  import * as i0 from "@angular/core";
10
10
  export class IconService {
11
11
  /**
@@ -56,6 +56,7 @@ export class IconService {
56
56
  lockClosedOutline,
57
57
  informationCircleOutline,
58
58
  logoNpm,
59
+ removeOutline,
59
60
  });
60
61
  }
61
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -67,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
67
68
  providedIn: 'root',
68
69
  }]
69
70
  }], ctorParameters: () => [] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBRXpDOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixhQUFhLEVBQ2IsVUFBVSxFQUNWLGFBQWEsRUFDYixLQUFLLEVBQ0wsWUFBWSxFQUNaLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWixPQUFPLEVBQ1AsVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsY0FBYyxFQUNkLFdBQVcsRUFDWCxZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3hCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCOztPQUVHO0lBQ0g7UUFDRSxRQUFRLENBQUM7WUFDUCxVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLEtBQUs7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixVQUFVO1lBQ1YsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsWUFBWTtZQUNaLFdBQVc7WUFDWCxVQUFVO1lBQ1YsWUFBWTtZQUNaLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FsRFUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHJlZ2lzdGVyaW5nIGFuZCBtYW5hZ2luZyBjdXN0b20gSW9uaWNvbnMgaWNvbnMgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogQXV0b21hdGljYWxseSByZWdpc3RlcnMgYSBzZXQgb2YgY29tbW9ubHkgdXNlZCBpY29ucyBvbiBpbml0aWFsaXphdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7XG4gIGFkZENpcmNsZU91dGxpbmUsXG4gIGFkZE91dGxpbmUsXG4gIGFsZXJ0Q2lyY2xlT3V0bGluZSxcbiAgYWxlcnRPdXRsaW5lLFxuICBhcnJvd0JhY2tPdXRsaW5lLFxuICBhcnJvd0Rvd25PdXRsaW5lLFxuICBhcnJvd0ZvcndhcmRPdXRsaW5lLFxuICBidXNpbmVzc091dGxpbmUsXG4gIGNhbGVuZGFyT3V0bGluZSxcbiAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICBjaGVja21hcmtPdXRsaW5lLFxuICBjaGV2cm9uRG93bk91dGxpbmUsXG4gIGNoZXZyb25Gb3J3YXJkT3V0bGluZSxcbiAgY2xpcGJvYXJkT3V0bGluZSxcbiAgY2xvc2VPdXRsaW5lLFxuICBjb3B5T3V0bGluZSxcbiAgY3JlYXRlT3V0bGluZSxcbiAgZG9jdW1lbnRUZXh0T3V0bGluZSxcbiAgZWxsaXBzaXNIb3Jpem9udGFsT3V0bGluZSxcbiAgZXllT2ZmT3V0bGluZSxcbiAgZXllT3V0bGluZSxcbiAgZmlsdGVyT3V0bGluZSxcbiAgaGVhcnQsXG4gIGhlYXJ0T3V0bGluZSxcbiAgaG9tZU91dGxpbmUsXG4gIGluZm9ybWF0aW9uQ2lyY2xlT3V0bGluZSxcbiAgbG9jYXRpb25PdXRsaW5lLFxuICBsb2NrQ2xvc2VkT3V0bGluZSxcbiAgbG9nb0ZhY2Vib29rLFxuICBsb2dvSW5zdGFncmFtLFxuICBsb2dvTGlua2VkaW4sXG4gIGxvZ29OcG0sXG4gIGxvZ29UaWt0b2ssXG4gIGxvZ29Ud2l0dGVyLFxuICBsb2dvWW91dHViZSxcbiAgbm90aWZpY2F0aW9uc091dGxpbmUsXG4gIG9wZW5PdXRsaW5lLFxuICBwbGF5T3V0bGluZSxcbiAgcmVmcmVzaE91dGxpbmUsXG4gIHNjYW5PdXRsaW5lLFxuICBzaGFyZU91dGxpbmUsXG4gIHRyYXNoT3V0bGluZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvblNlcnZpY2Uge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgc2V0IG9mIElvbmljb25zIGljb25zIGZvciB1c2UgdGhyb3VnaG91dCB0aGUgYXBwLlxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSWNvbnMoe1xuICAgICAgYWRkT3V0bGluZSxcbiAgICAgIGFkZENpcmNsZU91dGxpbmUsXG4gICAgICBhbGVydE91dGxpbmUsXG4gICAgICBhbGVydENpcmNsZU91dGxpbmUsXG4gICAgICBhcnJvd0JhY2tPdXRsaW5lLFxuICAgICAgYXJyb3dGb3J3YXJkT3V0bGluZSxcbiAgICAgIGFycm93RG93bk91dGxpbmUsXG4gICAgICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICAgICAgZWxsaXBzaXNIb3Jpem9udGFsT3V0bGluZSxcbiAgICAgIG5vdGlmaWNhdGlvbnNPdXRsaW5lLFxuICAgICAgb3Blbk91dGxpbmUsXG4gICAgICBjbG9zZU91dGxpbmUsXG4gICAgICBjaGF0YnViYmxlc091dGxpbmUsXG4gICAgICBzaGFyZU91dGxpbmUsXG4gICAgICBoZWFydCxcbiAgICAgIGhlYXJ0T3V0bGluZSxcbiAgICAgIGhvbWVPdXRsaW5lLFxuICAgICAgZXllT2ZmT3V0bGluZSxcbiAgICAgIGV5ZU91dGxpbmUsXG4gICAgICBzY2FuT3V0bGluZSxcbiAgICAgIGNoZXZyb25Eb3duT3V0bGluZSxcbiAgICAgIGNoZXZyb25Gb3J3YXJkT3V0bGluZSxcbiAgICAgIGNoZWNrbWFya091dGxpbmUsXG4gICAgICBjbGlwYm9hcmRPdXRsaW5lLFxuICAgICAgY29weU91dGxpbmUsXG4gICAgICBmaWx0ZXJPdXRsaW5lLFxuICAgICAgbG9jYXRpb25PdXRsaW5lLFxuICAgICAgY2FsZW5kYXJPdXRsaW5lLFxuICAgICAgYnVzaW5lc3NPdXRsaW5lLFxuICAgICAgbG9nb1R3aXR0ZXIsXG4gICAgICBsb2dvSW5zdGFncmFtLFxuICAgICAgbG9nb0xpbmtlZGluLFxuICAgICAgbG9nb1lvdXR1YmUsXG4gICAgICBsb2dvVGlrdG9rLFxuICAgICAgbG9nb0ZhY2Vib29rLFxuICAgICAgY3JlYXRlT3V0bGluZSxcbiAgICAgIHRyYXNoT3V0bGluZSxcbiAgICAgIHBsYXlPdXRsaW5lLFxuICAgICAgcmVmcmVzaE91dGxpbmUsXG4gICAgICBkb2N1bWVudFRleHRPdXRsaW5lLFxuICAgICAgbG9ja0Nsb3NlZE91dGxpbmUsXG4gICAgICBpbmZvcm1hdGlvbkNpcmNsZU91dGxpbmUsXG4gICAgICBsb2dvTnBtLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBRXpDOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixhQUFhLEVBQ2IsVUFBVSxFQUNWLGFBQWEsRUFDYixLQUFLLEVBQ0wsWUFBWSxFQUNaLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWixPQUFPLEVBQ1AsVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksR0FDYixNQUFNLGdCQUFnQixDQUFDOztBQUt4QixNQUFNLE9BQU8sV0FBVztJQUN0Qjs7T0FFRztJQUNIO1FBQ0UsUUFBUSxDQUFDO1lBQ1AsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixLQUFLO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsVUFBVTtZQUNWLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsVUFBVTtZQUNWLFlBQVk7WUFDWixhQUFhO1lBQ2IsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsT0FBTztZQUNQLGFBQWE7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5EVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVyc2NvcmUtZGFuZ2xlICovXG5cbi8qKlxuICogU2VydmljZSBmb3IgcmVnaXN0ZXJpbmcgYW5kIG1hbmFnaW5nIGN1c3RvbSBJb25pY29ucyBpY29ucyBpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBBdXRvbWF0aWNhbGx5IHJlZ2lzdGVycyBhIHNldCBvZiBjb21tb25seSB1c2VkIGljb25zIG9uIGluaXRpYWxpemF0aW9uLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgYWRkQ2lyY2xlT3V0bGluZSxcbiAgYWRkT3V0bGluZSxcbiAgYWxlcnRDaXJjbGVPdXRsaW5lLFxuICBhbGVydE91dGxpbmUsXG4gIGFycm93QmFja091dGxpbmUsXG4gIGFycm93RG93bk91dGxpbmUsXG4gIGFycm93Rm9yd2FyZE91dGxpbmUsXG4gIGJ1c2luZXNzT3V0bGluZSxcbiAgY2FsZW5kYXJPdXRsaW5lLFxuICBjaGF0YnViYmxlc091dGxpbmUsXG4gIGNoZWNrbWFya0NpcmNsZU91dGxpbmUsXG4gIGNoZWNrbWFya091dGxpbmUsXG4gIGNoZXZyb25Eb3duT3V0bGluZSxcbiAgY2hldnJvbkZvcndhcmRPdXRsaW5lLFxuICBjbGlwYm9hcmRPdXRsaW5lLFxuICBjbG9zZU91dGxpbmUsXG4gIGNvcHlPdXRsaW5lLFxuICBjcmVhdGVPdXRsaW5lLFxuICBkb2N1bWVudFRleHRPdXRsaW5lLFxuICBlbGxpcHNpc0hvcml6b250YWxPdXRsaW5lLFxuICBleWVPZmZPdXRsaW5lLFxuICBleWVPdXRsaW5lLFxuICBmaWx0ZXJPdXRsaW5lLFxuICBoZWFydCxcbiAgaGVhcnRPdXRsaW5lLFxuICBob21lT3V0bGluZSxcbiAgaW5mb3JtYXRpb25DaXJjbGVPdXRsaW5lLFxuICBsb2NhdGlvbk91dGxpbmUsXG4gIGxvY2tDbG9zZWRPdXRsaW5lLFxuICBsb2dvRmFjZWJvb2ssXG4gIGxvZ29JbnN0YWdyYW0sXG4gIGxvZ29MaW5rZWRpbixcbiAgbG9nb05wbSxcbiAgbG9nb1Rpa3RvayxcbiAgbG9nb1R3aXR0ZXIsXG4gIGxvZ29Zb3V0dWJlLFxuICBub3RpZmljYXRpb25zT3V0bGluZSxcbiAgb3Blbk91dGxpbmUsXG4gIHBsYXlPdXRsaW5lLFxuICByZWZyZXNoT3V0bGluZSxcbiAgcmVtb3ZlT3V0bGluZSxcbiAgc2Nhbk91dGxpbmUsXG4gIHNoYXJlT3V0bGluZSxcbiAgdHJhc2hPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uU2VydmljZSB7XG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBzZXQgb2YgSW9uaWNvbnMgaWNvbnMgZm9yIHVzZSB0aHJvdWdob3V0IHRoZSBhcHAuXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7XG4gICAgICBhZGRPdXRsaW5lLFxuICAgICAgYWRkQ2lyY2xlT3V0bGluZSxcbiAgICAgIGFsZXJ0T3V0bGluZSxcbiAgICAgIGFsZXJ0Q2lyY2xlT3V0bGluZSxcbiAgICAgIGFycm93QmFja091dGxpbmUsXG4gICAgICBhcnJvd0ZvcndhcmRPdXRsaW5lLFxuICAgICAgYXJyb3dEb3duT3V0bGluZSxcbiAgICAgIGNoZWNrbWFya0NpcmNsZU91dGxpbmUsXG4gICAgICBlbGxpcHNpc0hvcml6b250YWxPdXRsaW5lLFxuICAgICAgbm90aWZpY2F0aW9uc091dGxpbmUsXG4gICAgICBvcGVuT3V0bGluZSxcbiAgICAgIGNsb3NlT3V0bGluZSxcbiAgICAgIGNoYXRidWJibGVzT3V0bGluZSxcbiAgICAgIHNoYXJlT3V0bGluZSxcbiAgICAgIGhlYXJ0LFxuICAgICAgaGVhcnRPdXRsaW5lLFxuICAgICAgaG9tZU91dGxpbmUsXG4gICAgICBleWVPZmZPdXRsaW5lLFxuICAgICAgZXllT3V0bGluZSxcbiAgICAgIHNjYW5PdXRsaW5lLFxuICAgICAgY2hldnJvbkRvd25PdXRsaW5lLFxuICAgICAgY2hldnJvbkZvcndhcmRPdXRsaW5lLFxuICAgICAgY2hlY2ttYXJrT3V0bGluZSxcbiAgICAgIGNsaXBib2FyZE91dGxpbmUsXG4gICAgICBjb3B5T3V0bGluZSxcbiAgICAgIGZpbHRlck91dGxpbmUsXG4gICAgICBsb2NhdGlvbk91dGxpbmUsXG4gICAgICBjYWxlbmRhck91dGxpbmUsXG4gICAgICBidXNpbmVzc091dGxpbmUsXG4gICAgICBsb2dvVHdpdHRlcixcbiAgICAgIGxvZ29JbnN0YWdyYW0sXG4gICAgICBsb2dvTGlua2VkaW4sXG4gICAgICBsb2dvWW91dHViZSxcbiAgICAgIGxvZ29UaWt0b2ssXG4gICAgICBsb2dvRmFjZWJvb2ssXG4gICAgICBjcmVhdGVPdXRsaW5lLFxuICAgICAgdHJhc2hPdXRsaW5lLFxuICAgICAgcGxheU91dGxpbmUsXG4gICAgICByZWZyZXNoT3V0bGluZSxcbiAgICAgIGRvY3VtZW50VGV4dE91dGxpbmUsXG4gICAgICBsb2NrQ2xvc2VkT3V0bGluZSxcbiAgICAgIGluZm9ybWF0aW9uQ2lyY2xlT3V0bGluZSxcbiAgICAgIGxvZ29OcG0sXG4gICAgICByZW1vdmVPdXRsaW5lLFxuICAgIH0pO1xuICB9XG59XG4iXX0=