UNPKG

@wizco/fenixds-ngx

Version:

Componentes fenix design system para Angular.

91 lines 22.4 kB
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core'; import { CommonModule } from '@angular/common'; import { animate, style, transition, trigger } from '@angular/animations'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class MsgBoxFeedbackComponent { /* * Sombra do componente * @param {boolean} shadow * @default true * @example true | false */ shadow = false; /* * Modo do componente * @param {MsgBoxFeedbackTypes['mode']} mode * @default 'fit' * @example 'fit' | 'full' */ mode = 'fit'; /* * Título do componente * @param {MsgBoxFeedbackTypes['title']} title */ title; /* * Mensagem do componente * @param {MsgBoxFeedbackTypes['message']} message */ message; /* * Tipo do componente * @param {MsgBoxFeedbackTypes['type']} type */ type = 'error'; /* * Remover botão de fechar * @param {boolean} hideClose */ hideClose = false; /* * Evento emitido ao fechar o componente * @param {EventEmitter<any>} */ onClose = new EventEmitter(); constructor() { } close() { this.onClose.emit(true); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MsgBoxFeedbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MsgBoxFeedbackComponent, isStandalone: true, selector: "wco-msg-box-feedback", inputs: { shadow: "shadow", mode: "mode", title: "title", message: "message", type: "type", hideClose: "hideClose" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div \n [ngClass]=\"'box-feedback box-feedback-' + type + ' mode-' + mode\"\n [className]=\"shadow ? 'mode-shadow' : ''\"\n @fadeSlideInOut>\n <div class=\"box-feedback--icon\" *ngIf=\"type !== 'loading'\">\n <span *ngIf=\"type === 'error'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">error</span>\n <span *ngIf=\"type === 'warning'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">warning</span>\n <span *ngIf=\"type === 'info'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">info</span>\n <span *ngIf=\"type === 'success'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">check_circle</span>\n </div>\n <svg *ngIf=\"type === 'loading'\" class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--box-feedback-icon-color)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n <div class=\"box-feedback--content\">\n <div class=\"box-feedback--header\"> \n <h6 class=\"display-6 bold\">\n {{ title }}\n </h6>\n <a class=\"btn-close\" (click)=\"close()\" *ngIf=\"!hideClose\" >\n <svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.25 0.758431C10.925 0.433431 10.4 0.433431 10.075 0.758431L5.99998 4.8251L1.92498 0.750098C1.59998 0.425098 1.07498 0.425098 0.749976 0.750098C0.424976 1.0751 0.424976 1.6001 0.749976 1.9251L4.82498 6.0001L0.749976 10.0751C0.424976 10.4001 0.424976 10.9251 0.749976 11.2501C1.07498 11.5751 1.59998 11.5751 1.92498 11.2501L5.99998 7.1751L10.075 11.2501C10.4 11.5751 10.925 11.5751 11.25 11.2501C11.575 10.9251 11.575 10.4001 11.25 10.0751L7.17497 6.0001L11.25 1.9251C11.5666 1.60843 11.5666 1.0751 11.25 0.758431Z\" />\n </svg>\n </a>\n </div>\n <p class=\"display-p\">{{ message }}</p>\n </div>\n</div>\n", styles: ["wco-msg-box-feedback{display:block;width:100%;max-width:100%}div.box-feedback{align-content:initial;align-items:flex-start;background:var(--box-feedback-bg);border-radius:var(--wco-radius-sm);border:4px solid var(--box-feedback-border);display:inline-flex;padding:var(--wco-spacing-xxxs, 8px);position:relative;box-sizing:border-box;min-width:274px;min-height:84px;max-width:580px;width:auto}div.box-feedback.mode-full{width:100%;min-width:100%;max-width:100%}div.box-feedback.mode-shadow{box-shadow:var(--wco-shadow-level-1)}div.box-feedback .box-feedback--content{width:100%;display:block}div.box-feedback .box-feedback--header{display:flex;align-items:flex-start;justify-content:space-between;width:100%}div.box-feedback a.btn-close{cursor:pointer}div.box-feedback a.btn-close svg{width:12px;margin:0}div.box-feedback a.btn-close svg path{fill:var(--wco-color-neutral-700)}div.box-feedback .box-feedback--icon,div.box-feedback svg{margin:0 10px 0 0;flex:0 0 20px}div.box-feedback .box-feedback--icon path,div.box-feedback svg path{fill:var(--box-feedback-icon-color)}div.box-feedback h6{color:var(--box-feedback-title);line-height:1.2;text-wrap:pretty}div.box-feedback p{color:var(--box-feedback-text);text-wrap:pretty;line-height:1.1;margin-top:var(--wco-spacing-nano, 8px)}div.box-feedback .spinner{width:20px;height:20px;animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}div.box-feedback .loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}div.box-feedback.box-feedback-error{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-danger-500);--box-feedback-icon-color: var(--wco-color-danger-600);--box-feedback-title: var(--wco-color-danger-600)}div.box-feedback.box-feedback-success{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-success-500);--box-feedback-icon-color: var(--wco-color-success-600);--box-feedback-title: var(--wco-color-success-600)}div.box-feedback.box-feedback-warning{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-warning-500);--box-feedback-icon-color: var(--wco-color-warning-600);--box-feedback-title: var(--wco-color-warning-600)}div.box-feedback.box-feedback-info{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-info-500);--box-feedback-icon-color: var(--wco-color-info-600);--box-feedback-title: var(--wco-color-info-600)}div.box-feedback.box-feedback-loading{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-secondary-500);--box-feedback-icon-color: var(--wco-color-secondary-600);--box-feedback-title: var(--wco-color-secondary-600)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [ trigger('fadeSlideInOut', [ transition(':enter', [ style({ opacity: 0, transform: 'translateY(10px)' }), animate('500ms', style({ opacity: 1, transform: 'translateY(0)' })), ]), transition(':leave', [ animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' })), ]), ]), ], encapsulation: i0.ViewEncapsulation.None }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MsgBoxFeedbackComponent, decorators: [{ type: Component, args: [{ selector: 'wco-msg-box-feedback', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, animations: [ trigger('fadeSlideInOut', [ transition(':enter', [ style({ opacity: 0, transform: 'translateY(10px)' }), animate('500ms', style({ opacity: 1, transform: 'translateY(0)' })), ]), transition(':leave', [ animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' })), ]), ]), ], template: "<div \n [ngClass]=\"'box-feedback box-feedback-' + type + ' mode-' + mode\"\n [className]=\"shadow ? 'mode-shadow' : ''\"\n @fadeSlideInOut>\n <div class=\"box-feedback--icon\" *ngIf=\"type !== 'loading'\">\n <span *ngIf=\"type === 'error'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">error</span>\n <span *ngIf=\"type === 'warning'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">warning</span>\n <span *ngIf=\"type === 'info'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">info</span>\n <span *ngIf=\"type === 'success'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">check_circle</span>\n </div>\n <svg *ngIf=\"type === 'loading'\" class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--box-feedback-icon-color)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n <div class=\"box-feedback--content\">\n <div class=\"box-feedback--header\"> \n <h6 class=\"display-6 bold\">\n {{ title }}\n </h6>\n <a class=\"btn-close\" (click)=\"close()\" *ngIf=\"!hideClose\" >\n <svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.25 0.758431C10.925 0.433431 10.4 0.433431 10.075 0.758431L5.99998 4.8251L1.92498 0.750098C1.59998 0.425098 1.07498 0.425098 0.749976 0.750098C0.424976 1.0751 0.424976 1.6001 0.749976 1.9251L4.82498 6.0001L0.749976 10.0751C0.424976 10.4001 0.424976 10.9251 0.749976 11.2501C1.07498 11.5751 1.59998 11.5751 1.92498 11.2501L5.99998 7.1751L10.075 11.2501C10.4 11.5751 10.925 11.5751 11.25 11.2501C11.575 10.9251 11.575 10.4001 11.25 10.0751L7.17497 6.0001L11.25 1.9251C11.5666 1.60843 11.5666 1.0751 11.25 0.758431Z\" />\n </svg>\n </a>\n </div>\n <p class=\"display-p\">{{ message }}</p>\n </div>\n</div>\n", styles: ["wco-msg-box-feedback{display:block;width:100%;max-width:100%}div.box-feedback{align-content:initial;align-items:flex-start;background:var(--box-feedback-bg);border-radius:var(--wco-radius-sm);border:4px solid var(--box-feedback-border);display:inline-flex;padding:var(--wco-spacing-xxxs, 8px);position:relative;box-sizing:border-box;min-width:274px;min-height:84px;max-width:580px;width:auto}div.box-feedback.mode-full{width:100%;min-width:100%;max-width:100%}div.box-feedback.mode-shadow{box-shadow:var(--wco-shadow-level-1)}div.box-feedback .box-feedback--content{width:100%;display:block}div.box-feedback .box-feedback--header{display:flex;align-items:flex-start;justify-content:space-between;width:100%}div.box-feedback a.btn-close{cursor:pointer}div.box-feedback a.btn-close svg{width:12px;margin:0}div.box-feedback a.btn-close svg path{fill:var(--wco-color-neutral-700)}div.box-feedback .box-feedback--icon,div.box-feedback svg{margin:0 10px 0 0;flex:0 0 20px}div.box-feedback .box-feedback--icon path,div.box-feedback svg path{fill:var(--box-feedback-icon-color)}div.box-feedback h6{color:var(--box-feedback-title);line-height:1.2;text-wrap:pretty}div.box-feedback p{color:var(--box-feedback-text);text-wrap:pretty;line-height:1.1;margin-top:var(--wco-spacing-nano, 8px)}div.box-feedback .spinner{width:20px;height:20px;animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}div.box-feedback .loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}div.box-feedback.box-feedback-error{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-danger-500);--box-feedback-icon-color: var(--wco-color-danger-600);--box-feedback-title: var(--wco-color-danger-600)}div.box-feedback.box-feedback-success{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-success-500);--box-feedback-icon-color: var(--wco-color-success-600);--box-feedback-title: var(--wco-color-success-600)}div.box-feedback.box-feedback-warning{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-warning-500);--box-feedback-icon-color: var(--wco-color-warning-600);--box-feedback-title: var(--wco-color-warning-600)}div.box-feedback.box-feedback-info{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-info-500);--box-feedback-icon-color: var(--wco-color-info-600);--box-feedback-title: var(--wco-color-info-600)}div.box-feedback.box-feedback-loading{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-secondary-500);--box-feedback-icon-color: var(--wco-color-secondary-600);--box-feedback-title: var(--wco-color-secondary-600)}\n"] }] }], ctorParameters: () => [], propDecorators: { shadow: [{ type: Input }], mode: [{ type: Input }], title: [{ type: Input }], message: [{ type: Input }], type: [{ type: Input }], hideClose: [{ type: Input }], onClose: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQW9CMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQzs7Ozs7T0FLRztJQUNNLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFeEI7Ozs7O09BS0c7SUFDTSxJQUFJLEdBQWdDLEtBQUssQ0FBQztJQUNuRDs7O09BR0c7SUFDTSxLQUFLLENBQWdDO0lBQzlDOzs7T0FHRztJQUNNLE9BQU8sQ0FBa0M7SUFDbEQ7OztPQUdHO0lBQ00sSUFBSSxHQUFnQyxPQUFPLENBQUM7SUFFckQ7OztPQUdHO0lBQ00sU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUzQjs7O09BR0c7SUFDTyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU1QyxnQkFBZSxDQUFDO0lBRWhCLEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQWhEVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix1T0N2QnBDLGkrREE2QkEsd3FHRHRCWSxZQUFZLG1OQUlWO1lBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO2dCQUN4QixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNuQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUNwRCxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7aUJBQ3BFLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7aUJBQ3ZFLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzRGQUVVLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCO3dCQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDeEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDcEQsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUNwRSxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzZCQUN2RSxDQUFDO3lCQUNILENBQUM7cUJBQ0g7d0RBU1EsTUFBTTtzQkFBZCxLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1JLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNc2dCb3hGZWVkYmFja1R5cGVzIH0gZnJvbSAnLi9tc2ctYm94LWZlZWJhY2sudHlwZXMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1tc2ctYm94LWZlZWRiYWNrJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tc2ctYm94LWZlZWRiYWNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZVNsaWRlSW5PdXQnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMHB4KScgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zJywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTBweCknIH0pKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNc2dCb3hGZWVkYmFja0NvbXBvbmVudCB7XG4gIC8qXG4gICAqIFNvbWJyYSBkbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hhZG93XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGV4YW1wbGUgdHJ1ZSB8IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSBzaGFkb3cgPSBmYWxzZTtcblxuICAvKlxuICAgKiBNb2RvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWydtb2RlJ119IG1vZGVcbiAgICogQGRlZmF1bHQgJ2ZpdCdcbiAgICogQGV4YW1wbGUgJ2ZpdCcgfCAnZnVsbCdcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6IE1zZ0JveEZlZWRiYWNrVHlwZXNbJ21vZGUnXSA9ICdmaXQnO1xuICAvKlxuICAgKiBUw610dWxvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWyd0aXRsZSddfSB0aXRsZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUhOiBNc2dCb3hGZWVkYmFja1R5cGVzWyd0aXRsZSddO1xuICAvKlxuICAgKiBNZW5zYWdlbSBkbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7TXNnQm94RmVlZGJhY2tUeXBlc1snbWVzc2FnZSddfSBtZXNzYWdlXG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlITogTXNnQm94RmVlZGJhY2tUeXBlc1snbWVzc2FnZSddO1xuICAvKlxuICAgKiBUaXBvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWyd0eXBlJ119IHR5cGVcbiAgICovXG4gIEBJbnB1dCgpIHR5cGU6IE1zZ0JveEZlZWRiYWNrVHlwZXNbJ3R5cGUnXSA9ICdlcnJvcic7XG5cbiAgLypcbiAgICogUmVtb3ZlciBib3TDo28gZGUgZmVjaGFyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGlkZUNsb3NlXG4gICAqL1xuICBASW5wdXQoKSBoaWRlQ2xvc2UgPSBmYWxzZTtcblxuICAvKlxuICAgKiBFdmVudG8gZW1pdGlkbyBhbyBmZWNoYXIgbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2xvc2UuZW1pdCh0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiBcbiAgW25nQ2xhc3NdPVwiJ2JveC1mZWVkYmFjayBib3gtZmVlZGJhY2stJyArIHR5cGUgKyAnIG1vZGUtJyArIG1vZGVcIlxuICBbY2xhc3NOYW1lXT1cInNoYWRvdyA/ICdtb2RlLXNoYWRvdycgOiAnJ1wiXG4gIEBmYWRlU2xpZGVJbk91dD5cbiAgPGRpdiBjbGFzcz1cImJveC1mZWVkYmFjay0taWNvblwiICpuZ0lmPVwidHlwZSAhPT0gJ2xvYWRpbmcnXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSAnZXJyb3InXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHN0eWxlPVwiY29sb3I6IHZhcigtLWJveC1mZWVkYmFjay1pY29uLWNvbG9yKTtcIj5lcnJvcjwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICd3YXJuaW5nJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+d2FybmluZzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdpbmZvJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+aW5mbzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdzdWNjZXNzJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+Y2hlY2tfY2lyY2xlPC9zcGFuPlxuICA8L2Rpdj5cbiAgPHN2ZyAqbmdJZj1cInR5cGUgPT09ICdsb2FkaW5nJ1wiIGNsYXNzPVwic3Bpbm5lclwiIHZpZXdCb3g9XCIwIDAgNjYgNjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGNpcmNsZSBjbGFzcz1cImxvYWRpbmctaWNvblwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwidmFyKC0tYm94LWZlZWRiYWNrLWljb24tY29sb3IpXCIgc3Ryb2tlLXdpZHRoPVwiNlwiXG4gICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgY3g9XCIzM1wiIGN5PVwiMzNcIiByPVwiMzBcIj48L2NpcmNsZT5cbiAgPC9zdmc+XG4gIDxkaXYgY2xhc3M9XCJib3gtZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm94LWZlZWRiYWNrLS1oZWFkZXJcIj4gXG4gICAgICA8aDYgY2xhc3M9XCJkaXNwbGF5LTYgYm9sZFwiPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9oNj5cbiAgICAgIDxhIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIiAqbmdJZj1cIiFoaWRlQ2xvc2VcIiA+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTExLjI1IDAuNzU4NDMxQzEwLjkyNSAwLjQzMzQzMSAxMC40IDAuNDMzNDMxIDEwLjA3NSAwLjc1ODQzMUw1Ljk5OTk4IDQuODI1MUwxLjkyNDk4IDAuNzUwMDk4QzEuNTk5OTggMC40MjUwOTggMS4wNzQ5OCAwLjQyNTA5OCAwLjc0OTk3NiAwLjc1MDA5OEMwLjQyNDk3NiAxLjA3NTEgMC40MjQ5NzYgMS42MDAxIDAuNzQ5OTc2IDEuOTI1MUw0LjgyNDk4IDYuMDAwMUwwLjc0OTk3NiAxMC4wNzUxQzAuNDI0OTc2IDEwLjQwMDEgMC40MjQ5NzYgMTAuOTI1MSAwLjc0OTk3NiAxMS4yNTAxQzEuMDc0OTggMTEuNTc1MSAxLjU5OTk4IDExLjU3NTEgMS45MjQ5OCAxMS4yNTAxTDUuOTk5OTggNy4xNzUxTDEwLjA3NSAxMS4yNTAxQzEwLjQgMTEuNTc1MSAxMC45MjUgMTEuNTc1MSAxMS4yNSAxMS4yNTAxQzExLjU3NSAxMC45MjUxIDExLjU3NSAxMC40MDAxIDExLjI1IDEwLjA3NTFMNy4xNzQ5NyA2LjAwMDFMMTEuMjUgMS45MjUxQzExLjU2NjYgMS42MDg0MyAxMS41NjY2IDEuMDc1MSAxMS4yNSAwLjc1ODQzMVpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cImRpc3BsYXktcFwiPnt7IG1lc3NhZ2UgfX08L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=