croco-html 2.40.0 → 2.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,22 @@
1
1
  ng build croco-html
2
2
  cd dist/croco-html
3
3
  npm publish
4
+
5
+ для работы логики спрайта нужно, чтобы в либе было:
6
+ 1. croco-html/src/lib/assets/svg-for-sprites - папка для хранения исходных иконок
7
+ 2. croco-html/src/lib/assets/sprites/symbol - папка, куда скрипт положит созданный спрайт (скрипт может этот путь сам создать)
8
+ 3. croco-html/src/lib/tools/build-sprites.js - сам скрипт с логикой
9
+ 3.1 часть логики из скрипта (про путь, по которому нужно положить скрипт в dist) можно заменить следующим кодом в croco-html/ng-package.json (в зависимости от того, какие пути нужны):
10
+ "assets": [
11
+ "shared/sprites"
12
+ ]
13
+ 4. в контейнер-проект в angular.json нужно добавить внутрь "assets" следующий код:
14
+ {
15
+ "glob": "**/*",
16
+ "input": "node_modules/croco-html/lib/assets/sprites/",
17
+ "output": "/assets/sprites/"
18
+ }
19
+ ps: нужно быть предельно внимательным к прописываемым путям!
20
+
21
+
22
+
@@ -11,6 +11,7 @@ import { MatTabsModule } from '@angular/material/tabs';
11
11
  import { HtmlViewComponent } from "../../html-view/html-view.component";
12
12
  import { MatIcon } from "@angular/material/icon";
13
13
  import { NgTemplateOutlet } from "@angular/common";
14
+ import { SpriteIconPathPipe } from "../../../pipes/sprite-icon-path.pipe";
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "ngx-clipboard";
16
17
  import * as i2 from "@angular/material/snack-bar";
@@ -59,7 +60,7 @@ export class MainEditorComponent {
59
60
  this.visualEditor.recalculateBodyTags();
60
61
  }
61
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorComponent, deps: [{ token: i1.ClipboardService }, { token: i2.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorComponent, isStandalone: true, selector: "croco-html-main-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged" }, viewQueries: [{ propertyName: "visualEditor", first: true, predicate: ["visualEditor"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\" viewBox=\"0 0 32 26\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.75 13.285C13.065 13.6 13.57 13.6 13.88 13.285L14.445 12.72C14.76 12.405 14.76 11.9 14.445 11.59L12.665 9.80001L14.45 8.01501C14.765 7.70001 14.765 7.19501 14.45 6.88501L13.885 6.32001C13.57 6.00501 13.065 6.00501 12.755 6.32001L9.84 9.23501C9.525 9.55001 9.525 10.055 9.84 10.365L12.76 13.28L12.75 13.285ZM17.55 12.72L18.115 13.285C18.43 13.6 18.935 13.6 19.245 13.285L22.16 10.37C22.475 10.055 22.475 9.55001 22.16 9.24001L19.245 6.32501C18.93 6.01001 18.425 6.01001 18.115 6.32501L17.55 6.89001C17.235 7.20501 17.235 7.71001 17.55 8.02001L19.34 9.80001L17.555 11.585C17.24 11.9 17.24 12.405 17.555 12.715L17.55 12.72ZM31.2 21H19.075C19.04 21.99 18.34 22.6 17.44 22.6H14.4C13.465 22.6 12.75 21.725 12.76 21H0.8C0.36 21 0 21.36 0 21.8V22.6C0 24.36 1.44 25.8 3.2 25.8H28.8C30.56 25.8 32 24.36 32 22.6V21.8C32 21.36 31.64 21 31.2 21ZM28.8 2.60001C28.8 1.28001 27.72 0.200012 26.4 0.200012H5.6C4.28 0.200012 3.2 1.28001 3.2 2.60001V19.4H28.8V2.60001ZM25.6 16.2H6.4V3.40001H25.6V16.2Z\"/>\n <rect width=\"32\" height=\"25.6\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"30\" height=\"24\" viewBox=\"0 0 30 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13.0746 23.9757L10.2152 23.146C9.91523 23.0617 9.74648 22.7476 9.83086 22.4476L16.2293 0.406986C16.3137 0.106985 16.6277 -0.0617645 16.9277 0.0226105L19.7871 0.852298C20.0871 0.936673 20.2559 1.25074 20.1715 1.55074L13.773 23.5914C13.684 23.8914 13.3746 24.0648 13.0746 23.9757ZM7.73086 18.7164L9.76992 16.5414C9.98555 16.3117 9.97148 15.946 9.73242 15.7351L5.48555 11.9992L9.73242 8.26324C9.97148 8.0523 9.99023 7.68667 9.76992 7.45699L7.73086 5.28199C7.51992 5.05699 7.16367 5.04292 6.93398 5.25855L0.179297 11.5867C-0.0597656 11.807 -0.0597656 12.1867 0.179297 12.407L6.93398 18.7398C7.16367 18.9554 7.51992 18.946 7.73086 18.7164ZM23.0684 18.7445L29.823 12.4117C30.0621 12.1914 30.0621 11.8117 29.823 11.5914L23.0684 5.25386C22.8434 5.04292 22.4871 5.0523 22.2715 5.2773L20.2324 7.4523C20.0168 7.68199 20.0309 8.04761 20.2699 8.25855L24.5168 11.9992L20.2699 15.7351C20.0309 15.946 20.0121 16.3117 20.2324 16.5414L22.2715 18.7164C22.4824 18.946 22.8387 18.9554 23.0684 18.7445Z\"/>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: ["showMarkUp", "useHtmlRaw", "html"], outputs: ["html", "onHtmlChanged", "rendered"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: HtmlViewComponent, selector: "croco-html-view", inputs: ["html"] }] }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorComponent, isStandalone: true, selector: "croco-html-main-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged" }, viewQueries: [{ propertyName: "visualEditor", first: true, predicate: ["visualEditor"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: ["showMarkUp", "useHtmlRaw", "html"], outputs: ["html", "onHtmlChanged", "rendered"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: HtmlViewComponent, selector: "croco-html-view", inputs: ["html"] }, { kind: "pipe", type: SpriteIconPathPipe, name: "spriteIconPath" }] }); }
63
64
  }
64
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorComponent, decorators: [{
65
66
  type: Component,
@@ -76,8 +77,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
76
77
  XmlTagViewComponent,
77
78
  HtmlViewComponent,
78
79
  MatIcon,
79
- NgTemplateOutlet
80
- ], template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\" viewBox=\"0 0 32 26\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.75 13.285C13.065 13.6 13.57 13.6 13.88 13.285L14.445 12.72C14.76 12.405 14.76 11.9 14.445 11.59L12.665 9.80001L14.45 8.01501C14.765 7.70001 14.765 7.19501 14.45 6.88501L13.885 6.32001C13.57 6.00501 13.065 6.00501 12.755 6.32001L9.84 9.23501C9.525 9.55001 9.525 10.055 9.84 10.365L12.76 13.28L12.75 13.285ZM17.55 12.72L18.115 13.285C18.43 13.6 18.935 13.6 19.245 13.285L22.16 10.37C22.475 10.055 22.475 9.55001 22.16 9.24001L19.245 6.32501C18.93 6.01001 18.425 6.01001 18.115 6.32501L17.55 6.89001C17.235 7.20501 17.235 7.71001 17.55 8.02001L19.34 9.80001L17.555 11.585C17.24 11.9 17.24 12.405 17.555 12.715L17.55 12.72ZM31.2 21H19.075C19.04 21.99 18.34 22.6 17.44 22.6H14.4C13.465 22.6 12.75 21.725 12.76 21H0.8C0.36 21 0 21.36 0 21.8V22.6C0 24.36 1.44 25.8 3.2 25.8H28.8C30.56 25.8 32 24.36 32 22.6V21.8C32 21.36 31.64 21 31.2 21ZM28.8 2.60001C28.8 1.28001 27.72 0.200012 26.4 0.200012H5.6C4.28 0.200012 3.2 1.28001 3.2 2.60001V19.4H28.8V2.60001ZM25.6 16.2H6.4V3.40001H25.6V16.2Z\"/>\n <rect width=\"32\" height=\"25.6\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"30\" height=\"24\" viewBox=\"0 0 30 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M13.0746 23.9757L10.2152 23.146C9.91523 23.0617 9.74648 22.7476 9.83086 22.4476L16.2293 0.406986C16.3137 0.106985 16.6277 -0.0617645 16.9277 0.0226105L19.7871 0.852298C20.0871 0.936673 20.2559 1.25074 20.1715 1.55074L13.773 23.5914C13.684 23.8914 13.3746 24.0648 13.0746 23.9757ZM7.73086 18.7164L9.76992 16.5414C9.98555 16.3117 9.97148 15.946 9.73242 15.7351L5.48555 11.9992L9.73242 8.26324C9.97148 8.0523 9.99023 7.68667 9.76992 7.45699L7.73086 5.28199C7.51992 5.05699 7.16367 5.04292 6.93398 5.25855L0.179297 11.5867C-0.0597656 11.807 -0.0597656 12.1867 0.179297 12.407L6.93398 18.7398C7.16367 18.9554 7.51992 18.946 7.73086 18.7164ZM23.0684 18.7445L29.823 12.4117C30.0621 12.1914 30.0621 11.8117 29.823 11.5914L23.0684 5.25386C22.8434 5.04292 22.4871 5.0523 22.2715 5.2773L20.2324 7.4523C20.0168 7.68199 20.0309 8.04761 20.2699 8.25855L24.5168 11.9992L20.2699 15.7351C20.0309 15.946 20.0121 16.3117 20.2324 16.5414L22.2715 18.7164C22.4824 18.946 22.8387 18.9554 23.0684 18.7445Z\"/>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
80
+ NgTemplateOutlet,
81
+ SpriteIconPathPipe
82
+ ], template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
81
83
  }], ctorParameters: () => [{ type: i1.ClipboardService }, { type: i2.MatSnackBar }, { type: i0.ChangeDetectorRef }], propDecorators: { visualEditor: [{
82
84
  type: ViewChild,
83
85
  args: ["visualEditor", { static: true }]
@@ -92,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
92
94
  }], onHtmlChanged: [{
93
95
  type: Output
94
96
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yL21haW4tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci9tYWluLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlELFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMs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aGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XG5pbXBvcnQgeyBWaXN1YWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi92aXN1YWwtZWRpdG9yL3Zpc3VhbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFhtbFRhZ1ZpZXdDb21wb25lbnQgfSBmcm9tICcuLi8uLi94bWwtdGFncy94bWwtdGFnLXZpZXcveG1sLXRhZy12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDZGtUZXh0YXJlYUF1dG9zaXplIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBIdG1sVmlld0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9odG1sLXZpZXcvaHRtbC12aWV3LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHtOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3JvY28taHRtbC1tYWluLWVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21haW4tZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tYWluLWVkaXRvci5jb21wb25lbnQuY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgVmlzdWFsRWRpdG9yQ29tcG9uZW50LFxuICAgIE1hdEZvcm1GaWVsZCxcbiAgICBNYXRMYWJlbCxcbiAgICBNYXRJbnB1dCxcbiAgICBDZGtUZXh0YXJlYUF1dG9zaXplLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbixcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIFhtbFRhZ1ZpZXdDb21wb25lbnQsXG4gICAgSHRtbFZpZXdDb21wb25lbnQsXG4gICAgTWF0SWNvbixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbkVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgdmlzdWFsRWRpdG9yUmVuZGVyZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidmlzdWFsRWRpdG9yXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHZpc3VhbEVkaXRvcjogVmlzdWFsRWRpdG9yQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHNob3dNYXJrVXAgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHVzZUh0bWxSYXcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBAT3V0cHV0KClcbiAgaHRtbDogc3RyaW5nID0gXCJcIjtcblxuICBAT3V0cHV0KClcbiAgb25IdG1sQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgX2NkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2NkcmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpe1xuICAgIHRoaXMudmlzdWFsRWRpdG9yUmVuZGVyZWQgPSB0cnVlO1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgb25IdG1sQ2hhbmdlZEhhbmRsZXIoaHRtbDogc3RyaW5nKSB7XG4gICAgdGhpcy5odG1sID0gaHRtbDtcbiAgICB0aGlzLm9uSHRtbENoYW5nZWQuZW1pdChodG1sKTtcbiAgfVxuXG4gIHRleHRBcmVhTW9kZWxDaGFuZ2VkSGFuZGxlcigpe1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICAgIHRoaXMub25IdG1sQ2hhbmdlZEhhbmRsZXIodGhpcy5odG1sKTtcbiAgfVxuXG4gIHJlY2FsY3VsYXRlQm9keVRhZ3MoKSB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IuaHRtbCA9IHRoaXMuaHRtbDtcbiAgICB0aGlzLnZpc3VhbEVkaXRvci5yZWNhbGN1bGF0ZUJvZHlUYWdzKCk7XG4gICAgdGhpcy5fY2RyZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjb3B5TWFya1VwKCkge1xuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW4oXCLQoNCw0LfQvNC10YLQutCwINGB0LrQvtC/0LjRgNC+0LLQsNC90LAg0LIg0LHRg9GE0LXRgCDQvtCx0LzQtdC90LBcIiwgXCLQl9Cw0LrRgNGL0YLRjFwiLCB7IGR1cmF0aW9uOiAxNTAwIH0pO1xuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weSh0aGlzLmh0bWwpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzPVwiZmFsc2VcIiBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCI+XG4gIDxtYXQtdGFiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgPHN2ZyBjbGFzcz1cImN1c3RvbS1pY29uXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAzMiAyNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTEyLjc1IDEzLjI4NUMxMy4wNjUgMTMuNiAxMy41NyAxMy42IDEzLjg4IDEzLjI4NUwxNC40NDUgMTIuNzJDMTQuNzYgMTIuNDA1IDE0Ljc2IDExLjkgMTQuNDQ1IDExLjU5TDEyLjY2NSA5LjgwMDAxTDE0LjQ1IDguMDE1MDFDMTQuNzY1IDcuNzAwMDEgMTQuNzY1IDcuMTk1MDEgMTQuNDUgNi44ODUwMUwxMy44ODUgNi4zMjAwMUMxMy41NyA2LjAwNTAxIDEzLjA2NSA2LjAwNTAxIDEyLjc1NSA2LjMyMDAxTDkuODQgOS4yMzUwMUM5LjUyNSA5LjU1MDAxIDkuNTI1IDEwLjA1NSA5Ljg0IDEwLjM2NUwxMi43NiAxMy4yOEwxMi43NSAxMy4yODVaTTE3LjU1IDEyLjcyTDE4LjExNSAxMy4yODVDMTguNDMgMTMuNiAxOC45MzUgMTMuNiAxOS4yNDUgMTMuMjg1TDIyLjE2IDEwLjM3QzIyLjQ3NSAxMC4wNTUgMjIuNDc1IDkuNTUwMDEgMjIuMTYgOS4yNDAwMUwxOS4yNDUgNi4zMjUwMUMxOC45MyA2LjAxMDAxIDE4LjQyNSA2LjAxMDAxIDE4LjExNSA2LjMyNTAxTDE3LjU1IDYuODkwMDFDMTcuMjM1IDcuMjA1MDEgMTcuMjM1IDcuNzEwMDEgMTcuNTUgOC4wMjAwMUwxOS4zNCA5LjgwMDAxTDE3LjU1NSAxMS41ODVDMTcuMjQgMTEuOSAxNy4yNCAxMi40MDUgMTcuNTU1IDEyLjcxNUwxNy41NSAxMi43MlpNMzEuMiAyMUgxOS4wNzVDMTkuMDQgMjEuOTkgMTguMzQgMjIuNiAxNy40NCAyMi42SDE0LjRDMTMuNDY1IDIyLjYgMTIuNzUgMjEuNzI1IDEyLjc2IDIxSDAuOEMwLjM2IDIxIDAgMjEuMzYgMCAyMS44VjIyLjZDMCAyNC4zNiAxLjQ0IDI1LjggMy4yIDI1LjhIMjguOEMzMC41NiAyNS44IDMyIDI0LjM2IDMyIDIyLjZWMjEuOEMzMiAyMS4zNiAzMS42NCAyMSAzMS4yIDIxWk0yOC44IDIuNjAwMDFDMjguOCAxLjI4MDAxIDI3LjcyIDAuMjAwMDEyIDI2LjQgMC4yMDAwMTJINS42QzQuMjggMC4yMDAwMTIgMy4yIDEuMjgwMDEgMy4yIDIuNjAwMDFWMTkuNEgyOC44VjIuNjAwMDFaTTI1LjYgMTYuMkg2LjRWMy40MDAwMUgyNS42VjE2LjJaXCIvPlxuICAgICAgICA8cmVjdCB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjUuNlwiIGZpbGw9XCJub25lXCIvPlxuICAgICAgPC9zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IDIwcHg7XCI+PC9kaXY+XG5cbiAgICA8Y3JvY28tdmlzdWFsLWVkaXRvciAjdmlzdWFsRWRpdG9yXG4gICAgICBbdXNlSHRtbFJhd109XCJ1c2VIdG1sUmF3XCJcbiAgICAgIFtodG1sXT1cImh0bWxcIlxuICAgICAgKG9uSHRtbENoYW5nZWQpPVwib25IdG1sQ2hhbmdlZEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAocmVuZGVyZWQpPVwidmlzdWFsRWRpdG9yUmVuZGVyZWRIYW5kbGVyKClcIj5cbiAgICA8L2Nyb2NvLXZpc3VhbC1lZGl0b3I+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPjwvZGl2PlxuXG4gIDwvbWF0LXRhYj5cblxuICA8bWF0LXRhYj5cbiAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgIDxzdmcgY2xhc3M9XCJjdXN0b20taWNvblwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzAgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xMy4wNzQ2IDIzLjk3NTdMMTAuMjE1MiAyMy4xNDZDOS45MTUyMyAyMy4wNjE3IDkuNzQ2NDggMjIuNzQ3NiA5LjgzMDg2IDIyLjQ0NzZMMTYuMjI5MyAwLjQwNjk4NkMxNi4zMTM3IDAuMTA2OTg1IDE2LjYyNzcgLTAuMDYxNzY0NSAxNi45Mjc3IDAuMDIyNjEwNUwxOS43ODcxIDAuODUyMjk4QzIwLjA4NzEgMC45MzY2NzMgMjAuMjU1OSAxLjI1MDc0IDIwLjE3MTUgMS41NTA3NEwxMy43NzMgMjMuNTkxNEMxMy42ODQgMjMuODkxNCAxMy4zNzQ2IDI0LjA2NDggMTMuMDc0NiAyMy45NzU3Wk03LjczMDg2IDE4LjcxNjRMOS43Njk5MiAxNi41NDE0QzkuOTg1NTUgMTYuMzExNyA5Ljk3MTQ4IDE1Ljk0NiA5LjczMjQyIDE1LjczNTFMNS40ODU1NSAxMS45OTkyTDkuNzMyNDIgOC4yNjMyNEM5Ljk3MTQ4IDguMDUyMyA5Ljk5MDIzIDcuNjg2NjcgOS43Njk5MiA3LjQ1Njk5TDcuNzMwODYgNS4yODE5OUM3LjUxOTkyIDUuMDU2OTkgNy4xNjM2NyA1LjA0MjkyIDYuOTMzOTggNS4yNTg1NUwwLjE3OTI5NyAxMS41ODY3Qy0wLjA1OTc2NTYgMTEuODA3IC0wLjA1OTc2NTYgMTIuMTg2NyAwLjE3OTI5NyAxMi40MDdMNi45MzM5OCAxOC43Mzk4QzcuMTYzNjcgMTguOTU1NCA3LjUxOTkyIDE4Ljk0NiA3LjczMDg2IDE4LjcxNjRaTTIzLjA2ODQgMTguNzQ0NUwyOS44MjMgMTIuNDExN0MzMC4wNjIxIDEyLjE5MTQgMzAuMDYyMSAxMS44MTE3IDI5LjgyMyAxMS41OTE0TDIzLjA2ODQgNS4yNTM4NkMyMi44NDM0IDUuMDQyOTIgMjIuNDg3MSA1LjA1MjMgMjIuMjcxNSA1LjI3NzNMMjAuMjMyNCA3LjQ1MjNDMjAuMDE2OCA3LjY4MTk5IDIwLjAzMDkgOC4wNDc2MSAyMC4yNjk5IDguMjU4NTVMMjQuNTE2OCAxMS45OTkyTDIwLjI2OTkgMTUuNzM1MUMyMC4wMzA5IDE1Ljk0NiAyMC4wMTIxIDE2LjMxMTcgMjAuMjMyNCAxNi41NDE0TDIyLjI3MTUgMTguNzE2NEMyMi40ODI0IDE4Ljk0NiAyMi44Mzg3IDE4Ljk1NTQgMjMuMDY4NCAxOC43NDQ1WlwiLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIEBpZiAodmlzdWFsRWRpdG9yUmVuZGVyZWQpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD7QmNGB0YXQvtC00L3Ri9C5INC60L7QtDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBjZGtUZXh0YXJlYUF1dG9zaXplICNhdXRvc2l6ZT1cImNka1RleHRhcmVhQXV0b3NpemVcIlxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCY0YHRhdC+0LTQvdGL0Lkg0LrQvtC0XCIgWyhuZ01vZGVsKV09XCJodG1sXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0ZXh0QXJlYU1vZGVsQ2hhbmdlZEhhbmRsZXIoKVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjb3B5TWFya1VwKClcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICDQmtC+0L/QuNGA0L7QstCw0YLRjCDRgNCw0LfQvNC10YLQutGDXG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMyIDMwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzEuODA4MSAxNC4xODg5QzI4Ljc5NyA4LjMxMTA5IDIyLjgzMDMgNC4zMzMzMSAxNi4wMDI2IDQuMzMzMzFDOS4xNzQ3OSA0LjMzMzMxIDMuMjA4MTMgOC4zMTEwOSAwLjE5NzAxNSAxNC4xODg5QzAuMDcwMDUwMyAxNC40NDA0IDAuMDAzOTA2MjUgMTQuNzE4MiAwLjAwMzkwNjI1IDE1QzAuMDAzOTA2MjUgMTUuMjgxNyAwLjA3MDA1MDMgMTUuNTU5NiAwLjE5NzAxNSAxNS44MTExQzMuMjA4MTMgMjEuNjg4OSA5LjE3NDc5IDI1LjY2NjYgMTYuMDAyNiAyNS42NjY2QzIyLjgzMDMgMjUuNjY2NiAyOC43OTcgMjEuNjg4OSAzMS44MDgxIDE1LjgxMTFDMzEuOTM1MSAxNS41NTk2IDMyLjAwMTIgMTUuMjgxNyAzMi4wMDEyIDE1QzMyLjAwMTIgMTQuNzE4MiAzMS45MzUxIDE0LjQ0MDQgMzEuODA4MSAxNC4xODg5Wk0xNi4wMDI2IDIzQzE0LjQyMDMgMjMgMTIuODczNiAyMi41MzA4IDExLjU1OCAyMS42NTE3QzEwLjI0MjQgMjAuNzcyNyA5LjIxNzA0IDE5LjUyMzMgOC42MTE1NCAxOC4wNjE0QzguMDA2MDMgMTYuNTk5NiA3Ljg0NzYxIDE0Ljk5MTEgOC4xNTYyOSAxMy40MzkzQzguNDY0OTcgMTEuODg3NCA5LjIyNjkgMTAuNDYxOSAxMC4zNDU3IDkuMzQzMTNDMTEuNDY0NSA4LjIyNDMxIDEyLjg5IDcuNDYyMzggMTQuNDQxOCA3LjE1MzdDMTUuOTkzNyA2Ljg0NTAyIDE3LjYwMjIgNy4wMDM0NCAxOS4wNjQgNy42MDg5NEMyMC41MjU4IDguMjE0NDQgMjEuNzc1MyA5LjIzOTgyIDIyLjY1NDMgMTAuNTU1NEMyMy41MzM0IDExLjg3MSAyNC4wMDI2IDEzLjQxNzcgMjQuMDAyNiAxNUMyNC4wMDMzIDE2LjA1MDggMjMuNzk2OSAxNy4wOTE0IDIzLjM5NTEgMTguMDYyM0MyMi45OTMzIDE5LjAzMzIgMjIuNDA0MSAxOS45MTU0IDIxLjY2MTEgMjAuNjU4NUMyMC45MTggMjEuNDAxNSAyMC4wMzU4IDIxLjk5MDcgMTkuMDY0OSAyMi4zOTI1QzE4LjA5NCAyMi43OTQzIDE3LjA1MzQgMjMuMDAwNyAxNi4wMDI2IDIzWk0xNi4wMDI2IDkuNjY2NjVDMTUuNTI2NyA5LjY3MzUyIDE1LjA1MzkgOS43NDQ1MyAxNC41OTcgOS44Nzc3NkMxNC45Njg5IDEwLjM5MDQgMTUuMTQ1OSAxMS4wMTg4IDE1LjA5NiAxMS42NTAyQzE1LjA0NjEgMTIuMjgxNSAxNC43NzI2IDEyLjg3NDQgMTQuMzI0OCAxMy4zMjIyQzEzLjg3NyAxMy43NzAxIDEzLjI4NDEgMTQuMDQzNSAxMi42NTI4IDE0LjA5MzRDMTIuMDIxNCAxNC4xNDMzIDExLjM5MyAxMy45NjY0IDEwLjg4MDMgMTMuNTk0NEMxMC41ODg2IDE0LjY2ODkgMTAuNjQxMyAxNS44MDc5IDExLjAzMDggMTYuODUwOUMxMS40MjAzIDE3Ljg5MzkgMTIuMTI3MSAxOC43ODg1IDEzLjA1MTggMTkuNDA4OEMxMy45NzY0IDIwLjAyOSAxNS4wNzIzIDIwLjM0MzYgMTYuMTg1MSAyMC4zMDg0QzE3LjI5NzkgMjAuMjczMiAxOC4zNzE3IDE5Ljg4OTggMTkuMjU1MiAxOS4yMTIzQzIwLjEzODggMTguNTM0OCAyMC43ODc2IDE3LjU5NzMgMjEuMTEwMyAxNi41MzE3QzIxLjQzMzEgMTUuNDY2MSAyMS40MTM1IDE0LjMyNjEgMjEuMDU0NCAxMy4yNzIyQzIwLjY5NTMgMTIuMjE4MyAyMC4wMTQ3IDExLjMwMzYgMTkuMTA4NSAxMC42NTY4QzE4LjIwMjIgMTAuMDEgMTcuMTE2IDkuNjYzNyAxNi4wMDI2IDkuNjY2NjVaXCIvPlxuICAgICAgICA8cmVjdCB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjguNDQ0NFwiIGZpbGw9XCJub25lXCIvPlxuICAgICAgPC9zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gICAgPG1hdC1jYXJkIHN0eWxlPVwicGFkZGluZzogMnB4O1wiIGNsYXNzPVwibWF0LWNhcmRcIj5cbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8Y3JvY28taHRtbC12aWV3IFtodG1sXT1cImh0bWxcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLXZpZXc+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yL21haW4tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci9tYWluLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlELFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMs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WixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xuaW1wb3J0IHsgVmlzdWFsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlzdWFsLWVkaXRvci92aXN1YWwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYbWxUYWdWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4veG1sLXRhZ3MveG1sLXRhZy12aWV3L3htbC10YWctdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2RrVGV4dGFyZWFBdXRvc2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgSHRtbFZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vaHRtbC12aWV3L2h0bWwtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtTcHJpdGVJY29uUGF0aFBpcGV9IGZyb20gXCIuLi8uLi8uLi9waXBlcy9zcHJpdGUtaWNvbi1wYXRoLnBpcGVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjcm9jby1odG1sLW1haW4tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21haW4tZWRpdG9yLmNvbXBvbmVudC5jc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBWaXN1YWxFZGl0b3JDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdExhYmVsLFxuICAgIE1hdElucHV0LFxuICAgIENka1RleHRhcmVhQXV0b3NpemUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgWG1sVGFnVmlld0NvbXBvbmVudCxcbiAgICBIdG1sVmlld0NvbXBvbmVudCxcbiAgICBNYXRJY29uLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgU3ByaXRlSWNvblBhdGhQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbkVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgdmlzdWFsRWRpdG9yUmVuZGVyZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidmlzdWFsRWRpdG9yXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHZpc3VhbEVkaXRvcjogVmlzdWFsRWRpdG9yQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHNob3dNYXJrVXAgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHVzZUh0bWxSYXcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBAT3V0cHV0KClcbiAgaHRtbDogc3RyaW5nID0gXCJcIjtcblxuICBAT3V0cHV0KClcbiAgb25IdG1sQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgX2NkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2NkcmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpe1xuICAgIHRoaXMudmlzdWFsRWRpdG9yUmVuZGVyZWQgPSB0cnVlO1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgb25IdG1sQ2hhbmdlZEhhbmRsZXIoaHRtbDogc3RyaW5nKSB7XG4gICAgdGhpcy5odG1sID0gaHRtbDtcbiAgICB0aGlzLm9uSHRtbENoYW5nZWQuZW1pdChodG1sKTtcbiAgfVxuXG4gIHRleHRBcmVhTW9kZWxDaGFuZ2VkSGFuZGxlcigpe1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICAgIHRoaXMub25IdG1sQ2hhbmdlZEhhbmRsZXIodGhpcy5odG1sKTtcbiAgfVxuXG4gIHJlY2FsY3VsYXRlQm9keVRhZ3MoKSB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IuaHRtbCA9IHRoaXMuaHRtbDtcbiAgICB0aGlzLnZpc3VhbEVkaXRvci5yZWNhbGN1bGF0ZUJvZHlUYWdzKCk7XG4gICAgdGhpcy5fY2RyZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjb3B5TWFya1VwKCkge1xuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW4oXCLQoNCw0LfQvNC10YLQutCwINGB0LrQvtC/0LjRgNC+0LLQsNC90LAg0LIg0LHRg9GE0LXRgCDQvtCx0LzQtdC90LBcIiwgXCLQl9Cw0LrRgNGL0YLRjFwiLCB7IGR1cmF0aW9uOiAxNTAwIH0pO1xuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weSh0aGlzLmh0bWwpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzPVwiZmFsc2VcIiBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCI+XG4gIDxtYXQtdGFiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgPHN2ZyBjbGFzcz1cImN1c3RvbS1pY29uXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI2XCI+XG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCIndmlzdWFsLWVkaXRvci10YWInIHwgc3ByaXRlSWNvblBhdGhcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPjwvZGl2PlxuXG4gICAgPGNyb2NvLXZpc3VhbC1lZGl0b3IgI3Zpc3VhbEVkaXRvclxuICAgICAgW3VzZUh0bWxSYXddPVwidXNlSHRtbFJhd1wiXG4gICAgICBbaHRtbF09XCJodG1sXCJcbiAgICAgIChvbkh0bWxDaGFuZ2VkKT1cIm9uSHRtbENoYW5nZWRIYW5kbGVyKCRldmVudClcIlxuICAgICAgKHJlbmRlcmVkKT1cInZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpXCI+XG4gICAgPC9jcm9jby12aXN1YWwtZWRpdG9yPlxuXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMjBweDtcIj48L2Rpdj5cblxuICA8L21hdC10YWI+XG5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjZcIj5cbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIidzb3VyY2UtY29kZS10YWInIHwgc3ByaXRlSWNvblBhdGhcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIEBpZiAodmlzdWFsRWRpdG9yUmVuZGVyZWQpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD7QmNGB0YXQvtC00L3Ri9C5INC60L7QtDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBjZGtUZXh0YXJlYUF1dG9zaXplICNhdXRvc2l6ZT1cImNka1RleHRhcmVhQXV0b3NpemVcIlxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCY0YHRhdC+0LTQvdGL0Lkg0LrQvtC0XCIgWyhuZ01vZGVsKV09XCJodG1sXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0ZXh0QXJlYU1vZGVsQ2hhbmdlZEhhbmRsZXIoKVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjb3B5TWFya1VwKClcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICDQmtC+0L/QuNGA0L7QstCw0YLRjCDRgNCw0LfQvNC10YLQutGDXG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMyIDMwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzEuODA4MSAxNC4xODg5QzI4Ljc5NyA4LjMxMTA5IDIyLjgzMDMgNC4zMzMzMSAxNi4wMDI2IDQuMzMzMzFDOS4xNzQ3OSA0LjMzMzMxIDMuMjA4MTMgOC4zMTEwOSAwLjE5NzAxNSAxNC4xODg5QzAuMDcwMDUwMyAxNC40NDA0IDAuMDAzOTA2MjUgMTQuNzE4MiAwLjAwMzkwNjI1IDE1QzAuMDAzOTA2MjUgMTUuMjgxNyAwLjA3MDA1MDMgMTUuNTU5NiAwLjE5NzAxNSAxNS44MTExQzMuMjA4MTMgMjEuNjg4OSA5LjE3NDc5IDI1LjY2NjYgMTYuMDAyNiAyNS42NjY2QzIyLjgzMDMgMjUuNjY2NiAyOC43OTcgMjEuNjg4OSAzMS44MDgxIDE1LjgxMTFDMzEuOTM1MSAxNS41NTk2IDMyLjAwMTIgMTUuMjgxNyAzMi4wMDEyIDE1QzMyLjAwMTIgMTQuNzE4MiAzMS45MzUxIDE0LjQ0MDQgMzEuODA4MSAxNC4xODg5Wk0xNi4wMDI2IDIzQzE0LjQyMDMgMjMgMTIuODczNiAyMi41MzA4IDExLjU1OCAyMS42NTE3QzEwLjI0MjQgMjAuNzcyNyA5LjIxNzA0IDE5LjUyMzMgOC42MTE1NCAxOC4wNjE0QzguMDA2MDMgMTYuNTk5NiA3Ljg0NzYxIDE0Ljk5MTEgOC4xNTYyOSAxMy40MzkzQzguNDY0OTcgMTEuODg3NCA5LjIyNjkgMTAuNDYxOSAxMC4zNDU3IDkuMzQzMTNDMTEuNDY0NSA4LjIyNDMxIDEyLjg5IDcuNDYyMzggMTQuNDQxOCA3LjE1MzdDMTUuOTkzNyA2Ljg0NTAyIDE3LjYwMjIgNy4wMDM0NCAxOS4wNjQgNy42MDg5NEMyMC41MjU4IDguMjE0NDQgMjEuNzc1MyA5LjIzOTgyIDIyLjY1NDMgMTAuNTU1NEMyMy41MzM0IDExLjg3MSAyNC4wMDI2IDEzLjQxNzcgMjQuMDAyNiAxNUMyNC4wMDMzIDE2LjA1MDggMjMuNzk2OSAxNy4wOTE0IDIzLjM5NTEgMTguMDYyM0MyMi45OTMzIDE5LjAzMzIgMjIuNDA0MSAxOS45MTU0IDIxLjY2MTEgMjAuNjU4NUMyMC45MTggMjEuNDAxNSAyMC4wMzU4IDIxLjk5MDcgMTkuMDY0OSAyMi4zOTI1QzE4LjA5NCAyMi43OTQzIDE3LjA1MzQgMjMuMDAwNyAxNi4wMDI2IDIzWk0xNi4wMDI2IDkuNjY2NjVDMTUuNTI2NyA5LjY3MzUyIDE1LjA1MzkgOS43NDQ1MyAxNC41OTcgOS44Nzc3NkMxNC45Njg5IDEwLjM5MDQgMTUuMTQ1OSAxMS4wMTg4IDE1LjA5NiAxMS42NTAyQzE1LjA0NjEgMTIuMjgxNSAxNC43NzI2IDEyLjg3NDQgMTQuMzI0OCAxMy4zMjIyQzEzLjg3NyAxMy43NzAxIDEzLjI4NDEgMTQuMDQzNSAxMi42NTI4IDE0LjA5MzRDMTIuMDIxNCAxNC4xNDMzIDExLjM5MyAxMy45NjY0IDEwLjg4MDMgMTMuNTk0NEMxMC41ODg2IDE0LjY2ODkgMTAuNjQxMyAxNS44MDc5IDExLjAzMDggMTYuODUwOUMxMS40MjAzIDE3Ljg5MzkgMTIuMTI3MSAxOC43ODg1IDEzLjA1MTggMTkuNDA4OEMxMy45NzY0IDIwLjAyOSAxNS4wNzIzIDIwLjM0MzYgMTYuMTg1MSAyMC4zMDg0QzE3LjI5NzkgMjAuMjczMiAxOC4zNzE3IDE5Ljg4OTggMTkuMjU1MiAxOS4yMTIzQzIwLjEzODggMTguNTM0OCAyMC43ODc2IDE3LjU5NzMgMjEuMTEwMyAxNi41MzE3QzIxLjQzMzEgMTUuNDY2MSAyMS40MTM1IDE0LjMyNjEgMjEuMDU0NCAxMy4yNzIyQzIwLjY5NTMgMTIuMjE4MyAyMC4wMTQ3IDExLjMwMzYgMTkuMTA4NSAxMC42NTY4QzE4LjIwMjIgMTAuMDEgMTcuMTE2IDkuNjYzNyAxNi4wMDI2IDkuNjY2NjVaXCIvPlxuICAgICAgICA8cmVjdCB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjguNDQ0NFwiIGZpbGw9XCJub25lXCIvPlxuICAgICAgPC9zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gICAgPG1hdC1jYXJkIHN0eWxlPVwicGFkZGluZzogMnB4O1wiIGNsYXNzPVwibWF0LWNhcmRcIj5cbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8Y3JvY28taHRtbC12aWV3IFtodG1sXT1cImh0bWxcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLXZpZXc+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19
@@ -28,7 +28,7 @@ export class MainEditorBlockComponent {
28
28
  ngOnInit() {
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorBlockComponent, isStandalone: true, selector: "croco-html-main-editor-block", inputs: { tag: "tag" }, outputs: { onTagSaved: "onTagSaved", onTagRemoved: "onTagRemoved" }, ngImport: i0, template: "<div class=\"main-editor-block\">\n <div class=\"editor-container\">\n @if (textTags.includes(tag.tagDescription.tag)) {\n <div>\n <croco-html-text-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-text-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'file-image') {\n <div>\n <croco-html-image-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-image-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'custom-widget') {\n <div>\n <croco-html-custom-widget-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-custom-widget-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'external-video') {\n <div>\n <croco-html-external-video-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-external-video-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'download-file-button') {\n <div>\n <croco-html-download-file-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-download-file-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'button') {\n <div>\n <croco-html-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'html-raw') {\n <div>\n <croco-html-html-raw-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-html-raw-editor>\n </div>\n }\n\n </div>\n\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex justify-content-end align-self-center\">\n <div style=\"margin-left: 16px\">\n @if (tag.presentOrEdit) {\n <button (click)=\"tag.presentOrEdit = false\" mat-icon-button>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.4374 0C15.0921 0 15.7197 0.261421 16.1781 0.723424L19.279 3.82432C19.7407 4.286 20.0001 4.91217 20.0001 5.56508C20.0001 6.21799 19.7407 6.84416 19.279 7.30584L7.95751 18.6238C7.25903 19.4295 6.2689 19.9245 5.1346 20.0023H0V19.0023L0.00324754 14.7873C0.0884381 13.7328 0.578667 12.7523 1.3265 12.0934L12.6954 0.72463C13.1564 0.260831 13.7834 0 14.4374 0ZM5.06401 18.0048C5.59823 17.967 6.09551 17.7184 6.49482 17.2616L14.0567 9.69971L10.3024 5.94518L2.69613 13.5496C2.29098 13.9079 2.04034 14.4092 2.00003 14.8678V18.0029L5.06401 18.0048ZM11.7167 4.53114L15.471 8.28549L17.8648 5.89162C17.9514 5.80502 18.0001 5.68756 18.0001 5.56508C18.0001 5.4426 17.9514 5.32514 17.8648 5.23854L14.7612 2.13486C14.6755 2.04855 14.559 2 14.4374 2C14.3158 2 14.1992 2.04855 14.1136 2.13486L11.7167 4.53114Z\" fill=\"#323E8B\"/>\n </svg>\n </button>\n }\n @if (!tag.presentOrEdit) {\n <button (click)=\"save()\" mat-icon-button>\n <svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"saveIconTitle\" stroke=\"#000000\" stroke-width=\"1\" stroke-linecap=\"square\"\n stroke-linejoin=\"miter\" fill=\"none\" color=\"#000000\"><title id=\"saveIconTitle\">Save</title>\n <path\n d=\"M17.2928932,3.29289322 L21,7 L21,20 C21,20.5522847 20.5522847,21 20,21 L4,21 C3.44771525,21 3,20.5522847 3,20 L3,4 C3,3.44771525 3.44771525,3 4,3 L16.5857864,3 C16.8510029,3 17.1053568,3.10535684 17.2928932,3.29289322 Z\"/>\n <rect width=\"10\" height=\"8\" x=\"7\" y=\"13\"/>\n <rect width=\"8\" height=\"5\" x=\"8\" y=\"3\"/>\n </svg>\n </button>\n }\n <button (click)=\"deleteItem()\" mat-icon-button color=\"warn\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.49988 0.833332H12.4999C13.4204 0.833332 14.1665 1.57952 14.1665 2.5V3.33333H16.6665C17.587 3.33333 18.3332 4.07952 18.3332 4.99999V6.66666C18.3332 7.58714 17.587 8.33333 16.6665 8.33333H16.5998L15.8332 17.5C15.8332 18.4205 15.087 19.1667 14.1665 19.1667H5.8332C4.91272 19.1667 4.16653 18.4205 4.16941 17.5692L3.39975 8.33333H3.33317C2.4127 8.33333 1.6665 7.58714 1.6665 6.66666V4.99999C1.6665 4.07952 2.4127 3.33333 3.33317 3.33333H5.83321V2.5C5.83321 1.57952 6.5794 0.833332 7.49988 0.833332ZM5.83321 5V4.99999H3.33317V6.66666H16.6665V4.99999L14.1665 5H5.83321ZM5.83324 17.5L5.07198 8.33333H14.9276L14.1695 17.4308L14.1666 17.5H5.83324ZM12.4999 2.5V3.33334H7.49992V2.5H12.4999Z\" fill=\"#F96666\"/>\n </svg>\n </button>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".main-editor-block{display:flex;justify-content:space-between}.editor-container{flex-grow:1}\n"], dependencies: [{ kind: "component", type: TextEditorComponent, selector: "croco-html-text-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: ImageEditorComponent, selector: "croco-html-image-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: DownloadFileButtonEditorComponent, selector: "croco-html-download-file-button-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: HtmlRawEditorComponent, selector: "croco-html-html-raw-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: ExternalVideoEditorComponent, selector: "croco-html-external-video-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: ButtonEditorComponent, selector: "croco-html-button-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: CustomWidgetEditorComponent, selector: "croco-html-custom-widget-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorBlockComponent, isStandalone: true, selector: "croco-html-main-editor-block", inputs: { tag: "tag" }, outputs: { onTagSaved: "onTagSaved", onTagRemoved: "onTagRemoved" }, ngImport: i0, template: "<div class=\"main-editor-block\">\n <div class=\"editor-container\">\n @if (textTags.includes(tag.tagDescription.tag)) {\n <div>\n <croco-html-text-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-text-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'file-image') {\n <div>\n <croco-html-image-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-image-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'custom-widget') {\n <div>\n <croco-html-custom-widget-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-custom-widget-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'external-video') {\n <div>\n <croco-html-external-video-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-external-video-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'download-file-button') {\n <div>\n <croco-html-download-file-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-download-file-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'button') {\n <div>\n <croco-html-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'html-raw') {\n <div>\n <croco-html-html-raw-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-html-raw-editor>\n </div>\n }\n\n </div>\n\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex justify-content-end align-self-center\">\n <div style=\"margin-left: 16px;min-width: 96px\">\n @if (tag.presentOrEdit) {\n <button (click)=\"tag.presentOrEdit = false\" mat-icon-button>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.4374 0C15.0921 0 15.7197 0.261421 16.1781 0.723424L19.279 3.82432C19.7407 4.286 20.0001 4.91217 20.0001 5.56508C20.0001 6.21799 19.7407 6.84416 19.279 7.30584L7.95751 18.6238C7.25903 19.4295 6.2689 19.9245 5.1346 20.0023H0V19.0023L0.00324754 14.7873C0.0884381 13.7328 0.578667 12.7523 1.3265 12.0934L12.6954 0.72463C13.1564 0.260831 13.7834 0 14.4374 0ZM5.06401 18.0048C5.59823 17.967 6.09551 17.7184 6.49482 17.2616L14.0567 9.69971L10.3024 5.94518L2.69613 13.5496C2.29098 13.9079 2.04034 14.4092 2.00003 14.8678V18.0029L5.06401 18.0048ZM11.7167 4.53114L15.471 8.28549L17.8648 5.89162C17.9514 5.80502 18.0001 5.68756 18.0001 5.56508C18.0001 5.4426 17.9514 5.32514 17.8648 5.23854L14.7612 2.13486C14.6755 2.04855 14.559 2 14.4374 2C14.3158 2 14.1992 2.04855 14.1136 2.13486L11.7167 4.53114Z\" fill=\"#323E8B\"/>\n </svg>\n </button>\n }\n @if (!tag.presentOrEdit) {\n <button (click)=\"save()\" mat-icon-button>\n <svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"saveIconTitle\" stroke=\"#000000\" stroke-width=\"1\" stroke-linecap=\"square\"\n stroke-linejoin=\"miter\" fill=\"none\" color=\"#000000\"><title id=\"saveIconTitle\">Save</title>\n <path\n d=\"M17.2928932,3.29289322 L21,7 L21,20 C21,20.5522847 20.5522847,21 20,21 L4,21 C3.44771525,21 3,20.5522847 3,20 L3,4 C3,3.44771525 3.44771525,3 4,3 L16.5857864,3 C16.8510029,3 17.1053568,3.10535684 17.2928932,3.29289322 Z\"/>\n <rect width=\"10\" height=\"8\" x=\"7\" y=\"13\"/>\n <rect width=\"8\" height=\"5\" x=\"8\" y=\"3\"/>\n </svg>\n </button>\n }\n <button (click)=\"deleteItem()\" mat-icon-button color=\"warn\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.49988 0.833332H12.4999C13.4204 0.833332 14.1665 1.57952 14.1665 2.5V3.33333H16.6665C17.587 3.33333 18.3332 4.07952 18.3332 4.99999V6.66666C18.3332 7.58714 17.587 8.33333 16.6665 8.33333H16.5998L15.8332 17.5C15.8332 18.4205 15.087 19.1667 14.1665 19.1667H5.8332C4.91272 19.1667 4.16653 18.4205 4.16941 17.5692L3.39975 8.33333H3.33317C2.4127 8.33333 1.6665 7.58714 1.6665 6.66666V4.99999C1.6665 4.07952 2.4127 3.33333 3.33317 3.33333H5.83321V2.5C5.83321 1.57952 6.5794 0.833332 7.49988 0.833332ZM5.83321 5V4.99999H3.33317V6.66666H16.6665V4.99999L14.1665 5H5.83321ZM5.83324 17.5L5.07198 8.33333H14.9276L14.1695 17.4308L14.1666 17.5H5.83324ZM12.4999 2.5V3.33334H7.49992V2.5H12.4999Z\" fill=\"#F96666\"/>\n </svg>\n </button>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".main-editor-block{display:flex;justify-content:space-between}.editor-container{flex-grow:1}\n"], dependencies: [{ kind: "component", type: TextEditorComponent, selector: "croco-html-text-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: ImageEditorComponent, selector: "croco-html-image-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: DownloadFileButtonEditorComponent, selector: "croco-html-download-file-button-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: HtmlRawEditorComponent, selector: "croco-html-html-raw-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: ExternalVideoEditorComponent, selector: "croco-html-external-video-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: ButtonEditorComponent, selector: "croco-html-button-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }, { kind: "component", type: CustomWidgetEditorComponent, selector: "croco-html-custom-widget-editor", inputs: ["tag"], outputs: ["onTagUpdated"] }] }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorBlockComponent, decorators: [{
34
34
  type: Component,
@@ -42,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
42
42
  ExternalVideoEditorComponent,
43
43
  ButtonEditorComponent,
44
44
  CustomWidgetEditorComponent
45
- ], template: "<div class=\"main-editor-block\">\n <div class=\"editor-container\">\n @if (textTags.includes(tag.tagDescription.tag)) {\n <div>\n <croco-html-text-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-text-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'file-image') {\n <div>\n <croco-html-image-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-image-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'custom-widget') {\n <div>\n <croco-html-custom-widget-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-custom-widget-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'external-video') {\n <div>\n <croco-html-external-video-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-external-video-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'download-file-button') {\n <div>\n <croco-html-download-file-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-download-file-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'button') {\n <div>\n <croco-html-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'html-raw') {\n <div>\n <croco-html-html-raw-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-html-raw-editor>\n </div>\n }\n\n </div>\n\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex justify-content-end align-self-center\">\n <div style=\"margin-left: 16px\">\n @if (tag.presentOrEdit) {\n <button (click)=\"tag.presentOrEdit = false\" mat-icon-button>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.4374 0C15.0921 0 15.7197 0.261421 16.1781 0.723424L19.279 3.82432C19.7407 4.286 20.0001 4.91217 20.0001 5.56508C20.0001 6.21799 19.7407 6.84416 19.279 7.30584L7.95751 18.6238C7.25903 19.4295 6.2689 19.9245 5.1346 20.0023H0V19.0023L0.00324754 14.7873C0.0884381 13.7328 0.578667 12.7523 1.3265 12.0934L12.6954 0.72463C13.1564 0.260831 13.7834 0 14.4374 0ZM5.06401 18.0048C5.59823 17.967 6.09551 17.7184 6.49482 17.2616L14.0567 9.69971L10.3024 5.94518L2.69613 13.5496C2.29098 13.9079 2.04034 14.4092 2.00003 14.8678V18.0029L5.06401 18.0048ZM11.7167 4.53114L15.471 8.28549L17.8648 5.89162C17.9514 5.80502 18.0001 5.68756 18.0001 5.56508C18.0001 5.4426 17.9514 5.32514 17.8648 5.23854L14.7612 2.13486C14.6755 2.04855 14.559 2 14.4374 2C14.3158 2 14.1992 2.04855 14.1136 2.13486L11.7167 4.53114Z\" fill=\"#323E8B\"/>\n </svg>\n </button>\n }\n @if (!tag.presentOrEdit) {\n <button (click)=\"save()\" mat-icon-button>\n <svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"saveIconTitle\" stroke=\"#000000\" stroke-width=\"1\" stroke-linecap=\"square\"\n stroke-linejoin=\"miter\" fill=\"none\" color=\"#000000\"><title id=\"saveIconTitle\">Save</title>\n <path\n d=\"M17.2928932,3.29289322 L21,7 L21,20 C21,20.5522847 20.5522847,21 20,21 L4,21 C3.44771525,21 3,20.5522847 3,20 L3,4 C3,3.44771525 3.44771525,3 4,3 L16.5857864,3 C16.8510029,3 17.1053568,3.10535684 17.2928932,3.29289322 Z\"/>\n <rect width=\"10\" height=\"8\" x=\"7\" y=\"13\"/>\n <rect width=\"8\" height=\"5\" x=\"8\" y=\"3\"/>\n </svg>\n </button>\n }\n <button (click)=\"deleteItem()\" mat-icon-button color=\"warn\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.49988 0.833332H12.4999C13.4204 0.833332 14.1665 1.57952 14.1665 2.5V3.33333H16.6665C17.587 3.33333 18.3332 4.07952 18.3332 4.99999V6.66666C18.3332 7.58714 17.587 8.33333 16.6665 8.33333H16.5998L15.8332 17.5C15.8332 18.4205 15.087 19.1667 14.1665 19.1667H5.8332C4.91272 19.1667 4.16653 18.4205 4.16941 17.5692L3.39975 8.33333H3.33317C2.4127 8.33333 1.6665 7.58714 1.6665 6.66666V4.99999C1.6665 4.07952 2.4127 3.33333 3.33317 3.33333H5.83321V2.5C5.83321 1.57952 6.5794 0.833332 7.49988 0.833332ZM5.83321 5V4.99999H3.33317V6.66666H16.6665V4.99999L14.1665 5H5.83321ZM5.83324 17.5L5.07198 8.33333H14.9276L14.1695 17.4308L14.1666 17.5H5.83324ZM12.4999 2.5V3.33334H7.49992V2.5H12.4999Z\" fill=\"#F96666\"/>\n </svg>\n </button>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".main-editor-block{display:flex;justify-content:space-between}.editor-container{flex-grow:1}\n"] }]
45
+ ], template: "<div class=\"main-editor-block\">\n <div class=\"editor-container\">\n @if (textTags.includes(tag.tagDescription.tag)) {\n <div>\n <croco-html-text-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-text-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'file-image') {\n <div>\n <croco-html-image-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-image-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'custom-widget') {\n <div>\n <croco-html-custom-widget-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-custom-widget-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'external-video') {\n <div>\n <croco-html-external-video-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-external-video-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'download-file-button') {\n <div>\n <croco-html-download-file-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-download-file-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'button') {\n <div>\n <croco-html-button-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-button-editor>\n </div>\n }\n\n @if (tag.tagDescription.tag === 'html-raw') {\n <div>\n <croco-html-html-raw-editor (onTagUpdated)=\"tagUpdatedHandler($event)\" [tag]=\"tag\">\n </croco-html-html-raw-editor>\n </div>\n }\n\n </div>\n\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex justify-content-end align-self-center\">\n <div style=\"margin-left: 16px;min-width: 96px\">\n @if (tag.presentOrEdit) {\n <button (click)=\"tag.presentOrEdit = false\" mat-icon-button>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.4374 0C15.0921 0 15.7197 0.261421 16.1781 0.723424L19.279 3.82432C19.7407 4.286 20.0001 4.91217 20.0001 5.56508C20.0001 6.21799 19.7407 6.84416 19.279 7.30584L7.95751 18.6238C7.25903 19.4295 6.2689 19.9245 5.1346 20.0023H0V19.0023L0.00324754 14.7873C0.0884381 13.7328 0.578667 12.7523 1.3265 12.0934L12.6954 0.72463C13.1564 0.260831 13.7834 0 14.4374 0ZM5.06401 18.0048C5.59823 17.967 6.09551 17.7184 6.49482 17.2616L14.0567 9.69971L10.3024 5.94518L2.69613 13.5496C2.29098 13.9079 2.04034 14.4092 2.00003 14.8678V18.0029L5.06401 18.0048ZM11.7167 4.53114L15.471 8.28549L17.8648 5.89162C17.9514 5.80502 18.0001 5.68756 18.0001 5.56508C18.0001 5.4426 17.9514 5.32514 17.8648 5.23854L14.7612 2.13486C14.6755 2.04855 14.559 2 14.4374 2C14.3158 2 14.1992 2.04855 14.1136 2.13486L11.7167 4.53114Z\" fill=\"#323E8B\"/>\n </svg>\n </button>\n }\n @if (!tag.presentOrEdit) {\n <button (click)=\"save()\" mat-icon-button>\n <svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"saveIconTitle\" stroke=\"#000000\" stroke-width=\"1\" stroke-linecap=\"square\"\n stroke-linejoin=\"miter\" fill=\"none\" color=\"#000000\"><title id=\"saveIconTitle\">Save</title>\n <path\n d=\"M17.2928932,3.29289322 L21,7 L21,20 C21,20.5522847 20.5522847,21 20,21 L4,21 C3.44771525,21 3,20.5522847 3,20 L3,4 C3,3.44771525 3.44771525,3 4,3 L16.5857864,3 C16.8510029,3 17.1053568,3.10535684 17.2928932,3.29289322 Z\"/>\n <rect width=\"10\" height=\"8\" x=\"7\" y=\"13\"/>\n <rect width=\"8\" height=\"5\" x=\"8\" y=\"3\"/>\n </svg>\n </button>\n }\n <button (click)=\"deleteItem()\" mat-icon-button color=\"warn\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.49988 0.833332H12.4999C13.4204 0.833332 14.1665 1.57952 14.1665 2.5V3.33333H16.6665C17.587 3.33333 18.3332 4.07952 18.3332 4.99999V6.66666C18.3332 7.58714 17.587 8.33333 16.6665 8.33333H16.5998L15.8332 17.5C15.8332 18.4205 15.087 19.1667 14.1665 19.1667H5.8332C4.91272 19.1667 4.16653 18.4205 4.16941 17.5692L3.39975 8.33333H3.33317C2.4127 8.33333 1.6665 7.58714 1.6665 6.66666V4.99999C1.6665 4.07952 2.4127 3.33333 3.33317 3.33333H5.83321V2.5C5.83321 1.57952 6.5794 0.833332 7.49988 0.833332ZM5.83321 5V4.99999H3.33317V6.66666H16.6665V4.99999L14.1665 5H5.83321ZM5.83324 17.5L5.07198 8.33333H14.9276L14.1695 17.4308L14.1666 17.5H5.83324ZM12.4999 2.5V3.33334H7.49992V2.5H12.4999Z\" fill=\"#F96666\"/>\n </svg>\n </button>\n </div>\n </div>\n\n </div>\n</div>\n", styles: [".main-editor-block{display:flex;justify-content:space-between}.editor-container{flex-grow:1}\n"] }]
46
46
  }], propDecorators: { tag: [{
47
47
  type: Input
48
48
  }], onTagSaved: [{
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
50
50
  }], onTagRemoved: [{
51
51
  type: Output
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3ItYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yLWJsb2NrL21haW4tZWRpdG9yLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci1ibG9jay9tYWluLWVkaXRvci1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDOztBQW1CbkcsTUFBTSxPQUFPLHdCQUF3QjtJQWpCckM7UUFtQkUsYUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFNaEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFHN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBZ0JoRDtJQWRDLGlCQUFpQixDQUFDLEdBQWdCO0lBQ2xDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OEdBMUJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHFMQzlCckMsaTJKQXFGQSx3SkRsRUksbUJBQW1CLCtHQUNuQixvQkFBb0IsZ0hBQ3BCLGlDQUFpQywrSEFDakMsc0JBQXNCLG1IQUN0QixhQUFhLDZGQUViLDRCQUE0Qix5SEFDNUIscUJBQXFCLGlIQUNyQiwyQkFBMkI7OzJGQUdsQix3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1A7d0JBQ1AsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGlDQUFpQzt3QkFDakMsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsNEJBQTRCO3dCQUM1QixxQkFBcUI7d0JBQ3JCLDJCQUEyQjtxQkFDNUI7OEJBT0QsR0FBRztzQkFERixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0VGFncyB9IGZyb20gJy4uLy4uLy4uL2V4dGVuc2lvbnMvVGV4dE1ldGhvZHMnO1xuaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgSHRtbFJhd0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2h0bWwtcmF3LWVkaXRvci9odG1sLXJhdy1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IERvd25sb2FkRmlsZUJ1dHRvbkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2Rvd25sb2FkLWZpbGUtYnV0dG9uLWVkaXRvci9kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UtZWRpdG9yL2ltYWdlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHRlcm5hbFZpZGVvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZXJuYWwtdmlkZW8tZWRpdG9yL2V4dGVybmFsLXZpZGVvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtCdXR0b25FZGl0b3JDb21wb25lbnR9IGZyb20gXCIuLi9idXR0b24tZWRpdG9yL2J1dHRvbi1lZGl0b3IuY29tcG9uZW50XCI7XG5pbXBvcnQge0N1c3RvbVdpZGdldEVkaXRvckNvbXBvbmVudH0gZnJvbSBcIi4uL2N1c3RvbS13aWRnZXQtZWRpdG9yL2N1c3RvbS13aWRnZXQtZWRpdG9yLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLW1haW4tZWRpdG9yLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tZWRpdG9yLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFpbi1lZGl0b3ItYmxvY2suY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBJbWFnZUVkaXRvckNvbXBvbmVudCxcbiAgICBEb3dubG9hZEZpbGVCdXR0b25FZGl0b3JDb21wb25lbnQsXG4gICAgSHRtbFJhd0VkaXRvckNvbXBvbmVudCxcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIE1hdEljb24sXG4gICAgRXh0ZXJuYWxWaWRlb0VkaXRvckNvbXBvbmVudCxcbiAgICBCdXR0b25FZGl0b3JDb21wb25lbnQsXG4gICAgQ3VzdG9tV2lkZ2V0RWRpdG9yQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbkVkaXRvckJsb2NrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICB0ZXh0VGFncyA9IFRleHRUYWdzLmFsbFRleHRUYWdzO1xuXG4gIEBJbnB1dCgpXG4gIHRhZzogSHRtbEJvZHlUYWc7XG5cbiAgQE91dHB1dCgpXG4gIG9uVGFnU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh0bWxCb2R5VGFnPigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblRhZ1JlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh0bWxCb2R5VGFnPigpO1xuXG4gIHRhZ1VwZGF0ZWRIYW5kbGVyKHRhZzogSHRtbEJvZHlUYWcpOiB2b2lkIHtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy50YWcucHJlc2VudE9yRWRpdCA9IHRydWU7XG4gICAgdGhpcy5vblRhZ1NhdmVkLmVtaXQodGhpcy50YWcpO1xuICB9XG5cbiAgZGVsZXRlSXRlbSgpIHtcbiAgICB0aGlzLm9uVGFnUmVtb3ZlZC5lbWl0KHRoaXMudGFnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1lZGl0b3ItYmxvY2tcIj5cbiAgPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIj5cbiAgICBAaWYgKHRleHRUYWdzLmluY2x1ZGVzKHRhZy50YWdEZXNjcmlwdGlvbi50YWcpKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC10ZXh0LWVkaXRvciAob25UYWdVcGRhdGVkKT1cInRhZ1VwZGF0ZWRIYW5kbGVyKCRldmVudClcIiBbdGFnXT1cInRhZ1wiPlxuICAgICAgICA8L2Nyb2NvLWh0bWwtdGV4dC1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKHRhZy50YWdEZXNjcmlwdGlvbi50YWcgPT09ICdmaWxlLWltYWdlJykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGNyb2NvLWh0bWwtaW1hZ2UtZWRpdG9yIChvblRhZ1VwZGF0ZWQpPVwidGFnVXBkYXRlZEhhbmRsZXIoJGV2ZW50KVwiIFt0YWddPVwidGFnXCI+XG4gICAgICAgIDwvY3JvY28taHRtbC1pbWFnZS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKHRhZy50YWdEZXNjcmlwdGlvbi50YWcgPT09ICdjdXN0b20td2lkZ2V0Jykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGNyb2NvLWh0bWwtY3VzdG9tLXdpZGdldC1lZGl0b3IgKG9uVGFnVXBkYXRlZCk9XCJ0YWdVcGRhdGVkSGFuZGxlcigkZXZlbnQpXCIgW3RhZ109XCJ0YWdcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLWN1c3RvbS13aWRnZXQtZWRpdG9yPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmICh0YWcudGFnRGVzY3JpcHRpb24udGFnID09PSAnZXh0ZXJuYWwtdmlkZW8nKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC1leHRlcm5hbC12aWRlby1lZGl0b3IgKG9uVGFnVXBkYXRlZCk9XCJ0YWdVcGRhdGVkSGFuZGxlcigkZXZlbnQpXCIgW3RhZ109XCJ0YWdcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLWV4dGVybmFsLXZpZGVvLWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAodGFnLnRhZ0Rlc2NyaXB0aW9uLnRhZyA9PT0gJ2Rvd25sb2FkLWZpbGUtYnV0dG9uJykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGNyb2NvLWh0bWwtZG93bmxvYWQtZmlsZS1idXR0b24tZWRpdG9yIChvblRhZ1VwZGF0ZWQpPVwidGFnVXBkYXRlZEhhbmRsZXIoJGV2ZW50KVwiIFt0YWddPVwidGFnXCI+XG4gICAgICAgIDwvY3JvY28taHRtbC1kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKHRhZy50YWdEZXNjcmlwdGlvbi50YWcgPT09ICdidXR0b24nKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC1idXR0b24tZWRpdG9yIChvblRhZ1VwZGF0ZWQpPVwidGFnVXBkYXRlZEhhbmRsZXIoJGV2ZW50KVwiIFt0YWddPVwidGFnXCI+XG4gICAgICAgIDwvY3JvY28taHRtbC1idXR0b24tZWRpdG9yPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmICh0YWcudGFnRGVzY3JpcHRpb24udGFnID09PSAnaHRtbC1yYXcnKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC1odG1sLXJhdy1lZGl0b3IgKG9uVGFnVXBkYXRlZCk9XCJ0YWdVcGRhdGVkSGFuZGxlcigkZXZlbnQpXCIgW3RhZ109XCJ0YWdcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLWh0bWwtcmF3LWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLXNlbGYtY2VudGVyXCI+XG4gICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE2cHhcIj5cbiAgICAgICAgQGlmICh0YWcucHJlc2VudE9yRWRpdCkge1xuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInRhZy5wcmVzZW50T3JFZGl0ID0gZmFsc2VcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE0LjQzNzQgMEMxNS4wOTIxIDAgMTUuNzE5NyAwLjI2MTQyMSAxNi4xNzgxIDAuNzIzNDI0TDE5LjI3OSAzLjgyNDMyQzE5Ljc0MDcgNC4yODYgMjAuMDAwMSA0LjkxMjE3IDIwLjAwMDEgNS41NjUwOEMyMC4wMDAxIDYuMjE3OTkgMTkuNzQwNyA2Ljg0NDE2IDE5LjI3OSA3LjMwNTg0TDcuOTU3NTEgMTguNjIzOEM3LjI1OTAzIDE5LjQyOTUgNi4yNjg5IDE5LjkyNDUgNS4xMzQ2IDIwLjAwMjNIMFYxOS4wMDIzTDAuMDAzMjQ3NTQgMTQuNzg3M0MwLjA4ODQzODEgMTMuNzMyOCAwLjU3ODY2NyAxMi43NTIzIDEuMzI2NSAxMi4wOTM0TDEyLjY5NTQgMC43MjQ2M0MxMy4xNTY0IDAuMjYwODMxIDEzLjc4MzQgMCAxNC40Mzc0IDBaTTUuMDY0MDEgMTguMDA0OEM1LjU5ODIzIDE3Ljk2NyA2LjA5NTUxIDE3LjcxODQgNi40OTQ4MiAxNy4yNjE2TDE0LjA1NjcgOS42OTk3MUwxMC4zMDI0IDUuOTQ1MThMMi42OTYxMyAxMy41NDk2QzIuMjkwOTggMTMuOTA3OSAyLjA0MDM0IDE0LjQwOTIgMi4wMDAwMyAxNC44Njc4VjE4LjAwMjlMNS4wNjQwMSAxOC4wMDQ4Wk0xMS43MTY3IDQuNTMxMTRMMTUuNDcxIDguMjg1NDlMMTcuODY0OCA1Ljg5MTYyQzE3Ljk1MTQgNS44MDUwMiAxOC4wMDAxIDUuNjg3NTYgMTguMDAwMSA1LjU2NTA4QzE4LjAwMDEgNS40NDI2IDE3Ljk1MTQgNS4zMjUxNCAxNy44NjQ4IDUuMjM4NTRMMTQuNzYxMiAyLjEzNDg2QzE0LjY3NTUgMi4wNDg1NSAxNC41NTkgMiAxNC40Mzc0IDJDMTQuMzE1OCAyIDE0LjE5OTIgMi4wNDg1NSAxNC4xMTM2IDIuMTM0ODZMMTEuNzE2NyA0LjUzMTE0WlwiIGZpbGw9XCIjMzIzRThCXCIvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICghdGFnLnByZXNlbnRPckVkaXQpIHtcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiODAwcHhcIiBoZWlnaHQ9XCI4MDBweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiByb2xlPVwiaW1nXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNhdmVJY29uVGl0bGVcIiBzdHJva2U9XCIjMDAwMDAwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiIHN0cm9rZS1saW5lY2FwPVwic3F1YXJlXCJcbiAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwibWl0ZXJcIiBmaWxsPVwibm9uZVwiIGNvbG9yPVwiIzAwMDAwMFwiPjx0aXRsZSBpZD1cInNhdmVJY29uVGl0bGVcIj5TYXZlPC90aXRsZT5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTE3LjI5Mjg5MzIsMy4yOTI4OTMyMiBMMjEsNyBMMjEsMjAgQzIxLDIwLjU1MjI4NDcgMjAuNTUyMjg0NywyMSAyMCwyMSBMNCwyMSBDMy40NDc3MTUyNSwyMSAzLDIwLjU1MjI4NDcgMywyMCBMMyw0IEMzLDMuNDQ3NzE1MjUgMy40NDc3MTUyNSwzIDQsMyBMMTYuNTg1Nzg2NCwzIEMxNi44NTEwMDI5LDMgMTcuMTA1MzU2OCwzLjEwNTM1Njg0IDE3LjI5Mjg5MzIsMy4yOTI4OTMyMiBaXCIvPlxuICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiOFwiIHg9XCI3XCIgeT1cIjEzXCIvPlxuICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjhcIiBoZWlnaHQ9XCI1XCIgeD1cIjhcIiB5PVwiM1wiLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRlbGV0ZUl0ZW0oKVwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cIndhcm5cIj5cbiAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk03LjQ5OTg4IDAuODMzMzMySDEyLjQ5OTlDMTMuNDIwNCAwLjgzMzMzMiAxNC4xNjY1IDEuNTc5NTIgMTQuMTY2NSAyLjVWMy4zMzMzM0gxNi42NjY1QzE3LjU4NyAzLjMzMzMzIDE4LjMzMzIgNC4wNzk1MiAxOC4zMzMyIDQuOTk5OTlWNi42NjY2NkMxOC4zMzMyIDcuNTg3MTQgMTcuNTg3IDguMzMzMzMgMTYuNjY2NSA4LjMzMzMzSDE2LjU5OThMMTUuODMzMiAxNy41QzE1LjgzMzIgMTguNDIwNSAxNS4wODcgMTkuMTY2NyAxNC4xNjY1IDE5LjE2NjdINS44MzMyQzQuOTEyNzIgMTkuMTY2NyA0LjE2NjUzIDE4LjQyMDUgNC4xNjk0MSAxNy41NjkyTDMuMzk5NzUgOC4zMzMzM0gzLjMzMzE3QzIuNDEyNyA4LjMzMzMzIDEuNjY2NSA3LjU4NzE0IDEuNjY2NSA2LjY2NjY2VjQuOTk5OTlDMS42NjY1IDQuMDc5NTIgMi40MTI3IDMuMzMzMzMgMy4zMzMxNyAzLjMzMzMzSDUuODMzMjFWMi41QzUuODMzMjEgMS41Nzk1MiA2LjU3OTQgMC44MzMzMzIgNy40OTk4OCAwLjgzMzMzMlpNNS44MzMyMSA1VjQuOTk5OTlIMy4zMzMxN1Y2LjY2NjY2SDE2LjY2NjVWNC45OTk5OUwxNC4xNjY1IDVINS44MzMyMVpNNS44MzMyNCAxNy41TDUuMDcxOTggOC4zMzMzM0gxNC45Mjc2TDE0LjE2OTUgMTcuNDMwOEwxNC4xNjY2IDE3LjVINS44MzMyNFpNMTIuNDk5OSAyLjVWMy4zMzMzNEg3LjQ5OTkyVjIuNUgxMi40OTk5WlwiIGZpbGw9XCIjRjk2NjY2XCIvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3ItYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yLWJsb2NrL21haW4tZWRpdG9yLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci1ibG9jay9tYWluLWVkaXRvci1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDOztBQW1CbkcsTUFBTSxPQUFPLHdCQUF3QjtJQWpCckM7UUFtQkUsYUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFNaEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFHN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBZ0JoRDtJQWRDLGlCQUFpQixDQUFDLEdBQWdCO0lBQ2xDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OEdBMUJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHFMQzlCckMsaTNKQXFGQSx3SkRsRUksbUJBQW1CLCtHQUNuQixvQkFBb0IsZ0hBQ3BCLGlDQUFpQywrSEFDakMsc0JBQXNCLG1IQUN0QixhQUFhLDZGQUViLDRCQUE0Qix5SEFDNUIscUJBQXFCLGlIQUNyQiwyQkFBMkI7OzJGQUdsQix3QkFBd0I7a0JBakJwQyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1A7d0JBQ1AsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGlDQUFpQzt3QkFDakMsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsNEJBQTRCO3dCQUM1QixxQkFBcUI7d0JBQ3JCLDJCQUEyQjtxQkFDNUI7OEJBT0QsR0FBRztzQkFERixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0VGFncyB9IGZyb20gJy4uLy4uLy4uL2V4dGVuc2lvbnMvVGV4dE1ldGhvZHMnO1xuaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgSHRtbFJhd0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2h0bWwtcmF3LWVkaXRvci9odG1sLXJhdy1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IERvd25sb2FkRmlsZUJ1dHRvbkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2Rvd25sb2FkLWZpbGUtYnV0dG9uLWVkaXRvci9kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2UtZWRpdG9yL2ltYWdlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHRlcm5hbFZpZGVvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZXJuYWwtdmlkZW8tZWRpdG9yL2V4dGVybmFsLXZpZGVvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtCdXR0b25FZGl0b3JDb21wb25lbnR9IGZyb20gXCIuLi9idXR0b24tZWRpdG9yL2J1dHRvbi1lZGl0b3IuY29tcG9uZW50XCI7XG5pbXBvcnQge0N1c3RvbVdpZGdldEVkaXRvckNvbXBvbmVudH0gZnJvbSBcIi4uL2N1c3RvbS13aWRnZXQtZWRpdG9yL2N1c3RvbS13aWRnZXQtZWRpdG9yLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLW1haW4tZWRpdG9yLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tZWRpdG9yLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFpbi1lZGl0b3ItYmxvY2suY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBJbWFnZUVkaXRvckNvbXBvbmVudCxcbiAgICBEb3dubG9hZEZpbGVCdXR0b25FZGl0b3JDb21wb25lbnQsXG4gICAgSHRtbFJhd0VkaXRvckNvbXBvbmVudCxcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIE1hdEljb24sXG4gICAgRXh0ZXJuYWxWaWRlb0VkaXRvckNvbXBvbmVudCxcbiAgICBCdXR0b25FZGl0b3JDb21wb25lbnQsXG4gICAgQ3VzdG9tV2lkZ2V0RWRpdG9yQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbkVkaXRvckJsb2NrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICB0ZXh0VGFncyA9IFRleHRUYWdzLmFsbFRleHRUYWdzO1xuXG4gIEBJbnB1dCgpXG4gIHRhZzogSHRtbEJvZHlUYWc7XG5cbiAgQE91dHB1dCgpXG4gIG9uVGFnU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh0bWxCb2R5VGFnPigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblRhZ1JlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh0bWxCb2R5VGFnPigpO1xuXG4gIHRhZ1VwZGF0ZWRIYW5kbGVyKHRhZzogSHRtbEJvZHlUYWcpOiB2b2lkIHtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy50YWcucHJlc2VudE9yRWRpdCA9IHRydWU7XG4gICAgdGhpcy5vblRhZ1NhdmVkLmVtaXQodGhpcy50YWcpO1xuICB9XG5cbiAgZGVsZXRlSXRlbSgpIHtcbiAgICB0aGlzLm9uVGFnUmVtb3ZlZC5lbWl0KHRoaXMudGFnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1lZGl0b3ItYmxvY2tcIj5cbiAgPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIj5cbiAgICBAaWYgKHRleHRUYWdzLmluY2x1ZGVzKHRhZy50YWdEZXNjcmlwdGlvbi50YWcpKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC10ZXh0LWVkaXRvciAob25UYWdVcGRhdGVkKT1cInRhZ1VwZGF0ZWRIYW5kbGVyKCRldmVudClcIiBbdGFnXT1cInRhZ1wiPlxuICAgICAgICA8L2Nyb2NvLWh0bWwtdGV4dC1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKHRhZy50YWdEZXNjcmlwdGlvbi50YWcgPT09ICdmaWxlLWltYWdlJykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGNyb2NvLWh0bWwtaW1hZ2UtZWRpdG9yIChvblRhZ1VwZGF0ZWQpPVwidGFnVXBkYXRlZEhhbmRsZXIoJGV2ZW50KVwiIFt0YWddPVwidGFnXCI+XG4gICAgICAgIDwvY3JvY28taHRtbC1pbWFnZS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKHRhZy50YWdEZXNjcmlwdGlvbi50YWcgPT09ICdjdXN0b20td2lkZ2V0Jykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGNyb2NvLWh0bWwtY3VzdG9tLXdpZGdldC1lZGl0b3IgKG9uVGFnVXBkYXRlZCk9XCJ0YWdVcGRhdGVkSGFuZGxlcigkZXZlbnQpXCIgW3RhZ109XCJ0YWdcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLWN1c3RvbS13aWRnZXQtZWRpdG9yPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmICh0YWcudGFnRGVzY3JpcHRpb24udGFnID09PSAnZXh0ZXJuYWwtdmlkZW8nKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC1leHRlcm5hbC12aWRlby1lZGl0b3IgKG9uVGFnVXBkYXRlZCk9XCJ0YWdVcGRhdGVkSGFuZGxlcigkZXZlbnQpXCIgW3RhZ109XCJ0YWdcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLWV4dGVybmFsLXZpZGVvLWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAodGFnLnRhZ0Rlc2NyaXB0aW9uLnRhZyA9PT0gJ2Rvd25sb2FkLWZpbGUtYnV0dG9uJykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGNyb2NvLWh0bWwtZG93bmxvYWQtZmlsZS1idXR0b24tZWRpdG9yIChvblRhZ1VwZGF0ZWQpPVwidGFnVXBkYXRlZEhhbmRsZXIoJGV2ZW50KVwiIFt0YWddPVwidGFnXCI+XG4gICAgICAgIDwvY3JvY28taHRtbC1kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKHRhZy50YWdEZXNjcmlwdGlvbi50YWcgPT09ICdidXR0b24nKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC1idXR0b24tZWRpdG9yIChvblRhZ1VwZGF0ZWQpPVwidGFnVXBkYXRlZEhhbmRsZXIoJGV2ZW50KVwiIFt0YWddPVwidGFnXCI+XG4gICAgICAgIDwvY3JvY28taHRtbC1idXR0b24tZWRpdG9yPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmICh0YWcudGFnRGVzY3JpcHRpb24udGFnID09PSAnaHRtbC1yYXcnKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8Y3JvY28taHRtbC1odG1sLXJhdy1lZGl0b3IgKG9uVGFnVXBkYXRlZCk9XCJ0YWdVcGRhdGVkSGFuZGxlcigkZXZlbnQpXCIgW3RhZ109XCJ0YWdcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLWh0bWwtcmF3LWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLXNlbGYtY2VudGVyXCI+XG4gICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE2cHg7bWluLXdpZHRoOiA5NnB4XCI+XG4gICAgICAgIEBpZiAodGFnLnByZXNlbnRPckVkaXQpIHtcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0YWcucHJlc2VudE9yRWRpdCA9IGZhbHNlXCIgbWF0LWljb24tYnV0dG9uPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNC40Mzc0IDBDMTUuMDkyMSAwIDE1LjcxOTcgMC4yNjE0MjEgMTYuMTc4MSAwLjcyMzQyNEwxOS4yNzkgMy44MjQzMkMxOS43NDA3IDQuMjg2IDIwLjAwMDEgNC45MTIxNyAyMC4wMDAxIDUuNTY1MDhDMjAuMDAwMSA2LjIxNzk5IDE5Ljc0MDcgNi44NDQxNiAxOS4yNzkgNy4zMDU4NEw3Ljk1NzUxIDE4LjYyMzhDNy4yNTkwMyAxOS40Mjk1IDYuMjY4OSAxOS45MjQ1IDUuMTM0NiAyMC4wMDIzSDBWMTkuMDAyM0wwLjAwMzI0NzU0IDE0Ljc4NzNDMC4wODg0MzgxIDEzLjczMjggMC41Nzg2NjcgMTIuNzUyMyAxLjMyNjUgMTIuMDkzNEwxMi42OTU0IDAuNzI0NjNDMTMuMTU2NCAwLjI2MDgzMSAxMy43ODM0IDAgMTQuNDM3NCAwWk01LjA2NDAxIDE4LjAwNDhDNS41OTgyMyAxNy45NjcgNi4wOTU1MSAxNy43MTg0IDYuNDk0ODIgMTcuMjYxNkwxNC4wNTY3IDkuNjk5NzFMMTAuMzAyNCA1Ljk0NTE4TDIuNjk2MTMgMTMuNTQ5NkMyLjI5MDk4IDEzLjkwNzkgMi4wNDAzNCAxNC40MDkyIDIuMDAwMDMgMTQuODY3OFYxOC4wMDI5TDUuMDY0MDEgMTguMDA0OFpNMTEuNzE2NyA0LjUzMTE0TDE1LjQ3MSA4LjI4NTQ5TDE3Ljg2NDggNS44OTE2MkMxNy45NTE0IDUuODA1MDIgMTguMDAwMSA1LjY4NzU2IDE4LjAwMDEgNS41NjUwOEMxOC4wMDAxIDUuNDQyNiAxNy45NTE0IDUuMzI1MTQgMTcuODY0OCA1LjIzODU0TDE0Ljc2MTIgMi4xMzQ4NkMxNC42NzU1IDIuMDQ4NTUgMTQuNTU5IDIgMTQuNDM3NCAyQzE0LjMxNTggMiAxNC4xOTkyIDIuMDQ4NTUgMTQuMTEzNiAyLjEzNDg2TDExLjcxNjcgNC41MzExNFpcIiBmaWxsPVwiIzMyM0U4QlwiLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIXRhZy5wcmVzZW50T3JFZGl0KSB7XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgbWF0LWljb24tYnV0dG9uPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjgwMHB4XCIgaGVpZ2h0PVwiODAwcHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgcm9sZT1cImltZ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJzYXZlSWNvblRpdGxlXCIgc3Ryb2tlPVwiIzAwMDAwMFwiIHN0cm9rZS13aWR0aD1cIjFcIiBzdHJva2UtbGluZWNhcD1cInNxdWFyZVwiXG4gICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cIm1pdGVyXCIgZmlsbD1cIm5vbmVcIiBjb2xvcj1cIiMwMDAwMDBcIj48dGl0bGUgaWQ9XCJzYXZlSWNvblRpdGxlXCI+U2F2ZTwvdGl0bGU+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xNy4yOTI4OTMyLDMuMjkyODkzMjIgTDIxLDcgTDIxLDIwIEMyMSwyMC41NTIyODQ3IDIwLjU1MjI4NDcsMjEgMjAsMjEgTDQsMjEgQzMuNDQ3NzE1MjUsMjEgMywyMC41NTIyODQ3IDMsMjAgTDMsNCBDMywzLjQ0NzcxNTI1IDMuNDQ3NzE1MjUsMyA0LDMgTDE2LjU4NTc4NjQsMyBDMTYuODUxMDAyOSwzIDE3LjEwNTM1NjgsMy4xMDUzNTY4NCAxNy4yOTI4OTMyLDMuMjkyODkzMjIgWlwiLz5cbiAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjhcIiB4PVwiN1wiIHk9XCIxM1wiLz5cbiAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiNVwiIHg9XCI4XCIgeT1cIjNcIi8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkZWxldGVJdGVtKClcIiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJ3YXJuXCI+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy40OTk4OCAwLjgzMzMzMkgxMi40OTk5QzEzLjQyMDQgMC44MzMzMzIgMTQuMTY2NSAxLjU3OTUyIDE0LjE2NjUgMi41VjMuMzMzMzNIMTYuNjY2NUMxNy41ODcgMy4zMzMzMyAxOC4zMzMyIDQuMDc5NTIgMTguMzMzMiA0Ljk5OTk5VjYuNjY2NjZDMTguMzMzMiA3LjU4NzE0IDE3LjU4NyA4LjMzMzMzIDE2LjY2NjUgOC4zMzMzM0gxNi41OTk4TDE1LjgzMzIgMTcuNUMxNS44MzMyIDE4LjQyMDUgMTUuMDg3IDE5LjE2NjcgMTQuMTY2NSAxOS4xNjY3SDUuODMzMkM0LjkxMjcyIDE5LjE2NjcgNC4xNjY1MyAxOC40MjA1IDQuMTY5NDEgMTcuNTY5MkwzLjM5OTc1IDguMzMzMzNIMy4zMzMxN0MyLjQxMjcgOC4zMzMzMyAxLjY2NjUgNy41ODcxNCAxLjY2NjUgNi42NjY2NlY0Ljk5OTk5QzEuNjY2NSA0LjA3OTUyIDIuNDEyNyAzLjMzMzMzIDMuMzMzMTcgMy4zMzMzM0g1LjgzMzIxVjIuNUM1LjgzMzIxIDEuNTc5NTIgNi41Nzk0IDAuODMzMzMyIDcuNDk5ODggMC44MzMzMzJaTTUuODMzMjEgNVY0Ljk5OTk5SDMuMzMzMTdWNi42NjY2NkgxNi42NjY1VjQuOTk5OTlMMTQuMTY2NSA1SDUuODMzMjFaTTUuODMzMjQgMTcuNUw1LjA3MTk4IDguMzMzMzNIMTQuOTI3NkwxNC4xNjk1IDE3LjQzMDhMMTQuMTY2NiAxNy41SDUuODMzMjRaTTEyLjQ5OTkgMi41VjMuMzMzMzRINy40OTk5MlYyLjVIMTIuNDk5OVpcIiBmaWxsPVwiI0Y5NjY2NlwiLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvZGl2PlxuIl19