UNPKG

cfc-ds

Version:

Design System do Conselho Federal de Contabilidade baseado no govbr-ds

588 lines 275 kB
import { Component, Input, } from '@angular/core';
import { LogoViewMode } from '../../../enums/logo-view-mode.enum';
import { ButtonType } from '../../../enums/button-type.enum';
import { ButtonDensity } from '../../../enums/button-density.enum';
import { SignInType } from '../../../enums/sign-in-type.enum';
import { SignInDensity } from '../../../enums/sign-in-density.enum';
import { AvatarDensity } from '../../../enums/avatar-density.enum';
import { TooltipPlace } from '../../../enums/tooltip-place.enum';
import { HeaderViewMode } from '../../../enums/header-view-mode.enum';
import { InputState } from '../../../enums/input-state.enum';
import { InputDensity } from '../../../enums/input-density.enum';
import { AvatarType } from '../../../enums/avatar-type.enum';
import { DividerMode } from '../../../enums/divider-mode.enum';
import { DividerType } from '../../../enums/divider-type.enum';
import { DividerAxis } from '../../../enums/divider-axis.enum';
import { DividerDensity } from '../../../enums/divider-density.enum';
import { SignInMode } from '../../../enums/sign-in-mode.enum';
import { TimerType } from '../../../enums/timer-type.enum';
import { MessageType } from '../../../enums/message-type.enum';
import { MessageState } from '../../../enums/message-state.enum';
import { CheckboxOptionState } from '../../../enums/checkbox-option-state.enum';
import { CheckboxOptionType } from '../../../enums/checkbox-option-type.enum';
import { LoadingDensity } from '../../../enums/loading-density.enum';
import { ItemType } from '../../../enums/item-type.enum';
import { IllustrationType } from '../../../enums/illustration-type.enum';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/forms";
import * as i3 from "@angular/flex-layout/flex";
import * as i4 from "../../../components/avatar/avatar.component";
import * as i5 from "../../../components/breadcrumb/breadcrumb.component";
import * as i6 from "../../../components/button/button.component";
import * as i7 from "../../../components/card/card.component";
import * as i8 from "../../../components/carousel/carousel.component";
import * as i9 from "../../../components/checkboxes/checkboxes.component";
import * as i10 from "../../../components/checkbox-option/checkbox-option.component";
import * as i11 from "../../../components/collapse/collapse.component";
import * as i12 from "../../../components/cookie-bar/cookie-bar.component";
import * as i13 from "../../../components/datetimer-picker/datetimer-picker.component";
import * as i14 from "../../../components/divider/divider.component";
import * as i15 from "../../../components/footer/footer.component";
import * as i16 from "../../../components/header/header.component";
import * as i17 from "../../../components/icon/icon.component";
import * as i18 from "../../../components/input/input.component";
import * as i19 from "../../../components/item/item.component";
import * as i20 from "../../../components/list/list.component";
import * as i21 from "../../../components/loading/loading.component";
import * as i22 from "../../../components/logo/logo.component";
import * as i23 from "../../../components/magic-button/magic-button.component";
import * as i24 from "../../../components/menu/menu.component";
import * as i25 from "../../../components/message/message.component";
import * as i26 from "../../../components/modal/modal.component";
import * as i27 from "../../../components/notification/notification.component";
import * as i28 from "../../../components/notification-panel/notification-panel.component";
import * as i29 from "../../../components/page-content/page-content.component";
import * as i30 from "../../../components/pagination/pagination.component";
import * as i31 from "../../../components/radio/radio.component";
import * as i32 from "../../../components/scrim/scrim.component";
import * as i33 from "../../../components/select/select.component";
import * as i34 from "../../../components/sign-in/sign-in.component";
import * as i35 from "../../../components/skiplink/skiplink.component";
import * as i36 from "../../../components/slider/slider.component";
import * as i37 from "../../../components/switch/switch.component";
import * as i38 from "../../../components/tab/tab.component";
import * as i39 from "../../../components/table/table.component";
import * as i40 from "../../../components/tag/tag.component";
import * as i41 from "../../../components/textarea/textarea.component";
import * as i42 from "../../../components/timer/timer.component";
import * as i43 from "../../../components/tooltip/tooltip.component";
import * as i44 from "../../../components/upload/upload.component";
import * as i45 from "../../../components/wizard/wizard.component";
export class TestComponentComponent {
    // inputs and outputs
    selectedComponent = {
        id: 0,
        name: '',
        clickEventName: 'setComponent',
        isAlready: false
    };
    // cfc-avatar
    avatarType = AvatarType.icon;
    avatarName = 'avatar';
    avatarDensity = AvatarDensity.medium;
    avatarImageUrl = 'https://picsum.photos/id/823/400';
    avatarTypes = Object.values(AvatarType);
    avatarDensities = Object.values(AvatarDensity);
    avatarTooltipPlaces = Object.values(TooltipPlace);
    // cfc-breadcrumb
    breadcrumbLabel = 'breadcrumb';
    breadcrumbLinks = [
        {
            label: 'Página Inicial',
            url: '/',
            target: '_blank',
            home: true
        },
        {
            label: 'Página Ancestral 01',
            url: '#',
            target: '_blank'
        },
        {
            label: 'Página Ancestral 02',
            url: '#',
            target: '_blank'
        },
        {
            label: 'Página Atual',
            active: true
        }
    ];
    breadcrumbLinksString = JSON.stringify(this.breadcrumbLinks, null, 2);
    updateBreadCrumbLinks() {
        this.breadcrumbLinks = JSON.parse(this.breadcrumbLinksString);
    }
    // cfc-button
    buttonLabel = 'button';
    buttonType = ButtonType.tertiary;
    buttonSubmit = false;
    buttonCircle = false;
    buttonDensity = ButtonDensity.middle;
    buttonDisabled = false;
    buttonBlock = false;
    buttonIcon = 'clock';
    buttonActive = false;
    buttonInverted = false;
    buttonLoading = false;
    buttonTypes = Object.values(ButtonType);
    buttonDensities = Object.values(ButtonDensity);
    buttonClickEvent = () => alert('button event dispared!');
    // cfc-card
    cardDisabled = false;
    cardHover = false;
    // cfc-checkbox-option
    checkboxOptionState = CheckboxOptionState.default;
    checkboxOptionType = CheckboxOptionType.withRightLabel;
    checkboxOptionChecked = false;
    checkboxOptionOption = {
        name: 'OPÇÃO1',
        value: 'opção 1',
        checked: false
    };
    checkboxOptionStates = Object.values(CheckboxOptionState);
    checkboxOptionTypes = Object.values(CheckboxOptionType);
    // cfc-divider
    dividerMode = DividerMode.line;
    dividerType = DividerType.primary;
    dividerAxis = DividerAxis.horizontal;
    dividerDensity = DividerDensity.small;
    dividerModes = Object.values(DividerMode);
    dividerTypes = Object.values(DividerType);
    dividerAxises = Object.values(DividerAxis);
    dividerDensities = Object.values(DividerDensity);
    // cfc-footer
    footerProjectName = 'EPC';
    footerProjectVersion = '1.0.0';
    // cfc-header
    headerTitle = 'Testando Header';
    headerDescription = 'Esse é apenas um teste';
    headerUserName = 'Ana Freitas';
    headerHasMenu = false;
    headerHasTimer = true;
    headerHasBookIcon = true;
    headerTimeOut = 30;
    headerTimeCritical = 20;
    headerLogoViewMode = LogoViewMode.default;
    headerViewMode = HeaderViewMode.default;
    headerViewModes = Object.values(HeaderViewMode);
    headerLogoViewModes = Object.values(LogoViewMode);
    headerClickEvent = () => alert('logo is clicked');
    // cfc-icon
    iconName = 'home';
    iconFamilyName = 'fas';
    iconClassName = '';
    iconSize = '20px';
    iconColor = 'blue';
    // cfc-input
    inputLabel = 'input-label';
    inputType = 'text';
    inputPlaceholder = 'placeholder';
    inputState = InputState.info;
    inputDensity = InputDensity.medium;
    inputDisabled = false;
    inputButtonIcon = 'clock';
    inputIsPassword = false;
    inputLabelInline = false;
    inputIcon = 'user';
    inputValue = 'value';
    inputStates = Object.values(InputState);
    inputDensities = Object.values(InputDensity);
    inputOnChange = () => alert('input value is changed');
    inputOnInput = () => alert('input value is submited');
    inputOnIconClicked = () => alert('input icon os clicked');
    inputOnIconSubmited = () => alert('input icon submited the value');
    // cfc-item
    itemType = ItemType.default;
    itemDisabled = false;
    itemSelected = false;
    itemHasDivider = true;
    itemContent = 'Item 1';
    itemUrl = 'https://www.google.com';
    itemTypes = Object.values(ItemType);
    // cfc-loading
    loadingDensity = LoadingDensity.medium;
    loadingProgress;
    loadingDensities = Object.values(LoadingDensity);
    // cfc-logo
    logoWidth = 100;
    logoIsClickable = false;
    logoViewMode = LogoViewMode.default;
    logoViewModes = Object.values(LogoViewMode);
    logoClickEvent = () => alert('a logo está clicável');
    // cfc-menu
    menuItems = [
        {
            id: 1,
            iconName: 'folder',
            name: 'Capacitadora',
            list: [
                {
                    iconName: 'laptop',
                    name: 'Gerenciamento',
                    url: 'capacitadora/gerenciamento',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'comment',
                    name: 'Homologação',
                    url: 'capacitadora/homologacao',
                    clickEventlabel: 'navigate',
                },
            ],
        },
        {
            id: 2,
            iconName: 'folder',
            name: 'Minhas Atividades',
            list: [
                {
                    iconName: 'list',
                    name: 'Curso',
                    url: 'minhas-atividades/curso',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Evento',
                    url: 'minhas-atividades/evento',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Docência e Orientação',
                    url: 'minhas-atividades/docencia',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Participação em bancas',
                    url: 'minhas-atividades/bancas',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Comissão',
                    url: 'minhas-atividades/comissao',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Curso Exterior',
                    url: 'minhas-atividades/curso-exterior',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Produção Intelectual',
                    url: 'minhas-atividades/producao-intelectual',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'list',
                    name: 'Pós, Grad. e Extensão',
                    url: 'minhas-atividades/pos-graduacao',
                    clickEventlabel: 'navigate',
                },
            ],
        },
        {
            id: 3,
            iconName: 'folder',
            name: 'Homologacao',
            list: [
                {
                    iconName: 'clone',
                    name: 'Curso',
                    url: 'homologacao/curso',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Evento',
                    url: 'homologacao/evento',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Docência e Orientação',
                    url: 'homologacao/docencia',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Participacao em bancas',
                    url: 'homologacao/banca',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Comissão',
                    url: 'homologacao/comissao',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Curso Exterior',
                    url: 'homologacao/exterior',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Produção Intelectual',
                    url: 'homologacao/producao-intelectual',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'clone',
                    name: 'Pós, Grad. e Extensão',
                    url: 'homologacao/pos-graduacao',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'book',
                    name: 'Câmara Plenária',
                    url: 'homologacao/camara-plenaria',
                    clickEventlabel: 'navigate',
                },
            ],
        },
        {
            id: 4,
            iconName: 'folder',
            name: 'Cadastros',
            list: [
                {
                    iconName: 'user-plus',
                    name: 'Abrangência',
                    url: 'cadastro/abrangencia',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'calendar-check',
                    name: 'Área',
                    url: 'cadastro/area',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'book',
                    name: 'Área Temática',
                    url: 'cadastro/area-tematica',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'calendar-check',
                    name: 'Critério de Avaliação',
                    url: 'cadastro/criterio-avaliacao',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'calendar-check',
                    name: 'Formação Acadêmica',
                    url: 'cadastro/formacao-academica',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'calendar-check',
                    name: 'Instituição',
                    url: 'cadastro/instituicao',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'calendar-check',
                    name: 'Instrutor',
                    url: 'cadastro/instrutor',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'bars',
                    name: 'Modalidade',
                    url: 'cadastro/modalidade',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'briefcase',
                    name: 'Público Alvo',
                    url: 'cadastro/publico-alvo',
                    clickEventlabel: 'navigate',
                },
            ],
        },
        {
            id: 5,
            iconName: 'folder',
            name: 'Prestação de Contas',
            list: [
                {
                    iconName: 'wallet',
                    name: 'Rel. Atividades',
                    url: 'prestacao/atividades',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Profissionais',
                    url: 'prestacao/profissionais',
                    clickEventlabel: 'navigate',
                },
                // {
                //   iconName: 'wallet',
                //   name: 'Rel. Profissionais 2017',
                //   url: '#',
                //   clickEventlabel: 'navigate',
                // },
                {
                    iconName: 'wallet',
                    name: 'Rel. Atividades Físico',
                    url: 'prestacao/atividades-fisico',
                    clickEventlabel: 'navigate',
                },
            ],
        },
        {
            id: 6,
            iconName: 'folder',
            name: 'Relatório Gerencial',
            list: [
                {
                    iconName: 'wallet',
                    name: 'Rel. Prestação de Conta',
                    url: 'relatorio/prestacao-conta',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Atividades Julgadas',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Atividades por Atas',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Prof. CNAI e CNPC',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Part. por Curso',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Turma por Curso',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Curso por Capac.',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Part. por Evento',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Evento por Cap',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Edição de Evento',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'wallet',
                    name: 'Rel. Edição de Evento',
                    url: '#',
                    clickEventlabel: 'navigate',
                },
                {
                    iconName: 'folder',
                    name: 'Relatório de Gestor',
                    list: [
                        {
                            iconName: 'wallet',
                            name: 'Ativ. Aguard. Análise',
                            url: '#',
                            clickEventlabel: 'navigate',
                        },
                        {
                            iconName: 'wallet',
                            name: 'Ativ. em Análise',
                            url: '#',
                            clickEventlabel: 'navigate',
                        },
                        {
                            iconName: 'wallet',
                            name: 'Ativ. Julg. Membro',
                            url: '#',
                            clickEventlabel: 'navigate',
                        },
                    ],
                },
            ],
        },
    ];
    // cfc-message
    messageType = MessageType.feedback;
    messageState = MessageState.warning;
    messageMessage = 'Mensagem de alerta.';
    messageDescription = 'Descrição da mensagem de alerta';
    messageTypes = Object.values(MessageType);
    messageStates = Object.values(MessageState);
    // cfc-select
    selectLabel = 'Select Label';
    selectPlaceholder = 'selecione o item';
    selectFeedbackMessage = 'feedback auxiliar de controle';
    selectFeedbackState = MessageState.warning;
    // cfc-sign-in
    signInLabel = 'cfc label';
    signInType = SignInType.primary;
    signInDensity = SignInDensity.middle;
    signInMode = SignInMode.internal;
    signInDisabled = false;
    signInBlock = false;
    signInCircle = false;
    signInExternalLabel = 'gov.br';
    signInExternalImageUrl = 'https://upload.wikimedia.org/wikipedia/commons/c/c1/Google_%22G%22_logo.svg';
    signInTypes = Object.values(SignInType);
    signInDensities = Object.values(SignInDensity);
    signInModes = Object.values(SignInMode);
    // cfc-template-error
    illustrations = IllustrationType;
    // cfc-timer
    timerType = TimerType.primary;
    timer = 120;
    timerCritical = 115;
    timerTypes = Object.values(TimerType);
    onTimeEvent = () => {
        this.timer--;
    };
    onTimeOutEvent = () => {
        alert('encerrou a contagem regressiva');
        window.location.reload();
    };
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestComponentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TestComponentComponent, selector: "cfc-test-component", inputs: { selectedComponent: "selectedComponent" }, ngImport: i0, template: "<ng-container *ngIf=\"selectedComponent.name; else noComponentSelected\">\r\n  <div\r\n    fxFlex=\"grow\"\r\n    fxLayout=\"column\"\r\n    fxLayoutAlign=\"stretch center\"\r\n    fxLayoutGap=\"1rem\">\r\n\r\n    <h2 style=\"font-weight: 700;\">cfc-{{ selectedComponent.name }}</h2>\r\n\r\n    <cfc-avatar\r\n      *ngIf=\"selectedComponent.name === 'avatar'\"\r\n      [type]=\"avatarType\"\r\n      [name]=\"avatarName\"\r\n      [density]=\"avatarDensity\"\r\n      [imageUrl]=\"avatarImageUrl\"\r\n    ></cfc-avatar>\r\n\r\n    <cfc-breadcrumb\r\n      *ngIf=\"selectedComponent.name === 'breadcrumb'\"\r\n      [label]=\"breadcrumbLabel\"\r\n    ></cfc-breadcrumb>\r\n\r\n    <cfc-button\r\n      *ngIf=\"selectedComponent.name === 'button'\"\r\n      [label]=\"buttonLabel\"\r\n      [type]=\"buttonType\"\r\n      [submit]=\"buttonSubmit\"\r\n      [circle]=\"buttonCircle\"\r\n      [density]=\"buttonDensity\"\r\n      [disabled]=\"buttonDisabled\"\r\n      [block]=\"buttonBlock\"\r\n      [icon]=\"buttonIcon\"\r\n      [active]=\"buttonActive\"\r\n      [inverted]=\"buttonInverted\"\r\n      [loading]=\"buttonLoading\"\r\n      (click)=\"buttonClickEvent()\"\r\n    ></cfc-button>\r\n\r\n    <cfc-card\r\n      *ngIf=\"selectedComponent.name === 'card'\"\r\n      [disabled]=\"cardDisabled\"\r\n      [hover]=\"cardHover\"\r\n    ></cfc-card>\r\n\r\n    <cfc-carousel\r\n      *ngIf=\"selectedComponent.name === 'carousel'\"\r\n    ></cfc-carousel>\r\n\r\n    <cfc-checkboxes\r\n      *ngIf=\"selectedComponent.name === 'checkboxes'\"\r\n    ></cfc-checkboxes>\r\n\r\n    <cfc-checkbox-option\r\n      *ngIf=\"selectedComponent.name === 'checkbox-option'\"\r\n      [state]=\"checkboxOptionState\"\r\n      [type]=\"checkboxOptionType\"\r\n      [option]=\"checkboxOptionOption\"\r\n      [(checked)]=\"checkboxOptionChecked\"\r\n    ></cfc-checkbox-option>\r\n\r\n    <cfc-collapse\r\n      *ngIf=\"selectedComponent.name === 'collapse'\"\r\n    ></cfc-collapse>\r\n\r\n    <cfc-cookie-bar\r\n      *ngIf=\"selectedComponent.name === 'cookie-bar'\"\r\n    ></cfc-cookie-bar>\r\n\r\n    <cfc-datetimer-picker\r\n      *ngIf=\"selectedComponent.name === 'datetimer-picker'\"\r\n    ></cfc-datetimer-picker>\r\n\r\n    <div *ngIf=\"selectedComponent.name === 'divider'\"\r\n      [fxLayout]=\"dividerAxis === 'horizontal' ? 'column' : 'row'\">\r\n      <div>Uma coisa</div>\r\n      <cfc-divider\r\n        [mode]=\"dividerMode\"\r\n        [type]=\"dividerType\"\r\n        [axis]=\"dividerAxis\"\r\n        [density]=\"dividerDensity\"\r\n      ></cfc-divider>\r\n      <div>Ou outra</div>\r\n    </div>\r\n\r\n    <cfc-footer\r\n      *ngIf=\"selectedComponent.name === 'footer'\"\r\n      [projectName]=\"footerProjectName\"\r\n      [projectVersion]=\"footerProjectVersion\"\r\n    ></cfc-footer>\r\n\r\n    <cfc-header\r\n      *ngIf=\"selectedComponent.name === 'header'\"\r\n      [title]=\"headerTitle\"\r\n      [description]=\"headerDescription\"\r\n      [userName]=\"headerUserName\"\r\n      [viewMode]=\"headerViewMode\"\r\n      [hasMenu]=\"headerHasMenu\"\r\n      [hasTimer]=\"headerHasTimer\"\r\n      [hasBookIcon]=\"headerHasBookIcon\"\r\n      [logoViewMode]=\"headerLogoViewMode\"\r\n      [timeLogout]=\"headerTimeOut\"\r\n      [timeCritical]=\"headerTimeCritical\"\r\n      (criticalTimeEvent)=\"headerClickEvent()\"\r\n    ></cfc-header>\r\n\r\n    <cfc-icon\r\n      *ngIf=\"selectedComponent.name === 'icon'\"\r\n      [iconName]=\"iconName\"\r\n      [familyName]=\"iconFamilyName\"\r\n      [className]=\"iconClassName\"\r\n      [size]=\"iconSize\"\r\n      [color]=\"iconColor\"\r\n    ></cfc-icon>\r\n\r\n    <cfc-input\r\n      *ngIf=\"selectedComponent.name === 'input'\"\r\n      [disabled]=\"inputDisabled\"\r\n      [density]=\"inputDensity\"\r\n      [isPassword]=\"inputIsPassword\"\r\n      [label]=\"inputLabel\"\r\n      [type]=\"inputType\"\r\n      [buttonIcon]=\"inputButtonIcon\"\r\n      [placeholder]=\"inputPlaceholder\"\r\n      [labelInline]=\"inputLabelInline\"\r\n      [state]=\"inputState\"\r\n      [icon]=\"inputIcon\"\r\n      (onChange)=\"inputOnChange()\"\r\n      (onInput)=\"inputOnInput()\"\r\n      (onIconClicked)=\"inputOnIconClicked()\"\r\n      (onIconSubmited)=\"inputOnIconSubmited()\"\r\n    ></cfc-input>\r\n\r\n    <cfc-item\r\n      *ngIf=\"selectedComponent.name === 'item'\"\r\n      [type]=\"itemType\"\r\n      [disabled]=\"itemDisabled\"\r\n      [selected]=\"itemSelected\"\r\n      [hasDivider]=\"itemHasDivider\"\r\n      [url]=\"itemUrl\">\r\n      <span default>\r\n        {{ itemContent }}\r\n      </span>\r\n      <span button>\r\n        {{ itemContent }}\r\n      </span>\r\n      <span link>\r\n        {{ itemContent }}\r\n      </span>\r\n    </cfc-item>\r\n\r\n    <cfc-loading\r\n      *ngIf=\"selectedComponent.name === 'loading'\"\r\n      [density]=\"loadingDensity\"\r\n      [progress]=\"loadingProgress\"\r\n    ></cfc-loading>\r\n\r\n    <cfc-list\r\n      *ngIf=\"selectedComponent.name === 'list'\"\r\n      [title]=\"'Minha Lista'\">\r\n      <cfc-list-item>\r\n        Item 1\r\n      </cfc-list-item>\r\n      <cfc-list-item>\r\n        Item 2\r\n      </cfc-list-item>\r\n      <cfc-list-item>\r\n        <strong>Item 3 com conte\u00FAdo personalizado</strong>\r\n      </cfc-list-item>\r\n    </cfc-list>\r\n\r\n    <cfc-logo\r\n      *ngIf=\"selectedComponent.name === 'logo'\"\r\n      [width]=\"logoWidth\"\r\n      [viewMode]=\"logoViewMode\"\r\n      [isClickable]=\"logoIsClickable\"\r\n      (clickEvent)=\"logoClickEvent\"\r\n    ></cfc-logo>\r\n\r\n    <cfc-magic-button\r\n      *ngIf=\"selectedComponent.name === 'magic-button'\"\r\n    ></cfc-magic-button>\r\n\r\n    <cfc-menu\r\n      *ngIf=\"selectedComponent.name === 'menu'\"\r\n      [menuItems]=\"menuItems\"\r\n    ></cfc-menu>\r\n\r\n    <cfc-message\r\n      #message\r\n      [hidden]=\"selectedComponent.name !== 'message'\"\r\n      [type]=\"messageType\"\r\n      [state]=\"messageState\"\r\n      [message]=\"messageMessage\"\r\n      [description]=\"messageDescription\"\r\n    ></cfc-message>\r\n\r\n    <cfc-modal\r\n      *ngIf=\"selectedComponent.name === 'modal'\"\r\n    ></cfc-modal>\r\n\r\n    <cfc-notification\r\n      *ngIf=\"selectedComponent.name === 'notification'\"\r\n    ></cfc-notification>\r\n\r\n    <cfc-notification-panel\r\n      *ngIf=\"selectedComponent.name === 'notification-panel'\"\r\n    ></cfc-notification-panel>\r\n\r\n    <cfc-page-content\r\n      *ngIf=\"selectedComponent.name === 'page-content'\"\r\n    ></cfc-page-content>\r\n\r\n    <cfc-pagination\r\n      *ngIf=\"selectedComponent.name === 'pagination'\"\r\n    ></cfc-pagination>\r\n\r\n    <cfc-radio\r\n      *ngIf=\"selectedComponent.name === 'radio'\"\r\n    ></cfc-radio>\r\n\r\n    <cfc-scrim\r\n      *ngIf=\"selectedComponent.name === 'scrim'\"\r\n    ></cfc-scrim>\r\n\r\n    <cfc-select\r\n      *ngIf=\"selectedComponent.name === 'select'\"\r\n      [placeholder]=\"selectPlaceholder\"\r\n      [label]=\"selectLabel\"\r\n      [feedbackMessage]=\"selectFeedbackMessage\"\r\n      [feedbackState]=\"selectFeedbackState\"\r\n    ></cfc-select>\r\n\r\n    <cfc-sign-in\r\n      *ngIf=\"selectedComponent.name === 'sign-in'\"\r\n      [label]=\"signInLabel\"\r\n      [type]=\"signInType\"\r\n      [density]=\"signInDensity\"\r\n      [mode]=\"signInMode\"\r\n      [disabled]=\"signInDisabled\"\r\n      [block]=\"signInBlock\"\r\n      [circle]=\"signInCircle\"\r\n      [externalImageUrl]=\"signInExternalImageUrl\"\r\n      [externalLabel]=\"signInExternalLabel\"\r\n    ></cfc-sign-in>\r\n\r\n    <cfc-skiplink\r\n      *ngIf=\"selectedComponent.name === 'skiplink'\"\r\n    ></cfc-skiplink>\r\n\r\n    <cfc-slider\r\n      *ngIf=\"selectedComponent.name === 'slider'\"\r\n    ></cfc-slider>\r\n\r\n    <cfc-switch\r\n      *ngIf=\"selectedComponent.name === 'switch'\"\r\n    ></cfc-switch>\r\n\r\n    <cfc-tab\r\n      *ngIf=\"selectedComponent.name === 'tab'\"\r\n    ></cfc-tab>\r\n\r\n    <cfc-table\r\n      *ngIf=\"selectedComponent.name === 'table'\"\r\n    ></cfc-table>\r\n\r\n    <cfc-tag\r\n      *ngIf=\"selectedComponent.name === 'tag'\"\r\n    ></cfc-tag>\r\n\r\n    <cfc-template-error\r\n      *ngIf=\"selectedComponent.name === 'template-error'\"\r\n      illustrationUrl=\"assets/illustrations/error19.png\"\r\n      [principalText]=\"'Lorem Ipsum'\"\r\n      [secondaryText]=\"'Lorem Ipsum'\"\r\n      [suportText]=\"'Lorem Ipsum'\"\r\n    ></cfc-template-error>\r\n\r\n    <cfc-textarea\r\n      *ngIf=\"selectedComponent.name === 'textarea'\"\r\n    ></cfc-textarea>\r\n\r\n    <cfc-timer\r\n      *ngIf=\"selectedComponent.name === 'timer'\"\r\n      [type]=\"timerType\"\r\n      [initialTime]=\"timer\"\r\n      [criticalTime]=\"timerCritical\"\r\n      (timeEvent)=\"onTimeEvent()\"\r\n      (timeOutEvent)=\"onTimeOutEvent()\"\r\n    ></cfc-timer>\r\n\r\n    <cfc-tooltip\r\n      *ngIf=\"selectedComponent.name === 'tooltip'\"\r\n    ></cfc-tooltip>\r\n\r\n    <cfc-upload\r\n      *ngIf=\"selectedComponent.name === 'upload'\"\r\n    ></cfc-upload>\r\n\r\n    <cfc-wizard\r\n      *ngIf=\"selectedComponent.name === 'wizard'\"\r\n    ></cfc-wizard>\r\n\r\n    <div style=\"width: 100%;\">\r\n      <cfc-divider></cfc-divider>\r\n    </div>\r\n\r\n    <form\r\n      fxLayout=\"row\"\r\n      fxLayoutAlign=\"center center\"\r\n      fxLayoutGap=\"0.5rem\">\r\n\r\n      <!-- avatar -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'avatar'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"avatarType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of avatarTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"name\">\r\n                name\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"avatarName\"\r\n                name=\"name\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"avatarDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of avatarDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"imageUrl\">\r\n                imageUrl\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 300px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"avatarImageUrl\"\r\n                name=\"imageUrl\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- breadcrumb -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'breadcrumb'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"breadcrumbLabel\"\r\n                name=\"label\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- button -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'button'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"buttonLabel\"\r\n                name=\"label\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"buttonType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of buttonTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"buttonDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of buttonDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"icon\">\r\n                icon\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"buttonIcon\"\r\n                name=\"icon\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"circle\">\r\n                circle\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"circle\"\r\n                [(ngModel)]=\"buttonCircle\"\r\n                name=\"circle\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  circle\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not circle\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"submit\">\r\n                submit\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"submit\"\r\n                [(ngModel)]=\"buttonSubmit\"\r\n                name=\"submit\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  submit\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not submit\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"disabled\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"buttonDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"block\">\r\n                block\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"block\"\r\n                [(ngModel)]=\"buttonBlock\"\r\n                name=\"block\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  block\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not block\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"inverted\">\r\n                inverted\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"inverted\"\r\n                [(ngModel)]=\"buttonInverted\"\r\n                name=\"inverted\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  inverted\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not inverted\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"actived\">\r\n                active\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"active\"\r\n                [(ngModel)]=\"buttonActive\"\r\n                name=\"active\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  actived\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  inactived\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"loading\">\r\n                loading\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"loading\"\r\n                [(ngModel)]=\"buttonLoading\"\r\n                name=\"loading\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  loading\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not loading\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- checkbox-option -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'checkbox-option'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"state\">\r\n                state\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"state\"\r\n                [(ngModel)]=\"checkboxOptionState\"\r\n                name=\"state\">\r\n                <option\r\n                  *ngFor=\"let state of checkboxOptionStates\"\r\n                  [value]=\"state\">\r\n                  {{ state }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <!-- <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"checkboxOptionType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of checkboxOptionTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div> -->\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"option\">\r\n                option\r\n              </label>\r\n              <textarea\r\n                class=\"test-component__input\"\r\n                style=\"height: 90px; white-space: pre-wrap; font-family: monospace;\"\r\n                id=\"option\"\r\n                name=\"option\"\r\n                readonly>\r\n{\r\n  name: {{ checkboxOptionOption.name }},\r\n  value: {{ checkboxOptionOption.value }}\r\n}</textarea>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"checkedChange\">\r\n                checkedChange\r\n              </label>\r\n              <textarea\r\n                class=\"test-component__input\"\r\n                style=\"height: 70px; width: 220px; white-space: pre-wrap; font-family: monospace;\"\r\n                type=\"text\"\r\n                name=\"checkedChange\"\r\n                readonly>\r\n{{ checkboxOptionChecked }}\r\n{{ checkboxOptionOption.value }}{{ !checkboxOptionChecked ? ' n\u00E3o' : '' }} selecionada.</textarea>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- divider -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'divider'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"mode\">\r\n                mode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"mode\"\r\n                [(ngModel)]=\"dividerMode\"\r\n                name=\"mode\">\r\n                <option\r\n                  *ngFor=\"let mode of dividerModes\"\r\n                  [value]=\"mode\">\r\n                  {{ mode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"dividerType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of dividerTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"axis\">\r\n                axis\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"axis\"\r\n                [(ngModel)]=\"dividerAxis\"\r\n                name=\"axis\">\r\n                <option\r\n                  *ngFor=\"let axis of dividerAxises\"\r\n                  [value]=\"axis\">\r\n                  {{ axis }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"dividerDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of dividerDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- header -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'header'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"title\">\r\n                title\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"headerTitle\"\r\n                name=\"title\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"description\">\r\n                description\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"headerDescription\"\r\n                name=\"description\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"viewMode\">\r\n                viewMode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                [(ngModel)]=\"headerViewMode\"\r\n                name=\"viewMode\">\r\n                <option\r\n                  *ngFor=\"let viewMode of headerViewModes\"\r\n                  [value]=\"viewMode\">\r\n                  {{ viewMode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"userName\">\r\n                userName\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"headerUserName\"\r\n                name=\"userName\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"timeOut\">\r\n                timeOut\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"number\"\r\n                [(ngModel)]=\"headerTimeOut\"\r\n                name=\"timeOut\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"logoMode\">\r\n                logoMode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                [(ngModel)]=\"headerLogoViewMode\"\r\n                name=\"logoMode\">\r\n                <option\r\n                  *ngFor=\"let logoMode of headerLogoViewModes\"\r\n                  [value]=\"logoMode\">\r\n                  {{ logoMode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- icon -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'icon'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"iconName\">\r\n                iconName\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconName\"\r\n                name=\"iconName\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"familyName\">\r\n                familyName\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconFamilyName\"\r\n                name=\"familyName\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"className\">\r\n                className\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconClassName\"\r\n                name=\"className\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"size\">\r\n                size\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconSize\"\r\n                name=\"size\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"color\">\r\n                color\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconColor\"\r\n                name=\"color\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- input -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'input'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputLabel\"\r\n                name=\"label\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"state\">\r\n                state\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"state\"\r\n                [(ngModel)]=\"inputState\"\r\n                name=\"state\">\r\n                <option\r\n                  *ngFor=\"let type of inputStates\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"inputDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of inputDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"placeholder\">\r\n                placeholder\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputPlaceholder\"\r\n                name=\"placeholder\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"ispassword\">\r\n                ispassword\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"ispassword\"\r\n                [(ngModel)]=\"inputIsPassword\"\r\n                name=\"ispassword\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  ispassword\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not ispassword\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"disabled\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"inputDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"labelInline\">\r\n                labelInline\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"labelInline\"\r\n                [(ngModel)]=\"inputLabelInline\"\r\n                name=\"labelInline\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  row\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  column\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"iconButton\">\r\n                iconButton\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputButtonIcon\"\r\n                name=\"iconButton\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"iconButton\">\r\n                icon\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputIcon\"\r\n                name=\"icon\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- item -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'item'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"content\">\r\n                content\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"itemContent\"\r\n                name=\"content\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"itemType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of itemTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"disabled\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"itemDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"url\">\r\n                url\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"itemUrl\"\r\n                name=\"url\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"selected\">\r\n                selected\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"selected\"\r\n                [(ngModel)]=\"itemSelected\"\r\n                name=\"selected\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  selected\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not selected\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"hasDivider\">\r\n                hasDivider\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"hasDivider\"\r\n                [(ngModel)]=\"itemHasDivider\"\r\n                name=\"hasDivider\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  divider\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not divider\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- loading -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'loading'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"density\">\r\n            density\r\n          </label>\r\n          <select\r\n            class=\"test-component__input\"\r\n            [(ngModel)]=\"loadingDensity\"\r\n            name=\"density\">\r\n            <option\r\n              *ngFor=\"let density of loadingDensities\"\r\n              [value]=\"density\">\r\n              {{ density }}\r\n            </option>\r\n          </select>\r\n        </div>\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"progress\">\r\n            progress\r\n          </label>\r\n          <input\r\n            class=\"test-component__input\"\r\n            style=\"width: 100px !important;\"\r\n            type=\"number\"\r\n            [(ngModel)]=\"loadingProgress\"\r\n            name=\"progress\">\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- logo -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'logo'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"viewMode\">\r\n            viewMode\r\n          </label>\r\n          <select\r\n            class=\"test-component__input\"\r\n            [(ngModel)]=\"logoViewMode\"\r\n            name=\"viewMode\">\r\n            <option\r\n              *ngFor=\"let viewMode of logoViewModes\"\r\n              [value]=\"viewMode\">\r\n              {{ viewMode }}\r\n            </option>\r\n          </select>\r\n        </div>\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"width\">\r\n            width\r\n          </label>\r\n          <input\r\n            class=\"test-component__input\"\r\n            style=\"width: 100px !important;\"\r\n            type=\"number\"\r\n            [(ngModel)]=\"logoWidth\"\r\n            name=\"width\">\r\n        </div>\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"clickEvent\">\r\n            clickEvent\r\n          </label>\r\n          <select\r\n            class=\"test-component__input\"\r\n            id=\"logoIsClickable\"\r\n            [(ngModel)]=\"logoIsClickable\"\r\n            name=\"clickEvent\">\r\n            <option\r\n              [value]=\"true\">\r\n              clic\u00E1vel\r\n            </option>\r\n            <option\r\n              [value]=\"false\">\r\n              n\u00E3o clic\u00E1vel\r\n            </option>\r\n          </select>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- message -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'message'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"messageType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of messageTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"state\">\r\n                state\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"state\"\r\n                [(ngModel)]=\"messageState\"\r\n                name=\"state\">\r\n                <option\r\n                  *ngFor=\"let state of messageStates\"\r\n                  [value]=\"state\">\r\n                  {{ state }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"message\">\r\n                message\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 200px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"messageMessage\"\r\n                name=\"message\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"description\">\r\n                description\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 200px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"messageDescription\"\r\n                name=\"description\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <cfc-button (click)=\"message.openMessage()\" label=\"open\"></cfc-button>\r\n            <cfc-button (click)=\"message.closeMessage()\" label=\"close\"></cfc-button>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- sign-in -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'sign-in'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"signInLabel\"\r\n                name=\"label\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"signInType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of signInTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"signInDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of signInDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"mode\">\r\n                mode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"mode\"\r\n                [(ngModel)]=\"signInMode\"\r\n                name=\"mode\">\r\n                <option\r\n                  *ngFor=\"let mode of signInModes\"\r\n                  [value]=\"mode\">\r\n                  {{ mode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"hasDivider\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"signInDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"block\">\r\n                block\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"block\"\r\n                [(ngModel)]=\"signInBlock\"\r\n                name=\"block\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  block\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not block\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"circle\">\r\n                circle\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"circle\"\r\n                [(ngModel)]=\"signInCircle\"\r\n                name=\"circle\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  circle\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not circle\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"externalImageUrl\">\r\n                externalImageUrl\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 300px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"signInExternalImageUrl\"\r\n                name=\"externalImageUrl\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"externalLabel\">\r\n                externalLabel\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"signInExternalLabel\"\r\n                name=\"externalLabel\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- timer -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'timer'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"timerType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of timerTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"timer\">\r\n                timer\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                [(ngModel)]=\"timer\"\r\n                name=\"timer\"\r\n                readonly>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"timerCritical\">\r\n                timerCritical\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                [(ngModel)]=\"timerCritical\"\r\n                name=\"timerCritical\"\r\n                readonly>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"column\"\r\n            fxLayoutAlign=\"center center\">\r\n            <label\r\n              for=\"timer\">\r\n              timer\r\n            </label>\r\n            <textarea\r\n              class=\"test-component__input\"\r\n              style=\"width: 400px !important; height: max-content;\"\r\n              type=\"number\"\r\n              name=\"timer\"\r\n              readonly>\r\n              timeEvent dispared in {{ timer }} seconds.\r\n            </textarea>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n    </form>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-template #noComponentSelected>\r\n  <div>\r\n    <h4\r\n      style=\"text-align: center;\">\r\n      Nenhum componente selecionado ainda\r\n    </h4>\r\n  </div>\r\n</ng-template>\r\n", styles: [".test-component__divider{min-width:60vw}.test-component__input,.test-component__output{margin:0;width:fit-content!important;height:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: "  [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],  [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],  [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],  [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: "  [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md],  [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md],  [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm],  [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: "  [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md],  [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md],  [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm],  [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: "  [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],  [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],  [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],  [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i4.AvatarComponent, selector: "cfc-avatar", inputs: ["type", "name", "density", "imageUrl"] }, { kind: "component", type: i5.BreadcrumbComponent, selector: "cfc-breadcrumb", inputs: ["homeUrl"] }, { kind: "component", type: i6.ButtonComponent, selector: "cfc-button", inputs: ["label", "type", "submit", "circle", "density", "disabled", "block", "icon", "active", "inverted", "loading"], outputs: ["onClick"] }, { kind: "component", type: i7.CardComponent, selector: "cfc-card", inputs: ["hover", "disabled"] }, { kind: "component", type: i8.CarouselComponent, selector: "cfc-carousel" }, { kind: "component", type: i9.CheckboxesComponent, selector: "cfc-checkboxes", inputs: ["label", "description", "options", "mode"] }, { kind: "component", type: i10.CheckboxOptionComponent, selector: "cfc-checkbox-option", inputs: ["type", "state", "option", "checked"], outputs: ["checkedChange"] }, { kind: "component", type: i11.CollapseComponent, selector: "cfc-collapse" }, { kind: "component", type: i12.CookieBarComponent, selector: "cfc-cookie-bar" }, { kind: "component", type: i13.DatetimerPickerComponent, selector: "cfc-datetimer-picker" }, { kind: "component", type: i14.DividerComponent, selector: "cfc-divider", inputs: ["height", "width", "mode", "type", "axis", "density"] }, { kind: "component", type: i15.FooterComponent, selector: "cfc-footer", inputs: ["projectName", "projectVersion"] }, { kind: "component", type: i16.HeaderComponent, selector: "cfc-header", inputs: ["viewMode", "hasMenu", "hasLogo", "logoViewMode", "logoUrl", "title", "description", "hasTimer", "timeLogout", "timeCritical", "hasNotificationIcon", "userName", "signinMode"], outputs: ["menuEvent", "criticalTimeEvent", "timeOutEvent", "timeEvent", "notificationIconEvent", "signinEvent", "logoutEvent"] }, { kind: "component", type: i17.IconComponent, selector: "cfc-icon", inputs: ["iconName", "familyName", "className", "size", "color"] }, { kind: "component", type: i18.InputComponent, selector: "cfc-input", inputs: ["buttonAriaLabel", "formControlName", "isPassword", "isHighlight", "inverted", "labelInline", "state", "density", "buttonIcon", "label", "type", "placeholder", "icon"], outputs: ["onInput", "onIconClicked", "onIconSubmited"] }, { kind: "component", type: i19.ItemComponent, selector: "cfc-item", inputs: ["type", "disabled", "selected", "hasDivider", "url"], outputs: ["clickEvent"] }, { kind: "component", type: i20.ListComponent, selector: "cfc-list" }, { kind: "component", type: i21.LoadingComponent, selector: "cfc-loading", inputs: ["density", "progress", "minValue", "maxValue"] }, { kind: "component", type: i22.LogoComponent, selector: "cfc-logo", inputs: ["viewMode", "isClickable", "width", "imageUrl"], outputs: ["clickEvent"] }, { kind: "component", type: i23.MagicButtonComponent, selector: "cfc-magic-button" }, { kind: "component", type: i24.MenuComponent, selector: "cfc-menu", inputs: ["isMenuVisible", "menuItems"] }, { kind: "component", type: i25.MessageComponent, selector: "cfc-message", inputs: ["message", "description", "state", "type", "horizontalPosition", "verticalPosition", "verticalOffset", "horizontalOffset", "displayTime", "isTemporary"] }, { kind: "component", type: i26.ModalComponent, selector: "cfc-modal", inputs: ["type", "title", "isClosable", "density", "primaryActionLabel", "primaryActionIcon", "secondaryActionLabel", "secondaryActionIcon", "hasOverlay", "width", "height"], outputs: ["onPrimaryAction", "onSecondaryAction"] }, { kind: "component", type: i27.NotificationComponent, selector: "cfc-notification" }, { kind: "component", type: i28.NotificationPanelComponent, selector: "cfc-notification-panel" }, { kind: "component", type: i29.PageContentComponent, selector: "cfc-page-content" }, { kind: "component", type: i30.PaginationComponent, selector: "cfc-pagination", inputs: ["data", "itemsPerPageOptions", "allPages", "itemsPerPage", "allItems"], outputs: ["pageChange", "itemsPerPageChange"] }, { kind: "component", type: i31.RadioComponent, selector: "cfc-radio" }, { kind: "component", type: i32.ScrimComponent, selector: "cfc-scrim", inputs: ["isVisible", "isClosable"] }, { kind: "component", type: i33.SelectComponent, selector: "cfc-select", inputs: ["options", "id", "label", "value", "placeholder", "labelInline", "multiple"], outputs: ["onChange"] }, { kind: "component", type: i34.SignInComponent, selector: "cfc-sign-in", inputs: ["label", "type", "density", "mode", "disabled", "active", "block", "circle", "externalImageUrl", "externalLabel"], outputs: ["onClick", "onLogout"] }, { kind: "component", type: i35.SkiplinkComponent, selector: "cfc-skiplink" }, { kind: "component", type: i36.SliderComponent, selector: "cfc-slider" }, { kind: "component", type: i37.SwitchComponent, selector: "cfc-switch" }, { kind: "component", type: i38.TabComponent, selector: "cfc-tab" }, { kind: "component", type: i39.TableComponent, selector: "cfc-table" }, { kind: "component", type: i40.TagComponent, selector: "cfc-tag" }, { kind: "component", type: i41.TextareaComponent, selector: "cfc-textarea" }, { kind: "component", type: i42.TimerComponent, selector: "cfc-timer", inputs: ["type", "initialTime", "criticalTime", "isGlobal"], outputs: ["timeOutEvent", "timeEvent", "timeCriticalEvent"] }, { kind: "component", type: i43.TooltipComponent, selector: "cfc-tooltip" }, { kind: "component", type: i44.UploadComponent, selector: "cfc-upload" }, { kind: "component", type: i45.WizardComponent, selector: "cfc-wizard" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TestComponentComponent, decorators: [{
            type: Component,
            args: [{ selector: 'cfc-test-component', template: "<ng-container *ngIf=\"selectedComponent.name; else noComponentSelected\">\r\n  <div\r\n    fxFlex=\"grow\"\r\n    fxLayout=\"column\"\r\n    fxLayoutAlign=\"stretch center\"\r\n    fxLayoutGap=\"1rem\">\r\n\r\n    <h2 style=\"font-weight: 700;\">cfc-{{ selectedComponent.name }}</h2>\r\n\r\n    <cfc-avatar\r\n      *ngIf=\"selectedComponent.name === 'avatar'\"\r\n      [type]=\"avatarType\"\r\n      [name]=\"avatarName\"\r\n      [density]=\"avatarDensity\"\r\n      [imageUrl]=\"avatarImageUrl\"\r\n    ></cfc-avatar>\r\n\r\n    <cfc-breadcrumb\r\n      *ngIf=\"selectedComponent.name === 'breadcrumb'\"\r\n      [label]=\"breadcrumbLabel\"\r\n    ></cfc-breadcrumb>\r\n\r\n    <cfc-button\r\n      *ngIf=\"selectedComponent.name === 'button'\"\r\n      [label]=\"buttonLabel\"\r\n      [type]=\"buttonType\"\r\n      [submit]=\"buttonSubmit\"\r\n      [circle]=\"buttonCircle\"\r\n      [density]=\"buttonDensity\"\r\n      [disabled]=\"buttonDisabled\"\r\n      [block]=\"buttonBlock\"\r\n      [icon]=\"buttonIcon\"\r\n      [active]=\"buttonActive\"\r\n      [inverted]=\"buttonInverted\"\r\n      [loading]=\"buttonLoading\"\r\n      (click)=\"buttonClickEvent()\"\r\n    ></cfc-button>\r\n\r\n    <cfc-card\r\n      *ngIf=\"selectedComponent.name === 'card'\"\r\n      [disabled]=\"cardDisabled\"\r\n      [hover]=\"cardHover\"\r\n    ></cfc-card>\r\n\r\n    <cfc-carousel\r\n      *ngIf=\"selectedComponent.name === 'carousel'\"\r\n    ></cfc-carousel>\r\n\r\n    <cfc-checkboxes\r\n      *ngIf=\"selectedComponent.name === 'checkboxes'\"\r\n    ></cfc-checkboxes>\r\n\r\n    <cfc-checkbox-option\r\n      *ngIf=\"selectedComponent.name === 'checkbox-option'\"\r\n      [state]=\"checkboxOptionState\"\r\n      [type]=\"checkboxOptionType\"\r\n      [option]=\"checkboxOptionOption\"\r\n      [(checked)]=\"checkboxOptionChecked\"\r\n    ></cfc-checkbox-option>\r\n\r\n    <cfc-collapse\r\n      *ngIf=\"selectedComponent.name === 'collapse'\"\r\n    ></cfc-collapse>\r\n\r\n    <cfc-cookie-bar\r\n      *ngIf=\"selectedComponent.name === 'cookie-bar'\"\r\n    ></cfc-cookie-bar>\r\n\r\n    <cfc-datetimer-picker\r\n      *ngIf=\"selectedComponent.name === 'datetimer-picker'\"\r\n    ></cfc-datetimer-picker>\r\n\r\n    <div *ngIf=\"selectedComponent.name === 'divider'\"\r\n      [fxLayout]=\"dividerAxis === 'horizontal' ? 'column' : 'row'\">\r\n      <div>Uma coisa</div>\r\n      <cfc-divider\r\n        [mode]=\"dividerMode\"\r\n        [type]=\"dividerType\"\r\n        [axis]=\"dividerAxis\"\r\n        [density]=\"dividerDensity\"\r\n      ></cfc-divider>\r\n      <div>Ou outra</div>\r\n    </div>\r\n\r\n    <cfc-footer\r\n      *ngIf=\"selectedComponent.name === 'footer'\"\r\n      [projectName]=\"footerProjectName\"\r\n      [projectVersion]=\"footerProjectVersion\"\r\n    ></cfc-footer>\r\n\r\n    <cfc-header\r\n      *ngIf=\"selectedComponent.name === 'header'\"\r\n      [title]=\"headerTitle\"\r\n      [description]=\"headerDescription\"\r\n      [userName]=\"headerUserName\"\r\n      [viewMode]=\"headerViewMode\"\r\n      [hasMenu]=\"headerHasMenu\"\r\n      [hasTimer]=\"headerHasTimer\"\r\n      [hasBookIcon]=\"headerHasBookIcon\"\r\n      [logoViewMode]=\"headerLogoViewMode\"\r\n      [timeLogout]=\"headerTimeOut\"\r\n      [timeCritical]=\"headerTimeCritical\"\r\n      (criticalTimeEvent)=\"headerClickEvent()\"\r\n    ></cfc-header>\r\n\r\n    <cfc-icon\r\n      *ngIf=\"selectedComponent.name === 'icon'\"\r\n      [iconName]=\"iconName\"\r\n      [familyName]=\"iconFamilyName\"\r\n      [className]=\"iconClassName\"\r\n      [size]=\"iconSize\"\r\n      [color]=\"iconColor\"\r\n    ></cfc-icon>\r\n\r\n    <cfc-input\r\n      *ngIf=\"selectedComponent.name === 'input'\"\r\n      [disabled]=\"inputDisabled\"\r\n      [density]=\"inputDensity\"\r\n      [isPassword]=\"inputIsPassword\"\r\n      [label]=\"inputLabel\"\r\n      [type]=\"inputType\"\r\n      [buttonIcon]=\"inputButtonIcon\"\r\n      [placeholder]=\"inputPlaceholder\"\r\n      [labelInline]=\"inputLabelInline\"\r\n      [state]=\"inputState\"\r\n      [icon]=\"inputIcon\"\r\n      (onChange)=\"inputOnChange()\"\r\n      (onInput)=\"inputOnInput()\"\r\n      (onIconClicked)=\"inputOnIconClicked()\"\r\n      (onIconSubmited)=\"inputOnIconSubmited()\"\r\n    ></cfc-input>\r\n\r\n    <cfc-item\r\n      *ngIf=\"selectedComponent.name === 'item'\"\r\n      [type]=\"itemType\"\r\n      [disabled]=\"itemDisabled\"\r\n      [selected]=\"itemSelected\"\r\n      [hasDivider]=\"itemHasDivider\"\r\n      [url]=\"itemUrl\">\r\n      <span default>\r\n        {{ itemContent }}\r\n      </span>\r\n      <span button>\r\n        {{ itemContent }}\r\n      </span>\r\n      <span link>\r\n        {{ itemContent }}\r\n      </span>\r\n    </cfc-item>\r\n\r\n    <cfc-loading\r\n      *ngIf=\"selectedComponent.name === 'loading'\"\r\n      [density]=\"loadingDensity\"\r\n      [progress]=\"loadingProgress\"\r\n    ></cfc-loading>\r\n\r\n    <cfc-list\r\n      *ngIf=\"selectedComponent.name === 'list'\"\r\n      [title]=\"'Minha Lista'\">\r\n      <cfc-list-item>\r\n        Item 1\r\n      </cfc-list-item>\r\n      <cfc-list-item>\r\n        Item 2\r\n      </cfc-list-item>\r\n      <cfc-list-item>\r\n        <strong>Item 3 com conte\u00FAdo personalizado</strong>\r\n      </cfc-list-item>\r\n    </cfc-list>\r\n\r\n    <cfc-logo\r\n      *ngIf=\"selectedComponent.name === 'logo'\"\r\n      [width]=\"logoWidth\"\r\n      [viewMode]=\"logoViewMode\"\r\n      [isClickable]=\"logoIsClickable\"\r\n      (clickEvent)=\"logoClickEvent\"\r\n    ></cfc-logo>\r\n\r\n    <cfc-magic-button\r\n      *ngIf=\"selectedComponent.name === 'magic-button'\"\r\n    ></cfc-magic-button>\r\n\r\n    <cfc-menu\r\n      *ngIf=\"selectedComponent.name === 'menu'\"\r\n      [menuItems]=\"menuItems\"\r\n    ></cfc-menu>\r\n\r\n    <cfc-message\r\n      #message\r\n      [hidden]=\"selectedComponent.name !== 'message'\"\r\n      [type]=\"messageType\"\r\n      [state]=\"messageState\"\r\n      [message]=\"messageMessage\"\r\n      [description]=\"messageDescription\"\r\n    ></cfc-message>\r\n\r\n    <cfc-modal\r\n      *ngIf=\"selectedComponent.name === 'modal'\"\r\n    ></cfc-modal>\r\n\r\n    <cfc-notification\r\n      *ngIf=\"selectedComponent.name === 'notification'\"\r\n    ></cfc-notification>\r\n\r\n    <cfc-notification-panel\r\n      *ngIf=\"selectedComponent.name === 'notification-panel'\"\r\n    ></cfc-notification-panel>\r\n\r\n    <cfc-page-content\r\n      *ngIf=\"selectedComponent.name === 'page-content'\"\r\n    ></cfc-page-content>\r\n\r\n    <cfc-pagination\r\n      *ngIf=\"selectedComponent.name === 'pagination'\"\r\n    ></cfc-pagination>\r\n\r\n    <cfc-radio\r\n      *ngIf=\"selectedComponent.name === 'radio'\"\r\n    ></cfc-radio>\r\n\r\n    <cfc-scrim\r\n      *ngIf=\"selectedComponent.name === 'scrim'\"\r\n    ></cfc-scrim>\r\n\r\n    <cfc-select\r\n      *ngIf=\"selectedComponent.name === 'select'\"\r\n      [placeholder]=\"selectPlaceholder\"\r\n      [label]=\"selectLabel\"\r\n      [feedbackMessage]=\"selectFeedbackMessage\"\r\n      [feedbackState]=\"selectFeedbackState\"\r\n    ></cfc-select>\r\n\r\n    <cfc-sign-in\r\n      *ngIf=\"selectedComponent.name === 'sign-in'\"\r\n      [label]=\"signInLabel\"\r\n      [type]=\"signInType\"\r\n      [density]=\"signInDensity\"\r\n      [mode]=\"signInMode\"\r\n      [disabled]=\"signInDisabled\"\r\n      [block]=\"signInBlock\"\r\n      [circle]=\"signInCircle\"\r\n      [externalImageUrl]=\"signInExternalImageUrl\"\r\n      [externalLabel]=\"signInExternalLabel\"\r\n    ></cfc-sign-in>\r\n\r\n    <cfc-skiplink\r\n      *ngIf=\"selectedComponent.name === 'skiplink'\"\r\n    ></cfc-skiplink>\r\n\r\n    <cfc-slider\r\n      *ngIf=\"selectedComponent.name === 'slider'\"\r\n    ></cfc-slider>\r\n\r\n    <cfc-switch\r\n      *ngIf=\"selectedComponent.name === 'switch'\"\r\n    ></cfc-switch>\r\n\r\n    <cfc-tab\r\n      *ngIf=\"selectedComponent.name === 'tab'\"\r\n    ></cfc-tab>\r\n\r\n    <cfc-table\r\n      *ngIf=\"selectedComponent.name === 'table'\"\r\n    ></cfc-table>\r\n\r\n    <cfc-tag\r\n      *ngIf=\"selectedComponent.name === 'tag'\"\r\n    ></cfc-tag>\r\n\r\n    <cfc-template-error\r\n      *ngIf=\"selectedComponent.name === 'template-error'\"\r\n      illustrationUrl=\"assets/illustrations/error19.png\"\r\n      [principalText]=\"'Lorem Ipsum'\"\r\n      [secondaryText]=\"'Lorem Ipsum'\"\r\n      [suportText]=\"'Lorem Ipsum'\"\r\n    ></cfc-template-error>\r\n\r\n    <cfc-textarea\r\n      *ngIf=\"selectedComponent.name === 'textarea'\"\r\n    ></cfc-textarea>\r\n\r\n    <cfc-timer\r\n      *ngIf=\"selectedComponent.name === 'timer'\"\r\n      [type]=\"timerType\"\r\n      [initialTime]=\"timer\"\r\n      [criticalTime]=\"timerCritical\"\r\n      (timeEvent)=\"onTimeEvent()\"\r\n      (timeOutEvent)=\"onTimeOutEvent()\"\r\n    ></cfc-timer>\r\n\r\n    <cfc-tooltip\r\n      *ngIf=\"selectedComponent.name === 'tooltip'\"\r\n    ></cfc-tooltip>\r\n\r\n    <cfc-upload\r\n      *ngIf=\"selectedComponent.name === 'upload'\"\r\n    ></cfc-upload>\r\n\r\n    <cfc-wizard\r\n      *ngIf=\"selectedComponent.name === 'wizard'\"\r\n    ></cfc-wizard>\r\n\r\n    <div style=\"width: 100%;\">\r\n      <cfc-divider></cfc-divider>\r\n    </div>\r\n\r\n    <form\r\n      fxLayout=\"row\"\r\n      fxLayoutAlign=\"center center\"\r\n      fxLayoutGap=\"0.5rem\">\r\n\r\n      <!-- avatar -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'avatar'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"avatarType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of avatarTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"name\">\r\n                name\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"avatarName\"\r\n                name=\"name\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"avatarDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of avatarDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"imageUrl\">\r\n                imageUrl\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 300px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"avatarImageUrl\"\r\n                name=\"imageUrl\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- breadcrumb -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'breadcrumb'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"breadcrumbLabel\"\r\n                name=\"label\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- button -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'button'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"buttonLabel\"\r\n                name=\"label\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"buttonType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of buttonTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"buttonDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of buttonDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"icon\">\r\n                icon\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"buttonIcon\"\r\n                name=\"icon\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"circle\">\r\n                circle\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"circle\"\r\n                [(ngModel)]=\"buttonCircle\"\r\n                name=\"circle\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  circle\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not circle\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"submit\">\r\n                submit\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"submit\"\r\n                [(ngModel)]=\"buttonSubmit\"\r\n                name=\"submit\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  submit\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not submit\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"disabled\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"buttonDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"block\">\r\n                block\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"block\"\r\n                [(ngModel)]=\"buttonBlock\"\r\n                name=\"block\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  block\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not block\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"inverted\">\r\n                inverted\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"inverted\"\r\n                [(ngModel)]=\"buttonInverted\"\r\n                name=\"inverted\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  inverted\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not inverted\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"actived\">\r\n                active\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"active\"\r\n                [(ngModel)]=\"buttonActive\"\r\n                name=\"active\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  actived\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  inactived\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"loading\">\r\n                loading\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"loading\"\r\n                [(ngModel)]=\"buttonLoading\"\r\n                name=\"loading\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  loading\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not loading\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- checkbox-option -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'checkbox-option'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"state\">\r\n                state\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"state\"\r\n                [(ngModel)]=\"checkboxOptionState\"\r\n                name=\"state\">\r\n                <option\r\n                  *ngFor=\"let state of checkboxOptionStates\"\r\n                  [value]=\"state\">\r\n                  {{ state }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <!-- <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"checkboxOptionType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of checkboxOptionTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div> -->\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"option\">\r\n                option\r\n              </label>\r\n              <textarea\r\n                class=\"test-component__input\"\r\n                style=\"height: 90px; white-space: pre-wrap; font-family: monospace;\"\r\n                id=\"option\"\r\n                name=\"option\"\r\n                readonly>\r\n{\r\n  name: {{ checkboxOptionOption.name }},\r\n  value: {{ checkboxOptionOption.value }}\r\n}</textarea>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"checkedChange\">\r\n                checkedChange\r\n              </label>\r\n              <textarea\r\n                class=\"test-component__input\"\r\n                style=\"height: 70px; width: 220px; white-space: pre-wrap; font-family: monospace;\"\r\n                type=\"text\"\r\n                name=\"checkedChange\"\r\n                readonly>\r\n{{ checkboxOptionChecked }}\r\n{{ checkboxOptionOption.value }}{{ !checkboxOptionChecked ? ' n\u00E3o' : '' }} selecionada.</textarea>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- divider -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'divider'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"mode\">\r\n                mode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"mode\"\r\n                [(ngModel)]=\"dividerMode\"\r\n                name=\"mode\">\r\n                <option\r\n                  *ngFor=\"let mode of dividerModes\"\r\n                  [value]=\"mode\">\r\n                  {{ mode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"dividerType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of dividerTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"axis\">\r\n                axis\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"axis\"\r\n                [(ngModel)]=\"dividerAxis\"\r\n                name=\"axis\">\r\n                <option\r\n                  *ngFor=\"let axis of dividerAxises\"\r\n                  [value]=\"axis\">\r\n                  {{ axis }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"dividerDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of dividerDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- header -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'header'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"title\">\r\n                title\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"headerTitle\"\r\n                name=\"title\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"description\">\r\n                description\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"headerDescription\"\r\n                name=\"description\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"viewMode\">\r\n                viewMode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                [(ngModel)]=\"headerViewMode\"\r\n                name=\"viewMode\">\r\n                <option\r\n                  *ngFor=\"let viewMode of headerViewModes\"\r\n                  [value]=\"viewMode\">\r\n                  {{ viewMode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"userName\">\r\n                userName\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"headerUserName\"\r\n                name=\"userName\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"timeOut\">\r\n                timeOut\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"number\"\r\n                [(ngModel)]=\"headerTimeOut\"\r\n                name=\"timeOut\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"logoMode\">\r\n                logoMode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                [(ngModel)]=\"headerLogoViewMode\"\r\n                name=\"logoMode\">\r\n                <option\r\n                  *ngFor=\"let logoMode of headerLogoViewModes\"\r\n                  [value]=\"logoMode\">\r\n                  {{ logoMode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- icon -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'icon'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"iconName\">\r\n                iconName\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconName\"\r\n                name=\"iconName\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"familyName\">\r\n                familyName\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconFamilyName\"\r\n                name=\"familyName\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"className\">\r\n                className\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconClassName\"\r\n                name=\"className\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"size\">\r\n                size\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconSize\"\r\n                name=\"size\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"color\">\r\n                color\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"iconColor\"\r\n                name=\"color\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- input -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'input'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputLabel\"\r\n                name=\"label\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"state\">\r\n                state\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"state\"\r\n                [(ngModel)]=\"inputState\"\r\n                name=\"state\">\r\n                <option\r\n                  *ngFor=\"let type of inputStates\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"inputDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of inputDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"placeholder\">\r\n                placeholder\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputPlaceholder\"\r\n                name=\"placeholder\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"ispassword\">\r\n                ispassword\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"ispassword\"\r\n                [(ngModel)]=\"inputIsPassword\"\r\n                name=\"ispassword\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  ispassword\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not ispassword\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"disabled\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"inputDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"labelInline\">\r\n                labelInline\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"labelInline\"\r\n                [(ngModel)]=\"inputLabelInline\"\r\n                name=\"labelInline\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  row\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  column\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"iconButton\">\r\n                iconButton\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputButtonIcon\"\r\n                name=\"iconButton\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"iconButton\">\r\n                icon\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"inputIcon\"\r\n                name=\"icon\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- item -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'item'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"content\">\r\n                content\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"itemContent\"\r\n                name=\"content\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"itemType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of itemTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"disabled\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"itemDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"url\">\r\n                url\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"itemUrl\"\r\n                name=\"url\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"selected\">\r\n                selected\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"selected\"\r\n                [(ngModel)]=\"itemSelected\"\r\n                name=\"selected\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  selected\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not selected\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"hasDivider\">\r\n                hasDivider\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"hasDivider\"\r\n                [(ngModel)]=\"itemHasDivider\"\r\n                name=\"hasDivider\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  divider\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not divider\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- loading -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'loading'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"density\">\r\n            density\r\n          </label>\r\n          <select\r\n            class=\"test-component__input\"\r\n            [(ngModel)]=\"loadingDensity\"\r\n            name=\"density\">\r\n            <option\r\n              *ngFor=\"let density of loadingDensities\"\r\n              [value]=\"density\">\r\n              {{ density }}\r\n            </option>\r\n          </select>\r\n        </div>\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"progress\">\r\n            progress\r\n          </label>\r\n          <input\r\n            class=\"test-component__input\"\r\n            style=\"width: 100px !important;\"\r\n            type=\"number\"\r\n            [(ngModel)]=\"loadingProgress\"\r\n            name=\"progress\">\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- logo -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'logo'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"viewMode\">\r\n            viewMode\r\n          </label>\r\n          <select\r\n            class=\"test-component__input\"\r\n            [(ngModel)]=\"logoViewMode\"\r\n            name=\"viewMode\">\r\n            <option\r\n              *ngFor=\"let viewMode of logoViewModes\"\r\n              [value]=\"viewMode\">\r\n              {{ viewMode }}\r\n            </option>\r\n          </select>\r\n        </div>\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"width\">\r\n            width\r\n          </label>\r\n          <input\r\n            class=\"test-component__input\"\r\n            style=\"width: 100px !important;\"\r\n            type=\"number\"\r\n            [(ngModel)]=\"logoWidth\"\r\n            name=\"width\">\r\n        </div>\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\">\r\n          <label\r\n            for=\"clickEvent\">\r\n            clickEvent\r\n          </label>\r\n          <select\r\n            class=\"test-component__input\"\r\n            id=\"logoIsClickable\"\r\n            [(ngModel)]=\"logoIsClickable\"\r\n            name=\"clickEvent\">\r\n            <option\r\n              [value]=\"true\">\r\n              clic\u00E1vel\r\n            </option>\r\n            <option\r\n              [value]=\"false\">\r\n              n\u00E3o clic\u00E1vel\r\n            </option>\r\n          </select>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- message -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'message'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"messageType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of messageTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"state\">\r\n                state\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"state\"\r\n                [(ngModel)]=\"messageState\"\r\n                name=\"state\">\r\n                <option\r\n                  *ngFor=\"let state of messageStates\"\r\n                  [value]=\"state\">\r\n                  {{ state }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"message\">\r\n                message\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 200px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"messageMessage\"\r\n                name=\"message\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"description\">\r\n                description\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 200px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"messageDescription\"\r\n                name=\"description\">\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <cfc-button (click)=\"message.openMessage()\" label=\"open\"></cfc-button>\r\n            <cfc-button (click)=\"message.closeMessage()\" label=\"close\"></cfc-button>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- sign-in -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'sign-in'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"label\">\r\n                label\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"signInLabel\"\r\n                name=\"label\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"signInType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of signInTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"density\">\r\n                density\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"density\"\r\n                [(ngModel)]=\"signInDensity\"\r\n                name=\"density\">\r\n                <option\r\n                  *ngFor=\"let density of signInDensities\"\r\n                  [value]=\"density\">\r\n                  {{ density }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"mode\">\r\n                mode\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"mode\"\r\n                [(ngModel)]=\"signInMode\"\r\n                name=\"mode\">\r\n                <option\r\n                  *ngFor=\"let mode of signInModes\"\r\n                  [value]=\"mode\">\r\n                  {{ mode }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"hasDivider\">\r\n                disabled\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"disabled\"\r\n                [(ngModel)]=\"signInDisabled\"\r\n                name=\"disabled\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  disabled\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  enabled\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"block\">\r\n                block\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"block\"\r\n                [(ngModel)]=\"signInBlock\"\r\n                name=\"block\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  block\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not block\r\n                </option>\r\n              </select>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"circle\">\r\n                circle\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"circle\"\r\n                [(ngModel)]=\"signInCircle\"\r\n                name=\"circle\">\r\n                <option\r\n                  [value]=\"true\">\r\n                  circle\r\n                </option>\r\n                <option\r\n                  [value]=\"false\">\r\n                  not circle\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"externalImageUrl\">\r\n                externalImageUrl\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 300px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"signInExternalImageUrl\"\r\n                name=\"externalImageUrl\">\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"externalLabel\">\r\n                externalLabel\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                type=\"text\"\r\n                [(ngModel)]=\"signInExternalLabel\"\r\n                name=\"externalLabel\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <!-- timer -->\r\n      <ng-container *ngIf=\"selectedComponent.name === 'timer'\">\r\n        <div\r\n          fxLayout=\"column\"\r\n          fxLayoutAlign=\"center center\"\r\n          fxLayoutGap=\"0.5rem\">\r\n          <div fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"type\">\r\n                type\r\n              </label>\r\n              <select\r\n                class=\"test-component__input\"\r\n                id=\"type\"\r\n                [(ngModel)]=\"timerType\"\r\n                name=\"type\">\r\n                <option\r\n                  *ngFor=\"let type of timerTypes\"\r\n                  [value]=\"type\">\r\n                  {{ type }}\r\n                </option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n          <div fxLayout=\"row\"\r\n            fxLayoutAlign=\"center center\"\r\n            fxLayoutGap=\"0.5rem\">\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"timer\">\r\n                timer\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                [(ngModel)]=\"timer\"\r\n                name=\"timer\"\r\n                readonly>\r\n            </div>\r\n            <div\r\n              fxLayout=\"column\"\r\n              fxLayoutAlign=\"center center\">\r\n              <label\r\n                for=\"timerCritical\">\r\n                timerCritical\r\n              </label>\r\n              <input\r\n                class=\"test-component__input\"\r\n                style=\"width: 100px !important;\"\r\n                [(ngModel)]=\"timerCritical\"\r\n                name=\"timerCritical\"\r\n                readonly>\r\n            </div>\r\n          </div>\r\n          <div\r\n            fxLayout=\"column\"\r\n            fxLayoutAlign=\"center center\">\r\n            <label\r\n              for=\"timer\">\r\n              timer\r\n            </label>\r\n            <textarea\r\n              class=\"test-component__input\"\r\n              style=\"width: 400px !important; height: max-content;\"\r\n              type=\"number\"\r\n              name=\"timer\"\r\n              readonly>\r\n              timeEvent dispared in {{ timer }} seconds.\r\n            </textarea>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n    </form>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-template #noComponentSelected>\r\n  <div>\r\n    <h4\r\n      style=\"text-align: center;\">\r\n      Nenhum componente selecionado ainda\r\n    </h4>\r\n  </div>\r\n</ng-template>\r\n", styles: [".test-component__divider{min-width:60vw}.test-component__input,.test-component__output{margin:0;width:fit-content!important;height:40px}\n"] }]
        }], propDecorators: { selectedComponent: [{
                type: Input
            }] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2ZjLWRzL3NyYy9saWIvcGFnZXMvY2ZjLXRlc3QtcGFnZS90ZXN0LWNvbXBvbmVudC90ZXN0LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZmMtZHMvc3JjL2xpYi9wYWdlcy9jZmMtdGVzdC1wYWdlL3Rlc3QtY29tcG9uZW50L3Rlc3QtY29tcG9uZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8s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V0FBVyxHQUFpQixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRELHFCQUFxQjtJQUNyQixhQUFhLEdBQUcsZ0JBQWdCLENBQUM7SUFFakMsWUFBWTtJQUNaLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDWixhQUFhLEdBQUcsR0FBRyxDQUFDO0lBRXBCLFVBQVUsR0FBZ0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVuRCxXQUFXLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUNGLGNBQWMsR0FBRyxHQUFHLEVBQUU7UUFDcEIsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUM7d0dBbGlCUyxzQkFBc0I7NEZBQXRCLHNCQUFzQiw4R0NyQ25DLDZ1MURBdXlEQTs7NEZEbHdEYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzhCQVFyQixpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9nb1ZpZXdNb2RlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvbG9nby12aWV3LW1vZGUuZW51bSc7XHJcbmltcG9ydCB7IEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9idXR0b24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQnV0dG9uRGVuc2l0eSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2J1dHRvbi1kZW5zaXR5LmVudW0nO1xyXG5pbXBvcnQgeyBTaWduSW5UeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvc2lnbi1pbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTaWduSW5EZW5zaXR5IH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvc2lnbi1pbi1kZW5zaXR5LmVudW0nO1xyXG5pbXBvcnQgeyBBdmF0YXJEZW5zaXR5IH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvYXZhdGFyLWRlbnNpdHkuZW51bSc7XHJcbmltcG9ydCB7IFRvb2x0aXBQbGFjZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3Rvb2x0aXAtcGxhY2UuZW51bSc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJMaW5rIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2JyZWFkY3J1bWIubW9kZWwnO1xyXG5pbXBvcnQgeyBIZWFkZXJWaWV3TW9kZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2hlYWRlci12aWV3LW1vZGUuZW51bSc7XHJcbmltcG9ydCB7IElucHV0U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9pbnB1dC1zdGF0ZS5lbnVtJztcclxuaW1wb3J0IHsgSW5wdXREZW5zaXR5IH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaW5wdXQtZGVuc2l0eS5lbnVtJztcclxuaW1wb3J0IHsgQXZhdGFyVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2F2YXRhci10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBEaXZpZGVyTW9kZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2RpdmlkZXItbW9kZS5lbnVtJztcclxuaW1wb3J0IHsgRGl2aWRlclR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9kaXZpZGVyLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IERpdmlkZXJBeGlzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvZGl2aWRlci1heGlzLmVudW0nO1xyXG5pbXBvcnQgeyBEaXZpZGVyRGVuc2l0eSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2RpdmlkZXItZGVuc2l0eS5lbnVtJztcclxuaW1wb3J0IHsgU2lnbkluTW9kZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3NpZ24taW4tbW9kZS5lbnVtJztcclxuaW1wb3J0IHsgVGltZXJUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvdGltZXItdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9tZXNzYWdlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL21lc3NhZ2Utc3RhdGUuZW51bSc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9jaGVja2JveC1vcHRpb24tc3RhdGUuZW51bSc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2NoZWNrYm94LW9wdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBDaGVja2JveE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGVja2JveC5tb2RlbCc7XHJcbmltcG9ydCB7IExvYWRpbmdEZW5zaXR5IH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvbG9hZGluZy1kZW5zaXR5LmVudW0nO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbXBvbmVudHMubW9kZWwnO1xyXG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgSWxsdXN0cmF0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2lsbHVzdHJhdGlvbi10eXBlLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjZmMtdGVzdC1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXN0LWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Rlc3QtY29tcG9uZW50LmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlc3RDb21wb25lbnRDb21wb25lbnQge1xyXG5beDogc3RyaW5nXTogYW55O1xyXG5cclxuICAvLyBpbnB1dHMgYW5kIG91dHB1dHNcclxuICBASW5wdXQoKSBzZWxlY3RlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZSA9IHtcclxuICAgIGlkOiAwLFxyXG4gICAgbmFtZTogJycsXHJcbiAgICBjbGlja0V2ZW50TmFtZTogJ3NldENvbXBvbmVudCcsXHJcbiAgICBpc0FscmVhZHk6IGZhbHNlXHJcbiAgfTtcclxuXHJcbiAgLy8gY2ZjLWF2YXRhclxyXG4gIGF2YXRhclR5cGU6IEF2YXRhclR5cGUgPSBBdmF0YXJUeXBlLmljb247XHJcbiAgYXZhdGFyTmFtZSA9ICdhdmF0YXInXHJcbiAgYXZhdGFyRGVuc2l0eTogQXZhdGFyRGVuc2l0eSA9IEF2YXRhckRlbnNpdHkubWVkaXVtO1xyXG4gIGF2YXRhckltYWdlVXJsID0gJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC84MjMvNDAwJztcclxuXHJcbiAgYXZhdGFyVHlwZXM6IEF2YXRhclR5cGVbXSA9IE9iamVjdC52YWx1ZXMoQXZhdGFyVHlwZSk7XHJcbiAgYXZhdGFyRGVuc2l0aWVzOiBBdmF0YXJEZW5zaXR5W10gPSBPYmplY3QudmFsdWVzKEF2YXRhckRlbnNpdHkpO1xyXG4gIGF2YXRhclRvb2x0aXBQbGFjZXM6IFRvb2x0aXBQbGFjZVtdID0gT2JqZWN0LnZhbHVlcyhUb29sdGlwUGxhY2UpO1xyXG5cclxuICAvLyBjZmMtYnJlYWRjcnVtYlxyXG4gIGJyZWFkY3J1bWJMYWJlbCA9ICdicmVhZGNydW1iJztcclxuICBicmVhZGNydW1iTGlua3M6IEJyZWFkY3J1bWJMaW5rW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGxhYmVsOiAnUMOhZ2luYSBJbmljaWFsJyxcclxuICAgICAgdXJsOiAnLycsXHJcbiAgICAgIHRhcmdldDogJ19ibGFuaycsXHJcbiAgICAgIGhvbWU6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGxhYmVsOiAnUMOhZ2luYSBBbmNlc3RyYWwgMDEnLFxyXG4gICAgICB1cmw6ICcjJyxcclxuICAgICAgdGFyZ2V0OiAnX2JsYW5rJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbGFiZWw6ICdQw6FnaW5hIEFuY2VzdHJhbCAwMicsXHJcbiAgICAgIHVybDogJyMnLFxyXG4gICAgICB0YXJnZXQ6ICdfYmxhbmsnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBsYWJlbDogJ1DDoWdpbmEgQXR1YWwnLFxyXG4gICAgICBhY3RpdmU6IHRydWVcclxuICAgIH1cclxuICBdO1xyXG5cclxuICBicmVhZGNydW1iTGlua3NTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmJyZWFkY3J1bWJMaW5rcywgbnVsbCwgMik7XHJcblxyXG4gIHVwZGF0ZUJyZWFkQ3J1bWJMaW5rcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYkxpbmtzID0gSlNPTi5wYXJzZSh0aGlzLmJyZWFkY3J1bWJMaW5rc1N0cmluZyk7XHJcbiAgfVxyXG5cclxuICAvLyBjZmMtYnV0dG9uXHJcbiAgYnV0dG9uTGFiZWwgPSAnYnV0dG9uJztcclxuICBidXR0b25UeXBlOiBCdXR0b25UeXBlID0gQnV0dG9uVHlwZS50ZXJ0aWFyeTtcclxuICBidXR0b25TdWJtaXQgPSBmYWxzZTtcclxuICBidXR0b25DaXJjbGUgPSBmYWxzZTtcclxuICBidXR0b25EZW5zaXR5OiBCdXR0b25EZW5zaXR5ID0gQnV0dG9uRGVuc2l0eS5taWRkbGU7XHJcbiAgYnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICBidXR0b25CbG9jayA9IGZhbHNlO1xyXG4gIGJ1dHRvbkljb24gPSAnY2xvY2snO1xyXG4gIGJ1dHRvbkFjdGl2ZSA9IGZhbHNlO1xyXG4gIGJ1dHRvbkludmVydGVkID0gZmFsc2U7XHJcbiAgYnV0dG9uTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBidXR0b25UeXBlczogQnV0dG9uVHlwZVtdID0gT2JqZWN0LnZhbHVlcyhCdXR0b25UeXBlKTtcclxuICBidXR0b25EZW5zaXRpZXM6IEJ1dHRvbkRlbnNpdHlbXSA9IE9iamVjdC52YWx1ZXMoQnV0dG9uRGVuc2l0eSk7XHJcblxyXG4gIGJ1dHRvbkNsaWNrRXZlbnQgPSAoKSA9PiBhbGVydCgnYnV0dG9uIGV2ZW50IGRpc3BhcmVkIScpO1xyXG5cclxuICAvLyBjZmMtY2FyZFxyXG4gIGNhcmREaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGNhcmRIb3ZlciA9IGZhbHNlO1xyXG5cclxuICAvLyBjZmMtY2hlY2tib3gtb3B0aW9uXHJcbiAgY2hlY2tib3hPcHRpb25TdGF0ZTogQ2hlY2tib3hPcHRpb25TdGF0ZSA9IENoZWNrYm94T3B0aW9uU3RhdGUuZGVmYXVsdDtcclxuICBjaGVja2JveE9wdGlvblR5cGU6IENoZWNrYm94T3B0aW9uVHlwZSA9IENoZWNrYm94T3B0aW9uVHlwZS53aXRoUmlnaHRMYWJlbDtcclxuICBjaGVja2JveE9wdGlvbkNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGVja2JveE9wdGlvbk9wdGlvbjogQ2hlY2tib3hPcHRpb24gPSB7XHJcbiAgICBuYW1lOiAnT1DDh8ODTzEnLFxyXG4gICAgdmFsdWU6ICdvcMOnw6NvIDEnLFxyXG4gICAgY2hlY2tlZDogZmFsc2VcclxuICB9O1xyXG5cclxuICBjaGVja2JveE9wdGlvblN0YXRlczogQ2hlY2tib3hPcHRpb25TdGF0ZVtdID0gT2JqZWN0LnZhbHVlcyhDaGVja2JveE9wdGlvblN0YXRlKTtcclxuICBjaGVja2JveE9wdGlvblR5cGVzOiBDaGVja2JveE9wdGlvblR5cGVbXSA9IE9iamVjdC52YWx1ZXMoQ2hlY2tib3hPcHRpb25UeXBlKTtcclxuXHJcbiAgLy8gY2ZjLWRpdmlkZXJcclxuICBkaXZpZGVyTW9kZTogRGl2aWRlck1vZGUgPSBEaXZpZGVyTW9kZS5saW5lO1xyXG4gIGRpdmlkZXJUeXBlOiBEaXZpZGVyVHlwZSA9IERpdmlkZXJUeXBlLnByaW1hcnk7XHJcbiAgZGl2aWRlckF4aXM6IERpdmlkZXJBeGlzID0gRGl2aWRlckF4aXMuaG9yaXpvbnRhbDtcclxuICBkaXZpZGVyRGVuc2l0eTogRGl2aWRlckRlbnNpdHkgPSBEaXZpZGVyRGVuc2l0eS5zbWFsbDtcclxuXHJcbiAgZGl2aWRlck1vZGVzOiBEaXZpZGVyTW9kZVtdID0gT2JqZWN0LnZhbHVlcyhEaXZpZGVyTW9kZSk7XHJcbiAgZGl2aWRlclR5cGVzOiBEaXZpZGVyVHlwZVtdID0gT2JqZWN0LnZhbHVlcyhEaXZpZGVyVHlwZSk7XHJcbiAgZGl2aWRlckF4aXNlczogRGl2aWRlckF4aXNbXSA9IE9iamVjdC52YWx1ZXMoRGl2aWRlckF4aXMpO1xyXG4gIGRpdmlkZXJEZW5zaXRpZXM6IERpdmlkZXJEZW5zaXR5W10gPSBPYmplY3QudmFsdWVzKERpdmlkZXJEZW5zaXR5KTtcclxuXHJcbiAgLy8gY2ZjLWZvb3RlclxyXG4gIGZvb3RlclByb2plY3ROYW1lID0gJ0VQQydcclxuICBmb290ZXJQcm9qZWN0VmVyc2lvbjogc3RyaW5nID0gJzEuMC4wJztcclxuXHJcbiAgLy8gY2ZjLWhlYWRlclxyXG4gIGhlYWRlclRpdGxlID0gJ1Rlc3RhbmRvIEhlYWRlcic7XHJcbiAgaGVhZGVyRGVzY3JpcHRpb24gPSAnRXNzZSDDqSBhcGVuYXMgdW0gdGVzdGUnO1xyXG4gIGhlYWRlclVzZXJOYW1lID0gJ0FuYSBGcmVpdGFzJztcclxuICBoZWFkZXJIYXNNZW51ID0gZmFsc2U7XHJcbiAgaGVhZGVySGFzVGltZXIgPSB0cnVlO1xyXG4gIGhlYWRlckhhc0Jvb2tJY29uID0gdHJ1ZTtcclxuICBoZWFkZXJUaW1lT3V0ID0gMzA7XHJcbiAgaGVhZGVyVGltZUNyaXRpY2FsID0gMjA7XHJcbiAgaGVhZGVyTG9nb1ZpZXdNb2RlOiBMb2dvVmlld01vZGUgPSBMb2dvVmlld01vZGUuZGVmYXVsdFxyXG4gIGhlYWRlclZpZXdNb2RlOiBIZWFkZXJWaWV3TW9kZSA9IEhlYWRlclZpZXdNb2RlLmRlZmF1bHQ7XHJcblxyXG4gIGhlYWRlclZpZXdNb2RlczogSGVhZGVyVmlld01vZGVbXSA9IE9iamVjdC52YWx1ZXMoSGVhZGVyVmlld01vZGUpO1xyXG4gIGhlYWRlckxvZ29WaWV3TW9kZXM6IExvZ29WaWV3TW9kZVtdID0gT2JqZWN0LnZhbHVlcyhMb2dvVmlld01vZGUpO1xyXG5cclxuICBoZWFkZXJDbGlja0V2ZW50OiAoKSA9PiB2b2lkID0gKCkgPT4gYWxlcnQoJ2xvZ28gaXMgY2xpY2tlZCcpO1xyXG5cclxuICAvLyBjZmMtaWNvblxyXG4gIGljb25OYW1lID0gJ2hvbWUnO1xyXG4gIGljb25GYW1pbHlOYW1lID0gJ2Zhcyc7XHJcbiAgaWNvbkNsYXNzTmFtZSA9ICcnO1xyXG4gIGljb25TaXplID0gJzIwcHgnO1xyXG4gIGljb25Db2xvciA9ICdibHVlJztcclxuXHJcbiAgLy8gY2ZjLWlucHV0XHJcbiAgaW5wdXRMYWJlbCA9ICdpbnB1dC1sYWJlbCc7XHJcbiAgaW5wdXRUeXBlID0gJ3RleHQnO1xyXG4gIGlucHV0UGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInO1xyXG4gIGlucHV0U3RhdGU6IElucHV0U3RhdGUgPSBJbnB1dFN0YXRlLmluZm87XHJcbiAgaW5wdXREZW5zaXR5OiBJbnB1dERlbnNpdHkgPSBJbnB1dERlbnNpdHkubWVkaXVtO1xyXG4gIGlucHV0RGlzYWJsZWQgPSBmYWxzZTtcclxuICBpbnB1dEJ1dHRvbkljb24gPSAnY2xvY2snO1xyXG4gIGlucHV0SXNQYXNzd29yZCA9IGZhbHNlO1xyXG4gIGlucHV0TGFiZWxJbmxpbmUgPSBmYWxzZTtcclxuICBpbnB1dEljb24gPSAndXNlcic7XHJcbiAgaW5wdXRWYWx1ZSA9ICd2YWx1ZSc7XHJcblxyXG4gIGlucHV0U3RhdGVzOiBJbnB1dFN0YXRlW10gPSBPYmplY3QudmFsdWVzKElucHV0U3RhdGUpO1xyXG4gIGlucHV0RGVuc2l0aWVzOiBJbnB1dERlbnNpdHlbXSA9IE9iamVjdC52YWx1ZXMoSW5wdXREZW5zaXR5KTtcclxuXHJcbiAgaW5wdXRPbkNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IGFsZXJ0KCdpbnB1dCB2YWx1ZSBpcyBjaGFuZ2VkJyk7XHJcbiAgaW5wdXRPbklucHV0OiAoKSA9PiB2b2lkID0gKCkgPT4gYWxlcnQoJ2lucHV0IHZhbHVlIGlzIHN1Ym1pdGVkJyk7XHJcbiAgaW5wdXRPbkljb25DbGlja2VkOiAoKSA9PiB2b2lkID0gKCkgPT4gYWxlcnQoJ2lucHV0IGljb24gb3MgY2xpY2tlZCcpO1xyXG4gIGlucHV0T25JY29uU3VibWl0ZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiBhbGVydCgnaW5wdXQgaWNvbiBzdWJtaXRlZCB0aGUgdmFsdWUnKTtcclxuXHJcbiAgLy8gY2ZjLWl0ZW1cclxuICBpdGVtVHlwZTogSXRlbVR5cGUgPSBJdGVtVHlwZS5kZWZhdWx0O1xyXG4gIGl0ZW1EaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGl0ZW1TZWxlY3RlZCA9IGZhbHNlO1xyXG4gIGl0ZW1IYXNEaXZpZGVyID0gdHJ1ZTtcclxuICBpdGVtQ29udGVudCA9ICdJdGVtIDEnO1xyXG4gIGl0ZW1VcmwgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSc7XHJcblxyXG4gIGl0ZW1UeXBlczogSXRlbVR5cGVbXSA9IE9iamVjdC52YWx1ZXMoSXRlbVR5cGUpO1xyXG5cclxuICAvLyBjZmMtbG9hZGluZ1xyXG4gIGxvYWRpbmdEZW5zaXR5OiBMb2FkaW5nRGVuc2l0eSA9IExvYWRpbmdEZW5zaXR5Lm1lZGl1bTtcclxuICBsb2FkaW5nUHJvZ3Jlc3M/OiBudW1iZXI7XHJcblxyXG4gIGxvYWRpbmdEZW5zaXRpZXM6IExvYWRpbmdEZW5zaXR5W10gPSBPYmplY3QudmFsdWVzKExvYWRpbmdEZW5zaXR5KTtcclxuXHJcbiAgLy8gY2ZjLWxvZ29cclxuICBsb2dvV2lkdGggPSAxMDA7XHJcbiAgbG9nb0lzQ2xpY2thYmxlID0gZmFsc2U7XHJcbiAgbG9nb1ZpZXdNb2RlOiBMb2dvVmlld01vZGUgPSBMb2dvVmlld01vZGUuZGVmYXVsdDtcclxuXHJcbiAgbG9nb1ZpZXdNb2RlczogTG9nb1ZpZXdNb2RlW10gPSBPYmplY3QudmFsdWVzKExvZ29WaWV3TW9kZSk7XHJcblxyXG4gIGxvZ29DbGlja0V2ZW50PzogKCkgPT4gdm9pZCA9ICgpID0+IGFsZXJ0KCdhIGxvZ28gZXN0w6EgY2xpY8OhdmVsJyk7XHJcblxyXG4gIC8vIGNmYy1tZW51XHJcbiAgbWVudUl0ZW1zOiBhbnkgW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAxLFxyXG4gICAgICBpY29uTmFtZTogJ2ZvbGRlcicsXHJcbiAgICAgIG5hbWU6ICdDYXBhY2l0YWRvcmEnLFxyXG4gICAgICBsaXN0OiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdsYXB0b3AnLFxyXG4gICAgICAgICAgbmFtZTogJ0dlcmVuY2lhbWVudG8nLFxyXG4gICAgICAgICAgdXJsOiAnY2FwYWNpdGFkb3JhL2dlcmVuY2lhbWVudG8nLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdjb21tZW50JyxcclxuICAgICAgICAgIG5hbWU6ICdIb21vbG9nYcOnw6NvJyxcclxuICAgICAgICAgIHVybDogJ2NhcGFjaXRhZG9yYS9ob21vbG9nYWNhbycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBpY29uTmFtZTogJ2ZvbGRlcicsXHJcbiAgICAgIG5hbWU6ICdNaW5oYXMgQXRpdmlkYWRlcycsXHJcbiAgICAgIGxpc3Q6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2xpc3QnLFxyXG4gICAgICAgICAgbmFtZTogJ0N1cnNvJyxcclxuICAgICAgICAgIHVybDogJ21pbmhhcy1hdGl2aWRhZGVzL2N1cnNvJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnbGlzdCcsXHJcbiAgICAgICAgICBuYW1lOiAnRXZlbnRvJyxcclxuICAgICAgICAgIHVybDogJ21pbmhhcy1hdGl2aWRhZGVzL2V2ZW50bycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2xpc3QnLFxyXG4gICAgICAgICAgbmFtZTogJ0RvY8OqbmNpYSBlIE9yaWVudGHDp8OjbycsXHJcbiAgICAgICAgICB1cmw6ICdtaW5oYXMtYXRpdmlkYWRlcy9kb2NlbmNpYScsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2xpc3QnLFxyXG4gICAgICAgICAgbmFtZTogJ1BhcnRpY2lwYcOnw6NvIGVtIGJhbmNhcycsXHJcbiAgICAgICAgICB1cmw6ICdtaW5oYXMtYXRpdmlkYWRlcy9iYW5jYXMnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdsaXN0JyxcclxuICAgICAgICAgIG5hbWU6ICdDb21pc3PDo28nLFxyXG4gICAgICAgICAgdXJsOiAnbWluaGFzLWF0aXZpZGFkZXMvY29taXNzYW8nLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdsaXN0JyxcclxuICAgICAgICAgIG5hbWU6ICdDdXJzbyBFeHRlcmlvcicsXHJcbiAgICAgICAgICB1cmw6ICdtaW5oYXMtYXRpdmlkYWRlcy9jdXJzby1leHRlcmlvcicsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2xpc3QnLFxyXG4gICAgICAgICAgbmFtZTogJ1Byb2R1w6fDo28gSW50ZWxlY3R1YWwnLFxyXG4gICAgICAgICAgdXJsOiAnbWluaGFzLWF0aXZpZGFkZXMvcHJvZHVjYW8taW50ZWxlY3R1YWwnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdsaXN0JyxcclxuICAgICAgICAgIG5hbWU6ICdQw7NzLCBHcmFkLiBlIEV4dGVuc8OjbycsXHJcbiAgICAgICAgICB1cmw6ICdtaW5oYXMtYXRpdmlkYWRlcy9wb3MtZ3JhZHVhY2FvJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDMsXHJcbiAgICAgIGljb25OYW1lOiAnZm9sZGVyJyxcclxuICAgICAgbmFtZTogJ0hvbW9sb2dhY2FvJyxcclxuICAgICAgbGlzdDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnY2xvbmUnLFxyXG4gICAgICAgICAgbmFtZTogJ0N1cnNvJyxcclxuICAgICAgICAgIHVybDogJ2hvbW9sb2dhY2FvL2N1cnNvJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnY2xvbmUnLFxyXG4gICAgICAgICAgbmFtZTogJ0V2ZW50bycsXHJcbiAgICAgICAgICB1cmw6ICdob21vbG9nYWNhby9ldmVudG8nLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdjbG9uZScsXHJcbiAgICAgICAgICBuYW1lOiAnRG9jw6puY2lhIGUgT3JpZW50YcOnw6NvJyxcclxuICAgICAgICAgIHVybDogJ2hvbW9sb2dhY2FvL2RvY2VuY2lhJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnY2xvbmUnLFxyXG4gICAgICAgICAgbmFtZTogJ1BhcnRpY2lwYWNhbyBlbSBiYW5jYXMnLFxyXG4gICAgICAgICAgdXJsOiAnaG9tb2xvZ2FjYW8vYmFuY2EnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdjbG9uZScsXHJcbiAgICAgICAgICBuYW1lOiAnQ29taXNzw6NvJyxcclxuICAgICAgICAgIHVybDogJ2hvbW9sb2dhY2FvL2NvbWlzc2FvJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnY2xvbmUnLFxyXG4gICAgICAgICAgbmFtZTogJ0N1cnNvIEV4dGVyaW9yJyxcclxuICAgICAgICAgIHVybDogJ2hvbW9sb2dhY2FvL2V4dGVyaW9yJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnY2xvbmUnLFxyXG4gICAgICAgICAgbmFtZTogJ1Byb2R1w6fDo28gSW50ZWxlY3R1YWwnLFxyXG4gICAgICAgICAgdXJsOiAnaG9tb2xvZ2FjYW8vcHJvZHVjYW8taW50ZWxlY3R1YWwnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdjbG9uZScsXHJcbiAgICAgICAgICBuYW1lOiAnUMOzcywgR3JhZC4gZSBFeHRlbnPDo28nLFxyXG4gICAgICAgICAgdXJsOiAnaG9tb2xvZ2FjYW8vcG9zLWdyYWR1YWNhbycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2Jvb2snLFxyXG4gICAgICAgICAgbmFtZTogJ0PDom1hcmEgUGxlbsOhcmlhJyxcclxuICAgICAgICAgIHVybDogJ2hvbW9sb2dhY2FvL2NhbWFyYS1wbGVuYXJpYScsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBpY29uTmFtZTogJ2ZvbGRlcicsXHJcbiAgICAgIG5hbWU6ICdDYWRhc3Ryb3MnLFxyXG4gICAgICBsaXN0OiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICd1c2VyLXBsdXMnLFxyXG4gICAgICAgICAgbmFtZTogJ0FicmFuZ8OqbmNpYScsXHJcbiAgICAgICAgICB1cmw6ICdjYWRhc3Ryby9hYnJhbmdlbmNpYScsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2NhbGVuZGFyLWNoZWNrJyxcclxuICAgICAgICAgIG5hbWU6ICfDgXJlYScsXHJcbiAgICAgICAgICB1cmw6ICdjYWRhc3Ryby9hcmVhJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnYm9vaycsXHJcbiAgICAgICAgICBuYW1lOiAnw4FyZWEgVGVtw6F0aWNhJyxcclxuICAgICAgICAgIHVybDogJ2NhZGFzdHJvL2FyZWEtdGVtYXRpY2EnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdjYWxlbmRhci1jaGVjaycsXHJcbiAgICAgICAgICBuYW1lOiAnQ3JpdMOpcmlvIGRlIEF2YWxpYcOnw6NvJyxcclxuICAgICAgICAgIHVybDogJ2NhZGFzdHJvL2NyaXRlcmlvLWF2YWxpYWNhbycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2NhbGVuZGFyLWNoZWNrJyxcclxuICAgICAgICAgIG5hbWU6ICdGb3JtYcOnw6NvIEFjYWTDqm1pY2EnLFxyXG4gICAgICAgICAgdXJsOiAnY2FkYXN0cm8vZm9ybWFjYW8tYWNhZGVtaWNhJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnY2FsZW5kYXItY2hlY2snLFxyXG4gICAgICAgICAgbmFtZTogJ0luc3RpdHVpw6fDo28nLFxyXG4gICAgICAgICAgdXJsOiAnY2FkYXN0cm8vaW5zdGl0dWljYW8nLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICdjYWxlbmRhci1jaGVjaycsXHJcbiAgICAgICAgICBuYW1lOiAnSW5zdHJ1dG9yJyxcclxuICAgICAgICAgIHVybDogJ2NhZGFzdHJvL2luc3RydXRvcicsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2JhcnMnLFxyXG4gICAgICAgICAgbmFtZTogJ01vZGFsaWRhZGUnLFxyXG4gICAgICAgICAgdXJsOiAnY2FkYXN0cm8vbW9kYWxpZGFkZScsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2JyaWVmY2FzZScsXHJcbiAgICAgICAgICBuYW1lOiAnUMO6YmxpY28gQWx2bycsXHJcbiAgICAgICAgICB1cmw6ICdjYWRhc3Ryby9wdWJsaWNvLWFsdm8nLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogNSxcclxuICAgICAgaWNvbk5hbWU6ICdmb2xkZXInLFxyXG4gICAgICBuYW1lOiAnUHJlc3Rhw6fDo28gZGUgQ29udGFzJyxcclxuICAgICAgbGlzdDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnd2FsbGV0JyxcclxuICAgICAgICAgIG5hbWU6ICdSZWwuIEF0aXZpZGFkZXMnLFxyXG4gICAgICAgICAgdXJsOiAncHJlc3RhY2FvL2F0aXZpZGFkZXMnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICd3YWxsZXQnLFxyXG4gICAgICAgICAgbmFtZTogJ1JlbC4gUHJvZmlzc2lvbmFpcycsXHJcbiAgICAgICAgICB1cmw6ICdwcmVzdGFjYW8vcHJvZmlzc2lvbmFpcycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyB7XHJcbiAgICAgICAgLy8gICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgLy8gICBuYW1lOiAnUmVsLiBQcm9maXNzaW9uYWlzIDIwMTcnLFxyXG4gICAgICAgIC8vICAgdXJsOiAnIycsXHJcbiAgICAgICAgLy8gICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICBuYW1lOiAnUmVsLiBBdGl2aWRhZGVzIEbDrXNpY28nLFxyXG4gICAgICAgICAgdXJsOiAncHJlc3RhY2FvL2F0aXZpZGFkZXMtZmlzaWNvJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDYsXHJcbiAgICAgIGljb25OYW1lOiAnZm9sZGVyJyxcclxuICAgICAgbmFtZTogJ1JlbGF0w7NyaW8gR2VyZW5jaWFsJyxcclxuICAgICAgbGlzdDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnd2FsbGV0JyxcclxuICAgICAgICAgIG5hbWU6ICdSZWwuIFByZXN0YcOnw6NvIGRlIENvbnRhJyxcclxuICAgICAgICAgIHVybDogJ3JlbGF0b3Jpby9wcmVzdGFjYW8tY29udGEnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICd3YWxsZXQnLFxyXG4gICAgICAgICAgbmFtZTogJ1JlbC4gQXRpdmlkYWRlcyBKdWxnYWRhcycsXHJcbiAgICAgICAgICB1cmw6ICcjJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnd2FsbGV0JyxcclxuICAgICAgICAgIG5hbWU6ICdSZWwuIEF0aXZpZGFkZXMgcG9yIEF0YXMnLFxyXG4gICAgICAgICAgdXJsOiAnIycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICBuYW1lOiAnUmVsLiBQcm9mLiBDTkFJIGUgQ05QQycsXHJcbiAgICAgICAgICB1cmw6ICcjJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnd2FsbGV0JyxcclxuICAgICAgICAgIG5hbWU6ICdSZWwuIFBhcnQuIHBvciBDdXJzbycsXHJcbiAgICAgICAgICB1cmw6ICcjJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnd2FsbGV0JyxcclxuICAgICAgICAgIG5hbWU6ICdSZWwuIFR1cm1hIHBvciBDdXJzbycsXHJcbiAgICAgICAgICB1cmw6ICcjJyxcclxuICAgICAgICAgIGNsaWNrRXZlbnRsYWJlbDogJ25hdmlnYXRlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGljb25OYW1lOiAnd2FsbGV0JyxcclxuICAgICAgICAgIG5hbWU6ICdSZWwuIEN1cnNvIHBvciBDYXBhYy4nLFxyXG4gICAgICAgICAgdXJsOiAnIycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICBuYW1lOiAnUmVsLiBQYXJ0LiBwb3IgRXZlbnRvJyxcclxuICAgICAgICAgIHVybDogJyMnLFxyXG4gICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWNvbk5hbWU6ICd3YWxsZXQnLFxyXG4gICAgICAgICAgbmFtZTogJ1JlbC4gRXZlbnRvIHBvciBDYXAnLFxyXG4gICAgICAgICAgdXJsOiAnIycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICBuYW1lOiAnUmVsLiBFZGnDp8OjbyBkZSBFdmVudG8nLFxyXG4gICAgICAgICAgdXJsOiAnIycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICBuYW1lOiAnUmVsLiBFZGnDp8OjbyBkZSBFdmVudG8nLFxyXG4gICAgICAgICAgdXJsOiAnIycsXHJcbiAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpY29uTmFtZTogJ2ZvbGRlcicsXHJcbiAgICAgICAgICBuYW1lOiAnUmVsYXTDs3JpbyBkZSBHZXN0b3InLFxyXG4gICAgICAgICAgbGlzdDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaWNvbk5hbWU6ICd3YWxsZXQnLFxyXG4gICAgICAgICAgICAgIG5hbWU6ICdBdGl2LiBBZ3VhcmQuIEFuw6FsaXNlJyxcclxuICAgICAgICAgICAgICB1cmw6ICcjJyxcclxuICAgICAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICAgICAgbmFtZTogJ0F0aXYuIGVtIEFuw6FsaXNlJyxcclxuICAgICAgICAgICAgICB1cmw6ICcjJyxcclxuICAgICAgICAgICAgICBjbGlja0V2ZW50bGFiZWw6ICduYXZpZ2F0ZScsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpY29uTmFtZTogJ3dhbGxldCcsXHJcbiAgICAgICAgICAgICAgbmFtZTogJ0F0aXYuIEp1bGcuIE1lbWJybycsXHJcbiAgICAgICAgICAgICAgdXJsOiAnIycsXHJcbiAgICAgICAgICAgICAgY2xpY2tFdmVudGxhYmVsOiAnbmF2aWdhdGUnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICAvLyBjZmMtbWVzc2FnZVxyXG4gIG1lc3NhZ2VUeXBlOiBNZXNzYWdlVHlwZSA9IE1lc3NhZ2VUeXBlLmZlZWRiYWNrO1xyXG4gIG1lc3NhZ2VTdGF0ZTogTWVzc2FnZVN0YXRlID0gTWVzc2FnZVN0YXRlLndhcm5pbmc7XHJcbiAgbWVzc2FnZU1lc3NhZ2UgPSAnTWVuc2FnZW0gZGUgYWxlcnRhLic7XHJcbiAgbWVzc2FnZURlc2NyaXB0aW9uID0gJ0Rlc2NyacOnw6NvIGRhIG1lbnNhZ2VtIGRlIGFsZXJ0YSc7XHJcblxyXG4gIG1lc3NhZ2VUeXBlczogTWVzc2FnZVR5cGVbXSA9IE9iamVjdC52YWx1ZXMoTWVzc2FnZVR5cGUpO1xyXG4gIG1lc3NhZ2VTdGF0ZXM6IE1lc3NhZ2VTdGF0ZVtdID0gT2JqZWN0LnZhbHVlcyhNZXNzYWdlU3RhdGUpO1xyXG5cclxuICAvLyBjZmMtc2VsZWN0XHJcbiAgc2VsZWN0TGFiZWwgPSAnU2VsZWN0IExhYmVsJztcclxuICBzZWxlY3RQbGFjZWhvbGRlciA9ICdzZWxlY2lvbmUgbyBpdGVtJ1xyXG4gIHNlbGVjdEZlZWRiYWNrTWVzc2FnZSA9ICdmZWVkYmFjayBhdXhpbGlhciBkZSBjb250cm9sZSdcclxuICBzZWxlY3RGZWVkYmFja1N0YXRlOiBNZXNzYWdlU3RhdGUgPSBNZXNzYWdlU3RhdGUud2FybmluZztcclxuXHJcbiAgLy8gY2ZjLXNpZ24taW5cclxuICBzaWduSW5MYWJlbCA9ICdjZmMgbGFiZWwnO1xyXG4gIHNpZ25JblR5cGU6IFNpZ25JblR5cGUgPSBTaWduSW5UeXBlLnByaW1hcnk7XHJcbiAgc2lnbkluRGVuc2l0eTogU2lnbkluRGVuc2l0eSA9IFNpZ25JbkRlbnNpdHkubWlkZGxlO1xyXG4gIHNpZ25Jbk1vZGU6IFNpZ25Jbk1vZGUgPSBTaWduSW5Nb2RlLmludGVybmFsO1xyXG4gIHNpZ25JbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgc2lnbkluQmxvY2sgPSBmYWxzZTtcclxuICBzaWduSW5DaXJjbGUgPSBmYWxzZTtcclxuICBzaWduSW5FeHRlcm5hbExhYmVsID0gJ2dvdi5icic7XHJcbiAgc2lnbkluRXh0ZXJuYWxJbWFnZVVybCA9ICdodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL2MvYzEvR29vZ2xlXyUyMkclMjJfbG9nby5zdmcnO1xyXG5cclxuICBzaWduSW5UeXBlczogU2lnbkluVHlwZVtdID0gT2JqZWN0LnZhbHVlcyhTaWduSW5UeXBlKTtcclxuICBzaWduSW5EZW5zaXRpZXM6IFNpZ25JbkRlbnNpdHlbXSA9IE9iamVjdC52YWx1ZXMoU2lnbkluRGVuc2l0eSk7XHJcbiAgc2lnbkluTW9kZXM6IFNpZ25Jbk1vZGVbXSA9IE9iamVjdC52YWx1ZXMoU2lnbkluTW9kZSk7XHJcblxyXG4gIC8vIGNmYy10ZW1wbGF0ZS1lcnJvclxyXG4gIGlsbHVzdHJhdGlvbnMgPSBJbGx1c3RyYXRpb25UeXBlO1xyXG5cclxuICAvLyBjZmMtdGltZXJcclxuICB0aW1lclR5cGU6IFRpbWVyVHlwZSA9IFRpbWVyVHlwZS5wcmltYXJ5O1xyXG4gIHRpbWVyID0gMTIwO1xyXG4gIHRpbWVyQ3JpdGljYWwgPSAxMTU7XHJcblxyXG4gIHRpbWVyVHlwZXM6IFRpbWVyVHlwZVtdID0gT2JqZWN0LnZhbHVlcyhUaW1lclR5cGUpO1xyXG5cclxuICBvblRpbWVFdmVudCA9ICgpID0+IHtcclxuICAgIHRoaXMudGltZXItLTtcclxuICB9O1xyXG4gIG9uVGltZU91dEV2ZW50ID0gKCkgPT4ge1xyXG4gICAgYWxlcnQoJ2VuY2Vycm91IGEgY29udGFnZW0gcmVncmVzc2l2YScpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH07XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lOyBlbHNlIG5vQ29tcG9uZW50U2VsZWN0ZWRcIj5cclxuICA8ZGl2XHJcbiAgICBmeEZsZXg9XCJncm93XCJcclxuICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgIGZ4TGF5b3V0QWxpZ249XCJzdHJldGNoIGNlbnRlclwiXHJcbiAgICBmeExheW91dEdhcD1cIjFyZW1cIj5cclxuXHJcbiAgICA8aDIgc3R5bGU9XCJmb250LXdlaWdodDogNzAwO1wiPmNmYy17eyBzZWxlY3RlZENvbXBvbmVudC5uYW1lIH19PC9oMj5cclxuXHJcbiAgICA8Y2ZjLWF2YXRhclxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdhdmF0YXInXCJcclxuICAgICAgW3R5cGVdPVwiYXZhdGFyVHlwZVwiXHJcbiAgICAgIFtuYW1lXT1cImF2YXRhck5hbWVcIlxyXG4gICAgICBbZGVuc2l0eV09XCJhdmF0YXJEZW5zaXR5XCJcclxuICAgICAgW2ltYWdlVXJsXT1cImF2YXRhckltYWdlVXJsXCJcclxuICAgID48L2NmYy1hdmF0YXI+XHJcblxyXG4gICAgPGNmYy1icmVhZGNydW1iXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2JyZWFkY3J1bWInXCJcclxuICAgICAgW2xhYmVsXT1cImJyZWFkY3J1bWJMYWJlbFwiXHJcbiAgICA+PC9jZmMtYnJlYWRjcnVtYj5cclxuXHJcbiAgICA8Y2ZjLWJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdidXR0b24nXCJcclxuICAgICAgW2xhYmVsXT1cImJ1dHRvbkxhYmVsXCJcclxuICAgICAgW3R5cGVdPVwiYnV0dG9uVHlwZVwiXHJcbiAgICAgIFtzdWJtaXRdPVwiYnV0dG9uU3VibWl0XCJcclxuICAgICAgW2NpcmNsZV09XCJidXR0b25DaXJjbGVcIlxyXG4gICAgICBbZGVuc2l0eV09XCJidXR0b25EZW5zaXR5XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgW2Jsb2NrXT1cImJ1dHRvbkJsb2NrXCJcclxuICAgICAgW2ljb25dPVwiYnV0dG9uSWNvblwiXHJcbiAgICAgIFthY3RpdmVdPVwiYnV0dG9uQWN0aXZlXCJcclxuICAgICAgW2ludmVydGVkXT1cImJ1dHRvbkludmVydGVkXCJcclxuICAgICAgW2xvYWRpbmddPVwiYnV0dG9uTG9hZGluZ1wiXHJcbiAgICAgIChjbGljayk9XCJidXR0b25DbGlja0V2ZW50KClcIlxyXG4gICAgPjwvY2ZjLWJ1dHRvbj5cclxuXHJcbiAgICA8Y2ZjLWNhcmRcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnY2FyZCdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiY2FyZERpc2FibGVkXCJcclxuICAgICAgW2hvdmVyXT1cImNhcmRIb3ZlclwiXHJcbiAgICA+PC9jZmMtY2FyZD5cclxuXHJcbiAgICA8Y2ZjLWNhcm91c2VsXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2Nhcm91c2VsJ1wiXHJcbiAgICA+PC9jZmMtY2Fyb3VzZWw+XHJcblxyXG4gICAgPGNmYy1jaGVja2JveGVzXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2NoZWNrYm94ZXMnXCJcclxuICAgID48L2NmYy1jaGVja2JveGVzPlxyXG5cclxuICAgIDxjZmMtY2hlY2tib3gtb3B0aW9uXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2NoZWNrYm94LW9wdGlvbidcIlxyXG4gICAgICBbc3RhdGVdPVwiY2hlY2tib3hPcHRpb25TdGF0ZVwiXHJcbiAgICAgIFt0eXBlXT1cImNoZWNrYm94T3B0aW9uVHlwZVwiXHJcbiAgICAgIFtvcHRpb25dPVwiY2hlY2tib3hPcHRpb25PcHRpb25cIlxyXG4gICAgICBbKGNoZWNrZWQpXT1cImNoZWNrYm94T3B0aW9uQ2hlY2tlZFwiXHJcbiAgICA+PC9jZmMtY2hlY2tib3gtb3B0aW9uPlxyXG5cclxuICAgIDxjZmMtY29sbGFwc2VcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnY29sbGFwc2UnXCJcclxuICAgID48L2NmYy1jb2xsYXBzZT5cclxuXHJcbiAgICA8Y2ZjLWNvb2tpZS1iYXJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnY29va2llLWJhcidcIlxyXG4gICAgPjwvY2ZjLWNvb2tpZS1iYXI+XHJcblxyXG4gICAgPGNmYy1kYXRldGltZXItcGlja2VyXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2RhdGV0aW1lci1waWNrZXInXCJcclxuICAgID48L2NmYy1kYXRldGltZXItcGlja2VyPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnZGl2aWRlcidcIlxyXG4gICAgICBbZnhMYXlvdXRdPVwiZGl2aWRlckF4aXMgPT09ICdob3Jpem9udGFsJyA/ICdjb2x1bW4nIDogJ3JvdydcIj5cclxuICAgICAgPGRpdj5VbWEgY29pc2E8L2Rpdj5cclxuICAgICAgPGNmYy1kaXZpZGVyXHJcbiAgICAgICAgW21vZGVdPVwiZGl2aWRlck1vZGVcIlxyXG4gICAgICAgIFt0eXBlXT1cImRpdmlkZXJUeXBlXCJcclxuICAgICAgICBbYXhpc109XCJkaXZpZGVyQXhpc1wiXHJcbiAgICAgICAgW2RlbnNpdHldPVwiZGl2aWRlckRlbnNpdHlcIlxyXG4gICAgICA+PC9jZmMtZGl2aWRlcj5cclxuICAgICAgPGRpdj5PdSBvdXRyYTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGNmYy1mb290ZXJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnZm9vdGVyJ1wiXHJcbiAgICAgIFtwcm9qZWN0TmFtZV09XCJmb290ZXJQcm9qZWN0TmFtZVwiXHJcbiAgICAgIFtwcm9qZWN0VmVyc2lvbl09XCJmb290ZXJQcm9qZWN0VmVyc2lvblwiXHJcbiAgICA+PC9jZmMtZm9vdGVyPlxyXG5cclxuICAgIDxjZmMtaGVhZGVyXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2hlYWRlcidcIlxyXG4gICAgICBbdGl0bGVdPVwiaGVhZGVyVGl0bGVcIlxyXG4gICAgICBbZGVzY3JpcHRpb25dPVwiaGVhZGVyRGVzY3JpcHRpb25cIlxyXG4gICAgICBbdXNlck5hbWVdPVwiaGVhZGVyVXNlck5hbWVcIlxyXG4gICAgICBbdmlld01vZGVdPVwiaGVhZGVyVmlld01vZGVcIlxyXG4gICAgICBbaGFzTWVudV09XCJoZWFkZXJIYXNNZW51XCJcclxuICAgICAgW2hhc1RpbWVyXT1cImhlYWRlckhhc1RpbWVyXCJcclxuICAgICAgW2hhc0Jvb2tJY29uXT1cImhlYWRlckhhc0Jvb2tJY29uXCJcclxuICAgICAgW2xvZ29WaWV3TW9kZV09XCJoZWFkZXJMb2dvVmlld01vZGVcIlxyXG4gICAgICBbdGltZUxvZ291dF09XCJoZWFkZXJUaW1lT3V0XCJcclxuICAgICAgW3RpbWVDcml0aWNhbF09XCJoZWFkZXJUaW1lQ3JpdGljYWxcIlxyXG4gICAgICAoY3JpdGljYWxUaW1lRXZlbnQpPVwiaGVhZGVyQ2xpY2tFdmVudCgpXCJcclxuICAgID48L2NmYy1oZWFkZXI+XHJcblxyXG4gICAgPGNmYy1pY29uXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2ljb24nXCJcclxuICAgICAgW2ljb25OYW1lXT1cImljb25OYW1lXCJcclxuICAgICAgW2ZhbWlseU5hbWVdPVwiaWNvbkZhbWlseU5hbWVcIlxyXG4gICAgICBbY2xhc3NOYW1lXT1cImljb25DbGFzc05hbWVcIlxyXG4gICAgICBbc2l6ZV09XCJpY29uU2l6ZVwiXHJcbiAgICAgIFtjb2xvcl09XCJpY29uQ29sb3JcIlxyXG4gICAgPjwvY2ZjLWljb24+XHJcblxyXG4gICAgPGNmYy1pbnB1dFxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdpbnB1dCdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaW5wdXREaXNhYmxlZFwiXHJcbiAgICAgIFtkZW5zaXR5XT1cImlucHV0RGVuc2l0eVwiXHJcbiAgICAgIFtpc1Bhc3N3b3JkXT1cImlucHV0SXNQYXNzd29yZFwiXHJcbiAgICAgIFtsYWJlbF09XCJpbnB1dExhYmVsXCJcclxuICAgICAgW3R5cGVdPVwiaW5wdXRUeXBlXCJcclxuICAgICAgW2J1dHRvbkljb25dPVwiaW5wdXRCdXR0b25JY29uXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImlucHV0UGxhY2Vob2xkZXJcIlxyXG4gICAgICBbbGFiZWxJbmxpbmVdPVwiaW5wdXRMYWJlbElubGluZVwiXHJcbiAgICAgIFtzdGF0ZV09XCJpbnB1dFN0YXRlXCJcclxuICAgICAgW2ljb25dPVwiaW5wdXRJY29uXCJcclxuICAgICAgKG9uQ2hhbmdlKT1cImlucHV0T25DaGFuZ2UoKVwiXHJcbiAgICAgIChvbklucHV0KT1cImlucHV0T25JbnB1dCgpXCJcclxuICAgICAgKG9uSWNvbkNsaWNrZWQpPVwiaW5wdXRPbkljb25DbGlja2VkKClcIlxyXG4gICAgICAob25JY29uU3VibWl0ZWQpPVwiaW5wdXRPbkljb25TdWJtaXRlZCgpXCJcclxuICAgID48L2NmYy1pbnB1dD5cclxuXHJcbiAgICA8Y2ZjLWl0ZW1cclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnaXRlbSdcIlxyXG4gICAgICBbdHlwZV09XCJpdGVtVHlwZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpdGVtRGlzYWJsZWRcIlxyXG4gICAgICBbc2VsZWN0ZWRdPVwiaXRlbVNlbGVjdGVkXCJcclxuICAgICAgW2hhc0RpdmlkZXJdPVwiaXRlbUhhc0RpdmlkZXJcIlxyXG4gICAgICBbdXJsXT1cIml0ZW1VcmxcIj5cclxuICAgICAgPHNwYW4gZGVmYXVsdD5cclxuICAgICAgICB7eyBpdGVtQ29udGVudCB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGJ1dHRvbj5cclxuICAgICAgICB7eyBpdGVtQ29udGVudCB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGxpbms+XHJcbiAgICAgICAge3sgaXRlbUNvbnRlbnQgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9jZmMtaXRlbT5cclxuXHJcbiAgICA8Y2ZjLWxvYWRpbmdcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnbG9hZGluZydcIlxyXG4gICAgICBbZGVuc2l0eV09XCJsb2FkaW5nRGVuc2l0eVwiXHJcbiAgICAgIFtwcm9ncmVzc109XCJsb2FkaW5nUHJvZ3Jlc3NcIlxyXG4gICAgPjwvY2ZjLWxvYWRpbmc+XHJcblxyXG4gICAgPGNmYy1saXN0XHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2xpc3QnXCJcclxuICAgICAgW3RpdGxlXT1cIidNaW5oYSBMaXN0YSdcIj5cclxuICAgICAgPGNmYy1saXN0LWl0ZW0+XHJcbiAgICAgICAgSXRlbSAxXHJcbiAgICAgIDwvY2ZjLWxpc3QtaXRlbT5cclxuICAgICAgPGNmYy1saXN0LWl0ZW0+XHJcbiAgICAgICAgSXRlbSAyXHJcbiAgICAgIDwvY2ZjLWxpc3QtaXRlbT5cclxuICAgICAgPGNmYy1saXN0LWl0ZW0+XHJcbiAgICAgICAgPHN0cm9uZz5JdGVtIDMgY29tIGNvbnRlw7pkbyBwZXJzb25hbGl6YWRvPC9zdHJvbmc+XHJcbiAgICAgIDwvY2ZjLWxpc3QtaXRlbT5cclxuICAgIDwvY2ZjLWxpc3Q+XHJcblxyXG4gICAgPGNmYy1sb2dvXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2xvZ28nXCJcclxuICAgICAgW3dpZHRoXT1cImxvZ29XaWR0aFwiXHJcbiAgICAgIFt2aWV3TW9kZV09XCJsb2dvVmlld01vZGVcIlxyXG4gICAgICBbaXNDbGlja2FibGVdPVwibG9nb0lzQ2xpY2thYmxlXCJcclxuICAgICAgKGNsaWNrRXZlbnQpPVwibG9nb0NsaWNrRXZlbnRcIlxyXG4gICAgPjwvY2ZjLWxvZ28+XHJcblxyXG4gICAgPGNmYy1tYWdpYy1idXR0b25cclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnbWFnaWMtYnV0dG9uJ1wiXHJcbiAgICA+PC9jZmMtbWFnaWMtYnV0dG9uPlxyXG5cclxuICAgIDxjZmMtbWVudVxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdtZW51J1wiXHJcbiAgICAgIFttZW51SXRlbXNdPVwibWVudUl0ZW1zXCJcclxuICAgID48L2NmYy1tZW51PlxyXG5cclxuICAgIDxjZmMtbWVzc2FnZVxyXG4gICAgICAjbWVzc2FnZVxyXG4gICAgICBbaGlkZGVuXT1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgIT09ICdtZXNzYWdlJ1wiXHJcbiAgICAgIFt0eXBlXT1cIm1lc3NhZ2VUeXBlXCJcclxuICAgICAgW3N0YXRlXT1cIm1lc3NhZ2VTdGF0ZVwiXHJcbiAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VNZXNzYWdlXCJcclxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIm1lc3NhZ2VEZXNjcmlwdGlvblwiXHJcbiAgICA+PC9jZmMtbWVzc2FnZT5cclxuXHJcbiAgICA8Y2ZjLW1vZGFsXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ21vZGFsJ1wiXHJcbiAgICA+PC9jZmMtbW9kYWw+XHJcblxyXG4gICAgPGNmYy1ub3RpZmljYXRpb25cclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnbm90aWZpY2F0aW9uJ1wiXHJcbiAgICA+PC9jZmMtbm90aWZpY2F0aW9uPlxyXG5cclxuICAgIDxjZmMtbm90aWZpY2F0aW9uLXBhbmVsXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ25vdGlmaWNhdGlvbi1wYW5lbCdcIlxyXG4gICAgPjwvY2ZjLW5vdGlmaWNhdGlvbi1wYW5lbD5cclxuXHJcbiAgICA8Y2ZjLXBhZ2UtY29udGVudFxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdwYWdlLWNvbnRlbnQnXCJcclxuICAgID48L2NmYy1wYWdlLWNvbnRlbnQ+XHJcblxyXG4gICAgPGNmYy1wYWdpbmF0aW9uXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ3BhZ2luYXRpb24nXCJcclxuICAgID48L2NmYy1wYWdpbmF0aW9uPlxyXG5cclxuICAgIDxjZmMtcmFkaW9cclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAncmFkaW8nXCJcclxuICAgID48L2NmYy1yYWRpbz5cclxuXHJcbiAgICA8Y2ZjLXNjcmltXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ3NjcmltJ1wiXHJcbiAgICA+PC9jZmMtc2NyaW0+XHJcblxyXG4gICAgPGNmYy1zZWxlY3RcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnc2VsZWN0J1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWxlY3RQbGFjZWhvbGRlclwiXHJcbiAgICAgIFtsYWJlbF09XCJzZWxlY3RMYWJlbFwiXHJcbiAgICAgIFtmZWVkYmFja01lc3NhZ2VdPVwic2VsZWN0RmVlZGJhY2tNZXNzYWdlXCJcclxuICAgICAgW2ZlZWRiYWNrU3RhdGVdPVwic2VsZWN0RmVlZGJhY2tTdGF0ZVwiXHJcbiAgICA+PC9jZmMtc2VsZWN0PlxyXG5cclxuICAgIDxjZmMtc2lnbi1pblxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdzaWduLWluJ1wiXHJcbiAgICAgIFtsYWJlbF09XCJzaWduSW5MYWJlbFwiXHJcbiAgICAgIFt0eXBlXT1cInNpZ25JblR5cGVcIlxyXG4gICAgICBbZGVuc2l0eV09XCJzaWduSW5EZW5zaXR5XCJcclxuICAgICAgW21vZGVdPVwic2lnbkluTW9kZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJzaWduSW5EaXNhYmxlZFwiXHJcbiAgICAgIFtibG9ja109XCJzaWduSW5CbG9ja1wiXHJcbiAgICAgIFtjaXJjbGVdPVwic2lnbkluQ2lyY2xlXCJcclxuICAgICAgW2V4dGVybmFsSW1hZ2VVcmxdPVwic2lnbkluRXh0ZXJuYWxJbWFnZVVybFwiXHJcbiAgICAgIFtleHRlcm5hbExhYmVsXT1cInNpZ25JbkV4dGVybmFsTGFiZWxcIlxyXG4gICAgPjwvY2ZjLXNpZ24taW4+XHJcblxyXG4gICAgPGNmYy1za2lwbGlua1xyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdza2lwbGluaydcIlxyXG4gICAgPjwvY2ZjLXNraXBsaW5rPlxyXG5cclxuICAgIDxjZmMtc2xpZGVyXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ3NsaWRlcidcIlxyXG4gICAgPjwvY2ZjLXNsaWRlcj5cclxuXHJcbiAgICA8Y2ZjLXN3aXRjaFxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdzd2l0Y2gnXCJcclxuICAgID48L2NmYy1zd2l0Y2g+XHJcblxyXG4gICAgPGNmYy10YWJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAndGFiJ1wiXHJcbiAgICA+PC9jZmMtdGFiPlxyXG5cclxuICAgIDxjZmMtdGFibGVcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAndGFibGUnXCJcclxuICAgID48L2NmYy10YWJsZT5cclxuXHJcbiAgICA8Y2ZjLXRhZ1xyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICd0YWcnXCJcclxuICAgID48L2NmYy10YWc+XHJcblxyXG4gICAgPGNmYy10ZW1wbGF0ZS1lcnJvclxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICd0ZW1wbGF0ZS1lcnJvcidcIlxyXG4gICAgICBpbGx1c3RyYXRpb25Vcmw9XCJhc3NldHMvaWxsdXN0cmF0aW9ucy9lcnJvcjE5LnBuZ1wiXHJcbiAgICAgIFtwcmluY2lwYWxUZXh0XT1cIidMb3JlbSBJcHN1bSdcIlxyXG4gICAgICBbc2Vjb25kYXJ5VGV4dF09XCInTG9yZW0gSXBzdW0nXCJcclxuICAgICAgW3N1cG9ydFRleHRdPVwiJ0xvcmVtIElwc3VtJ1wiXHJcbiAgICA+PC9jZmMtdGVtcGxhdGUtZXJyb3I+XHJcblxyXG4gICAgPGNmYy10ZXh0YXJlYVxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICd0ZXh0YXJlYSdcIlxyXG4gICAgPjwvY2ZjLXRleHRhcmVhPlxyXG5cclxuICAgIDxjZmMtdGltZXJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAndGltZXInXCJcclxuICAgICAgW3R5cGVdPVwidGltZXJUeXBlXCJcclxuICAgICAgW2luaXRpYWxUaW1lXT1cInRpbWVyXCJcclxuICAgICAgW2NyaXRpY2FsVGltZV09XCJ0aW1lckNyaXRpY2FsXCJcclxuICAgICAgKHRpbWVFdmVudCk9XCJvblRpbWVFdmVudCgpXCJcclxuICAgICAgKHRpbWVPdXRFdmVudCk9XCJvblRpbWVPdXRFdmVudCgpXCJcclxuICAgID48L2NmYy10aW1lcj5cclxuXHJcbiAgICA8Y2ZjLXRvb2x0aXBcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAndG9vbHRpcCdcIlxyXG4gICAgPjwvY2ZjLXRvb2x0aXA+XHJcblxyXG4gICAgPGNmYy11cGxvYWRcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAndXBsb2FkJ1wiXHJcbiAgICA+PC9jZmMtdXBsb2FkPlxyXG5cclxuICAgIDxjZmMtd2l6YXJkXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ3dpemFyZCdcIlxyXG4gICAgPjwvY2ZjLXdpemFyZD5cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgIDxjZmMtZGl2aWRlcj48L2NmYy1kaXZpZGVyPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGZvcm1cclxuICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcblxyXG4gICAgICA8IS0tIGF2YXRhciAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdhdmF0YXInXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImF2YXRhclR5cGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgYXZhdGFyVHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cIm5hbWVcIj5cclxuICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhdmF0YXJOYW1lXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJkZW5zaXR5XCI+XHJcbiAgICAgICAgICAgICAgICBkZW5zaXR5XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cImRlbnNpdHlcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhdmF0YXJEZW5zaXR5XCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJkZW5zaXR5XCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBkZW5zaXR5IG9mIGF2YXRhckRlbnNpdGllc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJkZW5zaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRlbnNpdHkgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiaW1hZ2VVcmxcIj5cclxuICAgICAgICAgICAgICAgIGltYWdlVXJsXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYXZhdGFySW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImltYWdlVXJsXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBicmVhZGNydW1iIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2JyZWFkY3J1bWInXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICBsYWJlbFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDBweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImJyZWFkY3J1bWJMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwibGFiZWxcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tIGJ1dHRvbiAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdidXR0b24nXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICBsYWJlbFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDBweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgdHlwZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0eXBlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYnV0dG9uVHlwZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdHlwZSBvZiBidXR0b25UeXBlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICAgICAgZGVuc2l0eVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZW5zaXR5XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYnV0dG9uRGVuc2l0eVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGVuc2l0eSBvZiBidXR0b25EZW5zaXRpZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBkZW5zaXR5IH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImljb25cIj5cclxuICAgICAgICAgICAgICAgIGljb25cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJidXR0b25JY29uXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpY29uXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJjaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgIGNpcmNsZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJjaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJidXR0b25DaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImNpcmNsZVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICBjaXJjbGVcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgbm90IGNpcmNsZVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJzdWJtaXRcIj5cclxuICAgICAgICAgICAgICAgIHN1Ym1pdFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJidXR0b25TdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICBzdWJtaXRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgbm90IHN1Ym1pdFxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWRcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJidXR0b25EaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgZW5hYmxlZFxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgYmxvY2tcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJidXR0b25CbG9ja1wiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgYmxvY2tcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgbm90IGJsb2NrXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImludmVydGVkXCI+XHJcbiAgICAgICAgICAgICAgICBpbnZlcnRlZFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJpbnZlcnRlZFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImJ1dHRvbkludmVydGVkXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpbnZlcnRlZFwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICBpbnZlcnRlZFxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICBub3QgaW52ZXJ0ZWRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiYWN0aXZlZFwiPlxyXG4gICAgICAgICAgICAgICAgYWN0aXZlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cImFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImJ1dHRvbkFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiYWN0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZWRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgaW5hY3RpdmVkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIGxvYWRpbmdcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwibG9hZGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImJ1dHRvbkxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgbG9hZGluZ1xyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICBub3QgbG9hZGluZ1xyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBjaGVja2JveC1vcHRpb24gLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnY2hlY2tib3gtb3B0aW9uJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJzdGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgc3RhdGVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwic3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaGVja2JveE9wdGlvblN0YXRlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJzdGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RhdGUgb2YgY2hlY2tib3hPcHRpb25TdGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic3RhdGVcIj5cclxuICAgICAgICAgICAgICAgICAge3sgc3RhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICB0eXBlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInR5cGVcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaGVja2JveE9wdGlvblR5cGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgY2hlY2tib3hPcHRpb25UeXBlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cIm9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgb3B0aW9uXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA5MHB4OyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XCJcclxuICAgICAgICAgICAgICAgIGlkPVwib3B0aW9uXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHk+XHJcbntcclxuICBuYW1lOiB7eyBjaGVja2JveE9wdGlvbk9wdGlvbi5uYW1lIH19LFxyXG4gIHZhbHVlOiB7eyBjaGVja2JveE9wdGlvbk9wdGlvbi52YWx1ZSB9fVxyXG59PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImNoZWNrZWRDaGFuZ2VcIj5cclxuICAgICAgICAgICAgICAgIGNoZWNrZWRDaGFuZ2VcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDcwcHg7IHdpZHRoOiAyMjBweDsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyBmb250LWZhbWlseTogbW9ub3NwYWNlO1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiY2hlY2tlZENoYW5nZVwiXHJcbiAgICAgICAgICAgICAgICByZWFkb25seT5cclxue3sgY2hlY2tib3hPcHRpb25DaGVja2VkIH19XHJcbnt7IGNoZWNrYm94T3B0aW9uT3B0aW9uLnZhbHVlIH19e3sgIWNoZWNrYm94T3B0aW9uQ2hlY2tlZCA/ICcgbsOjbycgOiAnJyB9fSBzZWxlY2lvbmFkYS48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDwhLS0gZGl2aWRlciAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdkaXZpZGVyJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJtb2RlXCI+XHJcbiAgICAgICAgICAgICAgICBtb2RlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cIm1vZGVcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkaXZpZGVyTW9kZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwibW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbW9kZSBvZiBkaXZpZGVyTW9kZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBtb2RlIH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRpdmlkZXJUeXBlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIGRpdmlkZXJUeXBlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiYXhpc1wiPlxyXG4gICAgICAgICAgICAgICAgYXhpc1xyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJheGlzXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGl2aWRlckF4aXNcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImF4aXNcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGF4aXMgb2YgZGl2aWRlckF4aXNlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJheGlzXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGF4aXMgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICAgICAgZGVuc2l0eVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkZW5zaXR5XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGl2aWRlckRlbnNpdHlcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRlbnNpdHlcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRlbnNpdHkgb2YgZGl2aWRlckRlbnNpdGllc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJkZW5zaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRlbnNpdHkgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDwhLS0gaGVhZGVyIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2hlYWRlcidcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIHRpdGxlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaGVhZGVyVGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJkZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJoZWFkZXJEZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInZpZXdNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICB2aWV3TW9kZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJoZWFkZXJWaWV3TW9kZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidmlld01vZGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZpZXdNb2RlIG9mIGhlYWRlclZpZXdNb2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyB2aWV3TW9kZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJ1c2VyTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgdXNlck5hbWVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJoZWFkZXJVc2VyTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXNlck5hbWVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInRpbWVPdXRcIj5cclxuICAgICAgICAgICAgICAgIHRpbWVPdXRcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhlYWRlclRpbWVPdXRcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInRpbWVPdXRcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImxvZ29Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICBsb2dvTW9kZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJoZWFkZXJMb2dvVmlld01vZGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImxvZ29Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsb2dvTW9kZSBvZiBoZWFkZXJMb2dvVmlld01vZGVzXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImxvZ29Nb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGxvZ29Nb2RlIH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tIGljb24gLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZENvbXBvbmVudC5uYW1lID09PSAnaWNvbidcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiaWNvbk5hbWVcIj5cclxuICAgICAgICAgICAgICAgIGljb25OYW1lXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaWNvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImljb25OYW1lXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJmYW1pbHlOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICBmYW1pbHlOYW1lXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaWNvbkZhbWlseU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImZhbWlseU5hbWVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImNsYXNzTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaWNvbkNsYXNzTmFtZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiY2xhc3NOYW1lXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJzaXplXCI+XHJcbiAgICAgICAgICAgICAgICBzaXplXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaWNvblNpemVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInNpemVcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICBjb2xvclxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDBweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImljb25Db2xvclwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiY29sb3JcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tIGlucHV0IC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2lucHV0J1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgbGFiZWxcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dExhYmVsXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwic3RhdGVcIj5cclxuICAgICAgICAgICAgICAgIHN0YXRlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN0YXRlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwic3RhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgaW5wdXRTdGF0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImRlbnNpdHlcIj5cclxuICAgICAgICAgICAgICAgIGRlbnNpdHlcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiZGVuc2l0eVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0RGVuc2l0eVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGVuc2l0eSBvZiBpbnB1dERlbnNpdGllc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJkZW5zaXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGRlbnNpdHkgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwicGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwicGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImlzcGFzc3dvcmRcIj5cclxuICAgICAgICAgICAgICAgIGlzcGFzc3dvcmRcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaXNwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0SXNQYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiaXNwYXNzd29yZFwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICBpc3Bhc3N3b3JkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIG5vdCBpc3Bhc3N3b3JkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0RGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIGVuYWJsZWRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwibGFiZWxJbmxpbmVcIj5cclxuICAgICAgICAgICAgICAgIGxhYmVsSW5saW5lXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cImxhYmVsSW5saW5lXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRMYWJlbElubGluZVwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwibGFiZWxJbmxpbmVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgcm93XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIGNvbHVtblxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJpY29uQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICBpY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRCdXR0b25JY29uXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpY29uQnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJpY29uQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICBpY29uXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRJY29uXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJpY29uXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBpdGVtIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2l0ZW0nXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgIGNvbnRlbnRcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtQ29udGVudFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgdHlwZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0eXBlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2YgaXRlbVR5cGVzXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAge3sgdHlwZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgZGlzYWJsZWRcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICBlbmFibGVkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwidXJsXCI+XHJcbiAgICAgICAgICAgICAgICB1cmxcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtVXJsXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ1cmxcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW1TZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwic2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgbm90IHNlbGVjdGVkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImhhc0RpdmlkZXJcIj5cclxuICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiaGFzRGl2aWRlclwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW1IYXNEaXZpZGVyXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJoYXNEaXZpZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIGRpdmlkZXJcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgbm90IGRpdmlkZXJcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDwhLS0gbG9hZGluZyAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdsb2FkaW5nJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgZm9yPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICBkZW5zaXR5XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibG9hZGluZ0RlbnNpdHlcIlxyXG4gICAgICAgICAgICBuYW1lPVwiZGVuc2l0eVwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRlbnNpdHkgb2YgbG9hZGluZ0RlbnNpdGllc1wiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImRlbnNpdHlcIj5cclxuICAgICAgICAgICAgICB7eyBkZW5zaXR5IH19XHJcbiAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBmb3I9XCJwcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICBwcm9ncmVzc1xyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibG9hZGluZ1Byb2dyZXNzXCJcclxuICAgICAgICAgICAgbmFtZT1cInByb2dyZXNzXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBsb2dvIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ2xvZ28nXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBmb3I9XCJ2aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICB2aWV3TW9kZVxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxvZ29WaWV3TW9kZVwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJ2aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZpZXdNb2RlIG9mIGxvZ29WaWV3TW9kZXNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJ2aWV3TW9kZVwiPlxyXG4gICAgICAgICAgICAgIHt7IHZpZXdNb2RlIH19XHJcbiAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBmb3I9XCJ3aWR0aFwiPlxyXG4gICAgICAgICAgICB3aWR0aFxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibG9nb1dpZHRoXCJcclxuICAgICAgICAgICAgbmFtZT1cIndpZHRoXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBmb3I9XCJjbGlja0V2ZW50XCI+XHJcbiAgICAgICAgICAgIGNsaWNrRXZlbnRcclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgaWQ9XCJsb2dvSXNDbGlja2FibGVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxvZ29Jc0NsaWNrYWJsZVwiXHJcbiAgICAgICAgICAgIG5hbWU9XCJjbGlja0V2ZW50XCI+XHJcbiAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIGNsaWPDoXZlbFxyXG4gICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgIG7Do28gY2xpY8OhdmVsXHJcbiAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSBtZXNzYWdlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRDb21wb25lbnQubmFtZSA9PT0gJ21lc3NhZ2UnXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1lc3NhZ2VUeXBlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIG1lc3NhZ2VUeXBlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHR5cGUgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwic3RhdGVcIj5cclxuICAgICAgICAgICAgICAgIHN0YXRlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN0YXRlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZVN0YXRlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJzdGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3RhdGUgb2YgbWVzc2FnZVN0YXRlc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBzdGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJtZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZU1lc3NhZ2VcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cIm1lc3NhZ2VcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAyMDBweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1lc3NhZ2VEZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxjZmMtYnV0dG9uIChjbGljayk9XCJtZXNzYWdlLm9wZW5NZXNzYWdlKClcIiBsYWJlbD1cIm9wZW5cIj48L2NmYy1idXR0b24+XHJcbiAgICAgICAgICAgIDxjZmMtYnV0dG9uIChjbGljayk9XCJtZXNzYWdlLmNsb3NlTWVzc2FnZSgpXCIgbGFiZWw9XCJjbG9zZVwiPjwvY2ZjLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDwhLS0gc2lnbi1pbiAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICdzaWduLWluJ1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgbGFiZWxcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzaWduSW5MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwibGFiZWxcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwidHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNpZ25JblR5cGVcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInR5cGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHR5cGUgb2Ygc2lnbkluVHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImRlbnNpdHlcIj5cclxuICAgICAgICAgICAgICAgIGRlbnNpdHlcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiZGVuc2l0eVwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNpZ25JbkRlbnNpdHlcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRlbnNpdHlcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRlbnNpdHkgb2Ygc2lnbkluRGVuc2l0aWVzXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImRlbnNpdHlcIj5cclxuICAgICAgICAgICAgICAgICAge3sgZGVuc2l0eSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJtb2RlXCI+XHJcbiAgICAgICAgICAgICAgICBtb2RlXHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBpZD1cIm1vZGVcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzaWduSW5Nb2RlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJtb2RlXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtb2RlIG9mIHNpZ25Jbk1vZGVzXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAge3sgbW9kZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCJcclxuICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxyXG4gICAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICBmb3I9XCJoYXNEaXZpZGVyXCI+XHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNpZ25JbkRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICBlbmFibGVkXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICBibG9ja1xyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJibG9ja1wiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNpZ25JbkJsb2NrXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICBibG9ja1xyXG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICBub3QgYmxvY2tcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICBjaXJjbGVcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxzZWxlY3RcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1jb21wb25lbnRfX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIGlkPVwiY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2lnbkluQ2lyY2xlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJjaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgY2lyY2xlXHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDxvcHRpb25cclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIG5vdCBjaXJjbGVcclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwiZXh0ZXJuYWxJbWFnZVVybFwiPlxyXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxJbWFnZVVybFxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAzMDBweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNpZ25JbkV4dGVybmFsSW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImV4dGVybmFsSW1hZ2VVcmxcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cImV4dGVybmFsTGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIGV4dGVybmFsTGFiZWxcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzaWduSW5FeHRlcm5hbExhYmVsXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJleHRlcm5hbExhYmVsXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPCEtLSB0aW1lciAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQ29tcG9uZW50Lm5hbWUgPT09ICd0aW1lcidcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiPlxyXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcclxuICAgICAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgZm9yPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgdHlwZVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0eXBlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGltZXJUeXBlXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0eXBlXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0eXBlIG9mIHRpbWVyVHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyB0eXBlIH19XHJcbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0R2FwPVwiMC41cmVtXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInRpbWVyXCI+XHJcbiAgICAgICAgICAgICAgICB0aW1lclxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3QtY29tcG9uZW50X19pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDBweCAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRpbWVyXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0aW1lclwiXHJcbiAgICAgICAgICAgICAgICByZWFkb25seT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGZvcj1cInRpbWVyQ3JpdGljYWxcIj5cclxuICAgICAgICAgICAgICAgIHRpbWVyQ3JpdGljYWxcclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwcHggIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0aW1lckNyaXRpY2FsXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0aW1lckNyaXRpY2FsXCJcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiXHJcbiAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgIGZvcj1cInRpbWVyXCI+XHJcbiAgICAgICAgICAgICAgdGltZXJcclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LWNvbXBvbmVudF9faW5wdXRcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7IGhlaWdodDogbWF4LWNvbnRlbnQ7XCJcclxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICBuYW1lPVwidGltZXJcIlxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICAgIHRpbWVFdmVudCBkaXNwYXJlZCBpbiB7eyB0aW1lciB9fSBzZWNvbmRzLlxyXG4gICAgICAgICAgICA8L3RleHRhcmVhPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbm9Db21wb25lbnRTZWxlY3RlZD5cclxuICA8ZGl2PlxyXG4gICAgPGg0XHJcbiAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxyXG4gICAgICBOZW5odW0gY29tcG9uZW50ZSBzZWxlY2lvbmFkbyBhaW5kYVxyXG4gICAgPC9oND5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19